math: Ensure declarations of math functions.
[gnulib.git] / ChangeLog
1 2012-03-06  Bruno Haible  <bruno@clisp.org>
2
3         math: Ensure declarations of math functions.
4         * modules/acosf (Depends-on): Add 'extensions'.
5         * modules/asinf (Depends-on): Likewise.
6         * modules/atan2f (Depends-on): Likewise.
7         * modules/atanf (Depends-on): Likewise.
8         * modules/cbrt (Depends-on): Likewise.
9         * modules/cbrtf (Depends-on): Likewise.
10         * modules/cbrtl (Depends-on): Likewise.
11         * modules/copysignf (Depends-on): Likewise.
12         * modules/copysignl (Depends-on): Likewise.
13         * modules/cosf (Depends-on): Likewise.
14         * modules/coshf (Depends-on): Likewise.
15         * modules/expf (Depends-on): Likewise.
16         * modules/fabsf (Depends-on): Likewise.
17         * modules/fabsl (Depends-on): Likewise.
18         * modules/fmaf (Depends-on): Likewise.
19         * modules/fmal (Depends-on): Likewise.
20         * modules/fmodf (Depends-on): Likewise.
21         * modules/fmodl (Depends-on): Likewise.
22         * modules/frexpf (Depends-on): Likewise.
23         * modules/frexpl (Depends-on): Likewise.
24         * modules/hypot (Depends-on): Likewise.
25         * modules/hypotf (Depends-on): Likewise.
26         * modules/hypotl (Depends-on): Likewise.
27         * modules/ldexpf (Depends-on): Likewise.
28         * modules/ldexpl (Depends-on): Likewise.
29         * modules/log10f (Depends-on): Likewise.
30         * modules/log10l (Depends-on): Likewise.
31         * modules/log1p (Depends-on): Likewise.
32         * modules/logb (Depends-on): Likewise.
33         * modules/logf (Depends-on): Likewise.
34         * modules/modff (Depends-on): Likewise.
35         * modules/modfl (Depends-on): Likewise.
36         * modules/powf (Depends-on): Likewise.
37         * modules/remainderf (Depends-on): Likewise.
38         * modules/remainderl (Depends-on): Likewise.
39         * modules/rintf (Depends-on): Likewise.
40         * modules/rintl (Depends-on): Likewise.
41         * modules/sinf (Depends-on): Likewise.
42         * modules/sinhf (Depends-on): Likewise.
43         * modules/sqrtf (Depends-on): Likewise.
44         * modules/tanf (Depends-on): Likewise.
45         * modules/tanhf (Depends-on): Likewise.
46         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
47         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
48         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
49         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
50         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
51         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
52         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
53         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
54         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
55         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
56         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
57         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
58         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
59         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
60         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
61         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
62         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
63         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
64         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
65         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
66         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
67         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
68         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
69         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
70         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
71         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
72         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
73         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
74         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
75         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
76         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
77         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
78         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
79         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
80         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
81         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
82         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
83         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
84         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
85         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
86         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
87
88 2012-03-06  Bruno Haible  <bruno@clisp.org>
89
90         math: Update module names in warnings.
91         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
92         tanl): Use specific module name in warn-on-use warning.
93
94 2012-03-06  Bruno Haible  <bruno@clisp.org>
95
96         expl: Simplify computation.
97         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
98
99 2012-03-05  Bruno Haible  <bruno@clisp.org>
100
101         exp* tests: More tests.
102         * tests/test-exp.h: New file.
103         * tests/test-exp.c: Include <float.h> and test-exp.h.
104         (main): Invoke test_function.
105         * tests/test-expf.c: Include <float.h> and test-exp.h.
106         (main): Invoke test_function.
107         * tests/test-expl.c: Include <float.h> and test-exp.h.
108         (main): Invoke test_function.
109         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
110         (Makefile.am): Add randomd.c to test_exp_SOURCES.
111         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
112         (Makefile.am): Add randomf.c to test_expf_SOURCES.
113         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
114         (Depends-on): Add 'float'.
115         (Makefile.am): Add randoml.c to test_expl_SOURCES.
116
117         expl: Fix precision of computed result.
118         * lib/expl.c: Completely rewritten.
119         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
120         (Maintainer): Add me.
121         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
122
123 2012-03-05  Bruno Haible  <bruno@clisp.org>
124
125         cbrt* tests: More tests.
126         * tests/test-cbrt.h: New file.
127         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
128         (main): Invoke test_function.
129         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
130         (main): Invoke test_function.
131         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
132         (main): Invoke test_function.
133         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
134         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
135         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
136         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
137         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
138         (Depends-on): Add 'float'.
139         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
140
141 2012-03-05  Bruno Haible  <bruno@clisp.org>
142
143         hypot* tests: More tests.
144         * tests/test-hypot.h: New file, partially extracted from
145         tests/test-hypotl.c.
146         * tests/test-hypot.c: Include test-hypot.h.
147         (main): Invoke test_function.
148         * tests/test-hypotf.c: Include test-hypot.h.
149         (main): Invoke test_function.
150         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
151         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
152         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
153         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
154         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
155         tests/randomf.c.
156         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
157         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
158         tests/randoml.c.
159         (Depends-on): Add 'fpucw', 'float'.
160         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
161
162 2012-03-05  Bruno Haible  <bruno@clisp.org>
163
164         fpucw: Doc about FreeBSD.
165         * lib/fpucw.h: Mention FreeBSD in comments.
166
167 2012-03-04  Bruno Haible  <bruno@clisp.org>
168
169         sqrt* tests: More tests.
170         * tests/test-sqrt.h: New file.
171         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
172         (main): Invoke test_function.
173         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
174         (main): Invoke test_function.
175         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
176         (main): Invoke test_function.
177         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
178         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
179         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
180         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
181         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
182         (Depends-on): Add 'float'.
183         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
184
185 2012-03-04  Bruno Haible  <bruno@clisp.org>
186
187         remainder* tests: More tests.
188         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
189         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
190         (main): Invoke test_function.
191         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
192         (main): Invoke test_function.
193         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
194         (main): Invoke test_function.
195         * modules/remainder-tests (Files): Add tests/test-remainder.h,
196         tests/randomd.c.
197         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
198         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
199         tests/randomf.c.
200         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
201         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
202         tests/randoml.c.
203         (Depends-on): Add 'float'.
204         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
205
206 2012-03-04  Bruno Haible  <bruno@clisp.org>
207
208         remainder, remainderf, remainderl: Fix computation for large quotients.
209         * lib/remainder.c: Completely rewritten.
210         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
211         USE_FLOAT.
212         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
213         USE_LONG_DOUBLE.
214         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
215         isnand, isinf. Remove round, fma.
216         * modules/remainderf (Files): Add lib/remainder.c.
217         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
218         Remove roundf, fmaf.
219         * modules/remainderl (Files): Add lib/remainder.c.
220         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
221         isinf. Remove roundl, fmal.
222         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
223         REMAINDER_LIBM.
224         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
225         REMAINDERF_LIBM.
226         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
227         REMAINDERL_LIBM.
228
229 2012-03-04  Bruno Haible  <bruno@clisp.org>
230
231         fmod* tests: More tests.
232         * tests/test-fmod.h (my_ldexp): New function.
233         (test_function): Reduce amount of random numbers to test. Add tests
234         of very large quotients x / y.
235         * tests/test-fmod.c (MAX_EXP): New macro.
236         * tests/test-fmodf.c (MAX_EXP): Likewise.
237         * tests/test-fmodl.c (MAX_EXP): Likewise.
238
239 2012-03-04  Bruno Haible  <bruno@clisp.org>
240
241         fmod, fmodl: Fix computation for large quotients x / y.
242         * lib/fmod.c: Completely rewritten.
243         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
244         USE_LONG_DOUBLE.
245         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
246         isnand. Remove fma.
247         * modules/fmodl (Files): Add lib/fmod.c.
248         (Depends-on): Add float, isfinite, signbit, fabsl,
249         frexpl, ldexpl, isnanl. Remove fma.
250         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
251         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
252
253 2012-03-03  Bruno Haible  <bruno@clisp.org>
254
255         fmod* tests: More tests.
256         * tests/test-fmod.h: New file.
257         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
258         (main): Invoke test_function.
259         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
260         (main): Invoke test_function.
261         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
262         (main): Invoke test_function.
263         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
264         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
265         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
266         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
267         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
268         (Depends-on): Add 'float'.
269         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
270
271 2012-03-03  Bruno Haible  <bruno@clisp.org>
272
273         rint* tests: More tests.
274         * tests/test-rint.h: New file, partially extracted from
275         tests/test-rintl.c.
276         * tests/test-rint.c: Include test-rint.h.
277         (main): Invoke test_function.
278         * tests/test-rintf.c: Include test-rint.h.
279         (main): Invoke test_function.
280         * tests/test-rintl.c: Include test-rint.h.
281         (main): Invoke test_function.
282         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
283         (Makefile.am): Add randomd.c to test_rint_SOURCES.
284         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
285         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
286         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
287         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
288
289 2012-03-03  Bruno Haible  <bruno@clisp.org>
290
291         modf* tests: More tests.
292         * tests/test-modf.h: New file.
293         * tests/test-modf.c: Include <float.h> and test-modf.h.
294         (main): Invoke test_function.
295         * tests/test-modff.c: Include <float.h> and test-modf.h.
296         (main): Invoke test_function.
297         * tests/test-modfl.c: Include <float.h> and test-modf.h.
298         (main): Invoke test_function.
299         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
300         (Makefile.am): Add randomd.c to test_modf_SOURCES.
301         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
302         (Makefile.am): Add randomf.c to test_modff_SOURCES.
303         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
304         (Depends-on): Add 'float'.
305         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
306
307 2012-03-03  Bruno Haible  <bruno@clisp.org>
308
309         fabs* tests: More tests.
310         * tests/test-fabs.h: New file, partially extracted from
311         tests/test-fabsl.c.
312         * tests/test-fabs.c (RANDOM): New macro.
313         * tests/test-fabsf.c (RANDOM): New macro.
314         * tests/test-fabsl.c (RANDOM): New macro.
315         * modules/fabs-tests (Files): Add tests/randomd.c.
316         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
317         * modules/fabsf-tests (Files): Add tests/randomf.c.
318         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
319         * modules/fabsl-tests (Files): Add tests/randoml.c.
320         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
321
322 2012-03-03  Bruno Haible  <bruno@clisp.org>
323
324         ldexp* tests: More tests.
325         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
326         * tests/test-ldexp.c (RANDOM): New macro.
327         * tests/test-ldexpf.c (RANDOM): New macro.
328         * tests/test-ldexpl.c (RANDOM): New macro.
329         * modules/ldexp-tests (Files): Add tests/randomd.c.
330         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
331         * modules/ldexpf-tests (Files): Add tests/randomf.c.
332         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
333         * modules/ldexpl-tests (Files): Add tests/randoml.c.
334         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
335
336 2012-03-03  Bruno Haible  <bruno@clisp.org>
337
338         frexp* tests: More tests.
339         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
340         * tests/test-frexp.c (RANDOM): New macro.
341         * tests/test-frexpf.c (RANDOM): New macro.
342         * tests/test-frexpl.c (RANDOM): New macro.
343         * modules/frexp-tests (Files): Add tests/randomd.c.
344         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
345         * modules/frexpf-tests (Files): Add tests/randomf.c.
346         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
347         * modules/frexpl-tests (Files): Add tests/randoml.c.
348         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
349
350 2012-03-03  Bruno Haible  <bruno@clisp.org>
351
352         Support for pseudo-random numbers in tests.
353         * tests/randomf.c: New file.
354         * tests/randomd.c: New file.
355         * tests/randoml.c: New file.
356         * tests/macros.h (randomf, randomd, randoml): New declarations.
357
358 2012-03-03  Bruno Haible  <bruno@clisp.org>
359
360         frexp* tests: Refactor.
361         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
362         * tests/test-frexp.c: Include and use it.
363         * tests/test-frexpf.c: Likewise.
364         * tests/test-frexpl.c: Likewise.
365         * modules/frexp-tests (Files): Add tests/test-frexp.h.
366         * modules/frexpf-tests (Files): Likewise.
367         * modules/frexpl-tests (Files): Likewise.
368
369 2012-03-02  Jim Meyering  <meyering@redhat.com>
370
371         maint: don't specify XZ_OPT=-9ev in dist-related rule
372         Using xz's -9 option is warranted only if you have a very large
373         tarball (see xz's documentation for the sizes vs. presets), and
374         requires 64MiB of memory at decompression time.
375         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
376         Automake's default of just "-e" is fine.  Override on a
377         per-package basis by setting XZ_OPT e.g., in cfg.mk.
378
379 2012-03-01  Eric Blake  <eblake@redhat.com>
380
381         maint.mk: allow announcement for non-gnulib project
382         * maint.mk (announcement): Skip gnulib version if not used.
383
384 2012-03-01  Jim Meyering  <meyering@redhat.com>
385
386         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
387         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
388         envvar settings cannot interfere.  Otherwise, setting envvars like
389         prohibit=foo require=bar, etc. would cause spurious test failures.
390
391 2012-03-01  Eric Blake  <eblake@redhat.com>
392
393         maint.mk: add per-line exclusions to prohibitions
394         * maint.mk (_sc_search_regexp): Add $exclude parameter.
395         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
396         (sc_const_long_option): Use it.
397
398 2012-03-01  Bruno Haible  <bruno@clisp.org>
399
400         Tests for module 'expl-ieee'.
401         * modules/expl-ieee-tests: New file.
402         * tests/test-expl-ieee.c: New file.
403
404         New module 'expl-ieee'.
405         * modules/expl-ieee: New file.
406
407         Tests for module 'exp-ieee'.
408         * modules/exp-ieee-tests: New file.
409         * tests/test-exp-ieee.c: New file.
410
411         New module 'exp-ieee'.
412         * modules/exp-ieee: New file.
413
414         Tests for module 'expf-ieee'.
415         * modules/expf-ieee-tests: New file.
416         * tests/test-expf-ieee.c: New file.
417         * tests/test-exp-ieee.h: New file.
418
419         New module 'expf-ieee'.
420         * modules/expf-ieee: New file.
421
422 2012-02-29  Bruno Haible  <bruno@clisp.org>
423
424         cbrtl-ieee: Work around test failure on IRIX 6.5.
425         * m4/cbrtl-ieee.m4: New file.
426         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
427         test whether cbrtl works with a minus zero argument. Replace it if not.
428         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
429         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
430         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
431         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
432         (Depends-on): Update conditions.
433         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
434         m4/signbit.m4.
435         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
436         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
437         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
438
439         Tests for module 'cbrtl-ieee'.
440         * modules/cbrtl-ieee-tests: New file.
441         * tests/test-cbrtl-ieee.c: New file.
442
443         New module 'cbrtl-ieee'.
444         * modules/cbrtl-ieee: New file.
445
446         Tests for module 'cbrt-ieee'.
447         * modules/cbrt-ieee-tests: New file.
448         * tests/test-cbrt-ieee.c: New file.
449
450         New module 'cbrt-ieee'.
451         * modules/cbrt-ieee: New file.
452
453         Tests for module 'cbrtf-ieee'.
454         * modules/cbrtf-ieee-tests: New file.
455         * tests/test-cbrtf-ieee.c: New file.
456         * tests/test-cbrt-ieee.h: New file.
457
458         New module 'cbrtf-ieee'.
459         * modules/cbrtf-ieee: New file.
460
461 2012-02-29  Bruno Haible  <bruno@clisp.org>
462
463         cbrtf: Work around bug in IRIX 6.5 system function.
464         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
465         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
466         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
467         work.
468         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
469         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
470         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
471         (Depends-on): Update conditions.
472         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
473
474 2012-02-29  Bruno Haible  <bruno@clisp.org>
475
476         Tests for module 'cbrtl'.
477         * modules/cbrtl-tests: New file.
478         * tests/test-cbrtl.c: New file.
479
480         New module 'cbrtl'.
481         * lib/math.in.h (cbrtl): New declaration.
482         * lib/cbrtl.c: New file.
483         * m4/cbrtl.m4: New file.
484         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
485         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
486         HAVE_DECL_CBRTL.
487         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
488         HAVE_DECL_CBRTL.
489         * modules/cbrtl: New file.
490         * tests/test-math-c++.cc: Check the declaration of cbrtl.
491         * doc/posix-functions/cbrtl.texi: Mention the new module.
492
493 2012-02-29  Bruno Haible  <bruno@clisp.org>
494
495         Tests for module 'cbrtf'.
496         * modules/cbrtf-tests: New file.
497         * tests/test-cbrtf.c: New file.
498
499         New module 'cbrtf'.
500         * lib/math.in.h (cbrtf): New declaration.
501         * lib/cbrtf.c: New file.
502         * m4/cbrtf.m4: New file.
503         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
504         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
505         HAVE_DECL_CBRTF.
506         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
507         HAVE_DECL_CBRTF.
508         * modules/cbrtf: New file.
509         * tests/test-math-c++.cc: Check the declaration of cbrtf.
510         * doc/posix-functions/cbrtf.texi: Mention the new module.
511
512 2012-02-29  Bruno Haible  <bruno@clisp.org>
513
514         cbrt: Provide replacement on MSVC and Minix.
515         * lib/math.in.h (cbrt): New declaration.
516         * lib/cbrt.c: New file.
517         * m4/cbrt.m4: New file.
518         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
519         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
520         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
521         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
522         (Depends-on): Add dependencies.
523         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
524         * tests/test-math-c++.cc: Check the declaration of cbrt.
525         * doc/posix-functions/cbrt.texi: Mention that the module provides a
526         replacement.
527
528 2012-02-29  Bruno Haible  <bruno@clisp.org>
529
530         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
531         * m4/hypotl-ieee.m4: New file.
532         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
533         test whether hypotl works with mixed NaN and Infinity arguments.
534         Replace it if not.
535         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
537         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
538         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
539         (Depends-on): Update conditions.
540         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
541         (Depends-on): Add hypot-ieee.
542         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
543         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
544
545         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
546         * m4/hypotf-ieee.m4: New file.
547         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
548         test whether hypotf works with mixed NaN and Infinity arguments.
549         Replace it if not.
550         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
551         (Depends-on): Add hypot-ieee.
552         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
553         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
554
555         hypot-ieee: Work around test failure on OSF/1 and native Windows.
556         * lib/math.in.h (hypot): New declaration.
557         * lib/hypot.c: New file.
558         * m4/hypot-ieee.m4: New file.
559         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
560         whether hypot works with mixed NaN and Infinity arguments. Replace it
561         if not.
562         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
563         REPLACE_HYPOT.
564         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
565         * modules/hypot (Files): Add lib/hypot.c.
566         (Depends-on): Add dependencies.
567         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
568         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
569         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
570         * tests/test-math-c++.cc: Check the declaration of hypot.
571         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
572
573         Tests for module 'hypotl-ieee'.
574         * modules/hypotl-ieee-tests: New file.
575         * tests/test-hypotl-ieee.c: New file.
576
577         New module 'hypotl-ieee'.
578         * modules/hypotl-ieee: New file.
579
580         Tests for module 'hypot-ieee'.
581         * modules/hypot-ieee-tests: New file.
582         * tests/test-hypot-ieee.c: New file.
583
584         New module 'hypot-ieee'.
585         * modules/hypot-ieee: New file.
586
587         Tests for module 'hypotf-ieee'.
588         * modules/hypotf-ieee-tests: New file.
589         * tests/test-hypotf-ieee.c: New file.
590         * tests/test-hypot-ieee.h: New file.
591
592         New module 'hypotf-ieee'.
593         * modules/hypotf-ieee: New file.
594
595 2012-02-29  Bruno Haible  <bruno@clisp.org>
596
597         Remove unused variables.
598         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
599         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
600         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
601         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
602
603 2012-02-29  Eric Blake  <eblake@redhat.com>
604
605         termios: fix pid_t always, not just for tcgetsid
606         * doc/posix-headers/termios.texi (termios.h): Mention problem.
607         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
608         just when building tcgetsid.
609
610 2012-02-29  Bruno Haible  <bruno@clisp.org>
611
612         Tests for module 'hypotl'.
613         * modules/hypotl-tests: New file.
614         * tests/test-hypotl.c: New file.
615
616         New module 'hypotl'.
617         * lib/math.in.h (hypotl): New declaration.
618         * lib/hypotl.c: New file.
619         * m4/hypotl.m4: New file.
620         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
621         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
622         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
623         * modules/hypotl: New file.
624         * tests/test-math-c++.cc: Check the hypotl declaration.
625         * doc/posix-functions/hypotl.texi: Mention the new module.
626
627 2012-02-29  Eric Blake  <eblake@redhat.com>
628
629         tcgetsid: fix cygwin header bug
630         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
631
632         docs: update cygwin progress
633         * doc/posix-functions/llround.texi (llround): Added in cygwin
634         1.7.8.
635         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
636         * doc/glibc-functions/program_invocation_name.texi
637         (program_invocation_name): Likewise.
638         * doc/glibc-functions/program_invocation_short_name.texi
639         (program_invocation_short_name): Likewise.
640         * doc/glibc-functions/madvise.texi (madvise): Likewise.
641         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
642         Likewise.
643         * doc/posix-functions/pthread_spin_destroy.texi
644         (pthread_spin_destroy): Added in cygwin 1.7.10.
645         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
646         Likewise.
647         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
648         Likewise.
649         * doc/posix-functions/pthread_spin_trylock.texi
650         (pthread_spin_trylock): Likewise.
651         * doc/posix-functions/pthread_spin_unlock.texi
652         (pthread_spin_unlock): Likewise.
653         * doc/posix-functions/pthread_setschedprio.texi
654         (pthread_setschedprio): Likewise.
655         * doc/posix-functions/pthread_attr_getstack.texi
656         (pthread_attr_getstack): Likewise.
657         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
658         (pthread_attr_getstackaddr): Likewise.
659         * doc/glibc-functions/pthread_getattr_np.texi
660         (pthread_getattr_np): Likewise.
661         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
662         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
663         * doc/posix-functions/clock_settime.texi (clock_settime):
664         Likewise.
665         * doc/posix-functions/pthread_attr_getguardsize.texi
666         (pthread_attr_getguardsize): Likewise.
667         * doc/posix-functions/pthread_attr_setguardsize.texi
668         (pthread_attr_setguardsize): Likewise.
669         * doc/posix-functions/pthread_attr_setstack.texi
670         (pthread_attr_setstack): Likewise.
671         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
672         (pthread_attr_setstackaddr): Likewise.
673         * doc/posix-functions/clock_getcpuclockid.texi
674         (clock_getcpuclockid): Likewise.
675         * doc/posix-functions/pthread_getcpuclockid.texi
676         (pthread_getcpuclockid): Likewise.
677         * doc/glibc-functions/error.texi (error): Likewise.
678         * doc/glibc-functions/error_at_line.texi (error_at_line):
679         Likewise.
680         * doc/glibc-functions/error_message_count.texi
681         (error_message_count): Likewise.
682         * doc/glibc-functions/error_one_per_line.texi
683         (error_one_per_line): Likewise.
684         * doc/glibc-functions/error_print_progname.texi
685         (error_print_progname): Likewise.
686         * doc/posix-functions/pthread_condattr_getclock.texi
687         (pthread_condattr_getclock): Likewise.
688         * doc/posix-functions/pthread_condattr_setclock.texi
689         (pthread_condattr_setclock): Likewise.
690         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
691         Likewise.
692         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
693         * doc/glibc-functions/getpt.texi (getpt): Likewise.
694         * doc/glibc-functions/get_current_dir_name.texi
695         (get_current_dir_name): Likewise.
696         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
697         Likewise.
698         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
699         wrong return type.
700         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
701         1.7.11.
702
703 2012-02-29  Bruno Haible  <bruno@clisp.org>
704
705         Tests for module 'hypotf'.
706         * modules/hypotf-tests: New file.
707         * tests/test-hypotf.c: New file.
708
709         New module 'hypotf'.
710         * lib/math.in.h (hypotf): New declaration.
711         * lib/hypotf.c: New file.
712         * m4/hypotf.m4: New file.
713         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
714         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
715         REPLACE_HYPOTF.
716         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
717         REPLACE_HYPOTF.
718         * modules/hypotf: New file.
719         * tests/test-math-c++.cc: Check the hypotf declaration.
720         * doc/posix-functions/hypotf.texi: Mention the new module.
721
722         hypot: Prepare for hypotf module.
723         * m4/hypot.m4: New file.
724         * modules/hypot (Files): Add m4/hypot.m4.
725         (configure.ac): Invoke gl_FUNC_HYPOT.
726
727 2012-02-29  Bruno Haible  <bruno@clisp.org>
728
729         hypot tests: More tests.
730         * tests/test-hypot.c: Include <float.h>.
731         (main): Add tests about overflow and underflow.
732
733 2012-02-29  Bruno Haible  <bruno@clisp.org>
734
735         math code: Add comments.
736         * lib/acosl.c: Add comment about related glibc source files.
737         * lib/asinl.c: Likewise.
738         * lib/atanl.c: Likewise.
739         * lib/expl.c: Likewise.
740         * lib/logl.c: Likewise.
741         * lib/sincosl.c: Likewise.
742         * lib/sinl.c: Likewise.
743         * lib/tanl.c: Likewise.
744         * lib/trigl.c: Likewise.
745         * lib/cosl.c: Likewise. Fix comments.
746
747 2012-02-28  Bruno Haible  <bruno@clisp.org>
748
749         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
750         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
751         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
752         HUGE_VALL are defined.
753         (numeric_equald): Renamed from numeric_equal.
754         (numeric_equalf, numeric_equall): New functions.
755         (main): Check also HUGE_VALF, HUGE_VALL.
756         * modules/math-tests (Files): Add tests/macros.h.
757         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
758         HUGE_VALL.
759
760 2012-02-28  Bruno Haible  <bruno@clisp.org>
761
762         doc: Move ISO C11 feature notes into POSIX chapters.
763         * doc/posix-functions/aligned_alloc.texi: Renamed from
764         doc/glibc-functions/aligned_alloc.texi.
765         * doc/posix-functions/quick_exit.texi: Renamed from
766         doc/glibc-functions/quick_exit.texi.
767         * doc/posix-headers/uchar.texi: Renamed from
768         doc/glibc-headers/uchar.texi.
769         * doc/posix-functions/c16rtomb.texi: Renamed from
770         doc/glibc-functions/c16rtomb.texi.
771         * doc/posix-functions/c32rtomb.texi: Renamed from
772         doc/glibc-functions/c32rtomb.texi.
773         * doc/posix-functions/mbrtoc16.texi: Renamed from
774         doc/glibc-functions/mbrtoc16.texi.
775         * doc/posix-functions/mbrtoc32.texi: Renamed from
776         doc/glibc-functions/mbrtoc32.texi.
777         * doc/gnulib.texi: Update.
778         (Glibc uchar.h): Remove section.
779         Suggested by Eric Blake.
780
781 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
782
783         stdnoreturn: port to MSVC better
784         MSVC standard headers use __declspec(noreturn), so #define noreturn
785         to empty on that platform.  Reported by Bruno Haible in
786         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
787         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
788         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
789
790 2012-02-28  Bruno Haible  <bruno@clisp.org>
791
792         doc: Mention new glibc headers and functions.
793         * doc/glibc-headers/uchar.texi: New file.
794         * doc/glibc-functions/aligned_alloc.texi: New file.
795         * doc/glibc-functions/c16rtomb.texi: New file.
796         * doc/glibc-functions/c32rtomb.texi: New file.
797         * doc/glibc-functions/clock_adjtime.texi: New file.
798         * doc/glibc-functions/fanotify_init.texi: New file.
799         * doc/glibc-functions/fanotify_mark.texi: New file.
800         * doc/glibc-functions/inet6_opt_append.texi: New file.
801         * doc/glibc-functions/inet6_opt_find.texi: New file.
802         * doc/glibc-functions/inet6_opt_finish.texi: New file.
803         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
804         * doc/glibc-functions/inet6_opt_init.texi: New file.
805         * doc/glibc-functions/inet6_opt_next.texi: New file.
806         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
807         * doc/glibc-functions/inet6_rth_add.texi: New file.
808         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
809         * doc/glibc-functions/inet6_rth_init.texi: New file.
810         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
811         * doc/glibc-functions/inet6_rth_segments.texi: New file.
812         * doc/glibc-functions/inet6_rth_space.texi: New file.
813         * doc/glibc-functions/login.texi: New file.
814         * doc/glibc-functions/mbrtoc16.texi: New file.
815         * doc/glibc-functions/mbrtoc32.texi: New file.
816         * doc/glibc-functions/name_to_handle_at.texi: New file.
817         * doc/glibc-functions/ntp_gettimex.texi: New file.
818         * doc/glibc-functions/open_by_handle_at.texi: New file.
819         * doc/glibc-functions/prlimit.texi: New file.
820         * doc/glibc-functions/process_vm_readv.texi: New file.
821         * doc/glibc-functions/process_vm_writev.texi: New file.
822         * doc/glibc-functions/recvmmsg.texi: New file.
823         * doc/glibc-functions/scandirat.texi: New file.
824         * doc/glibc-functions/sendmmsg.texi: New file.
825         * doc/glibc-functions/setns.texi: New file.
826         * doc/glibc-functions/timespec_get.texi: New file.
827         * doc/gnulib.texi: Include them.
828         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
829         sections.
830         Reported by Eric Blake.
831
832 2012-02-28  Bruno Haible  <bruno@clisp.org>
833
834         Avoid compilation errors with MSVC option -fp:strict.
835         * lib/floor.c: Use MSVC specific pragma fenv_access.
836         * lib/ceil.c: Likewise.
837         * lib/trunc.c: Likewise.
838         * lib/round.c: Likewise.
839         * lib/rint.c: Likewise.
840         * lib/fma.c: Likewise.
841         * lib/integer_length.c: Likewise.
842         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
843         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
844         * tests/test-floor2.c: Likewise.
845         * tests/test-floorf2.c: Likewise.
846         * tests/test-ceil2.c: Likewise.
847         * tests/test-ceilf2.c: Likewise.
848         * tests/test-trunc2.c: Likewise.
849         * tests/test-truncf2.c: Likewise.
850         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
851
852 2012-02-27  Bruno Haible  <bruno@clisp.org>
853
854         Tests for module 'sqrtl-ieee'.
855         * modules/sqrtl-ieee-tests: New file.
856         * tests/test-sqrtl-ieee.c: New file.
857
858         New module 'sqrtl-ieee'.
859         * modules/sqrtl-ieee: New file.
860
861         Tests for module 'sqrt-ieee'.
862         * modules/sqrt-ieee-tests: New file.
863         * tests/test-sqrt-ieee.c: New file.
864
865         New module 'sqrt-ieee'.
866         * modules/sqrt-ieee: New file.
867
868         Tests for module 'sqrtf-ieee'.
869         * modules/sqrtf-ieee-tests: New file.
870         * tests/test-sqrtf-ieee.c: New file.
871         * tests/test-sqrt-ieee.h: New file.
872
873         New module 'sqrtf-ieee'.
874         * modules/sqrtf-ieee: New file.
875
876 2012-02-27  Bruno Haible  <bruno@clisp.org>
877
878         remainderl-ieee: Work around test failure on OSF/1.
879         * m4/remainderl-ieee.m4: New file.
880         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
881         present, test whether remainderl works with a zero second argument.
882         Replace it if not.
883         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
884         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
885         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
886         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
887         (Depends-on): Update conditions.
888         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
889         (Depends-on): Add remainder-ieee.
890         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
891         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
892         module.
893
894         remainderf-ieee: Work around test failure on OSF/1.
895         * m4/remainderf-ieee.m4: New file.
896         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
897         present, test whether remainderf works with a zero second argument.
898         Replace it if not.
899         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
901         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
902         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
903         (Depends-on): Update conditions.
904         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
905         (Depends-on): Add remainder-ieee.
906         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
907         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
908         module.
909
910         remainder-ieee: Work around test failure on OSF/1.
911         * m4/remainder-ieee.m4: New file.
912         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
913         present, test whether remainder works with a zero second argument.
914         Replace it if not.
915         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
917         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
918         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
919         (Depends-on): Update dependencies.
920         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
921         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
922         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
923
924         Tests for module 'remainderl-ieee'.
925         * modules/remainderl-ieee-tests: New file.
926         * tests/test-remainderl-ieee.c: New file.
927
928         New module 'remainderl-ieee'.
929         * modules/remainderl-ieee: New file.
930
931         Tests for module 'remainder-ieee'.
932         * modules/remainder-ieee-tests: New file.
933         * tests/test-remainder-ieee.c: New file.
934
935         New module 'remainder-ieee'.
936         * modules/remainder-ieee: New file.
937
938         Tests for module 'remainderf-ieee'.
939         * modules/remainderf-ieee-tests: New file.
940         * tests/test-remainderf-ieee.c: New file.
941         * tests/test-remainder-ieee.h: New file.
942
943         New module 'remainderf-ieee'.
944         * modules/remainderf-ieee: New file.
945
946 2012-02-27  Bruno Haible  <bruno@clisp.org>
947
948         modff, modfl: Fix configure syntax error.
949         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
950         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
951
952 2012-02-27  Bruno Haible  <bruno@clisp.org>
953
954         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
955         * m4/fmodl-ieee.m4: New file.
956         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
957         whether fmodl works with zero arguments. Replace it if not.
958         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
959         (Depends-on): Add fmod-ieee.
960         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
961         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
962
963         fmodf-ieee: Work around test failure on OSF/1.
964         * m4/fmodf-ieee.m4: New file.
965         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
966         whether fmodf works with zero arguments. Replace it if not.
967         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
968         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
969         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
970         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
971         (Depends-on): Update dependencies.
972         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
973         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
974         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
975
976         fmodf-ieee: Work around test failure on MSVC 9.
977         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
978         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
979
980         fmod-ieee: Work around test failures on OSF/1, mingw.
981         * m4/fmod-ieee.m4: New file.
982         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
983         whether fmod works with zero arguments. Replace it if not.
984         * lib/math.in.h (fmod): New declaration.
985         * lib/fmod.c: New file.
986         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
987         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
988         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
989         * modules/fmod (Files): Add lib/fmod.c.
990         (Depends-on): Add math, isinf, trunc, fma.
991         (configure.ac): Arrange to compile lib/fmod.c if needed.
992         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
993         m4/signbit.m4.
994         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
995         * tests/test-math-c++.cc: Check the declaration of fmod.
996         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
997
998         fmodl-ieee: Fix test failures.
999         * lib/fmodl.c (fmodl): Treat Inf specially.
1000         * modules/fmodl (Depends-on): Add isinf.
1001
1002         Tests for module 'fmodl-ieee'.
1003         * modules/fmodl-ieee-tests: New file.
1004         * tests/test-fmodl-ieee.c: New file.
1005
1006         New module 'fmodl-ieee'.
1007         * modules/fmodl-ieee: New file.
1008
1009         Tests for module 'fmod-ieee'.
1010         * modules/fmod-ieee-tests: New file.
1011         * tests/test-fmod-ieee.c: New file.
1012
1013         New module 'fmod-ieee'.
1014         * modules/fmod-ieee: New file.
1015
1016         Tests for module 'fmodf-ieee'.
1017         * modules/fmodf-ieee-tests: New file.
1018         * tests/test-fmodf-ieee.c: New file.
1019         * tests/test-fmod-ieee.h: New file.
1020
1021         New module 'fmodf-ieee'.
1022         * modules/fmodf-ieee: New file.
1023
1024 2012-02-27  Bruno Haible  <bruno@clisp.org>
1025
1026         Tests for module 'rintl-ieee'.
1027         * modules/rintl-ieee-tests: New file.
1028         * tests/test-rintl-ieee.c: New file.
1029
1030         New module 'rintl-ieee'.
1031         * modules/rintl-ieee: New file.
1032
1033         Tests for module 'rint-ieee'.
1034         * modules/rint-ieee-tests: New file.
1035         * tests/test-rint-ieee.c: New file.
1036
1037         New module 'rint-ieee'.
1038         * modules/rint-ieee: New file.
1039
1040         Tests for module 'rintf-ieee'.
1041         * modules/rintf-ieee-tests: New file.
1042         * tests/test-rintf-ieee.c: New file.
1043         * tests/test-rint-ieee.h: New file.
1044
1045         New module 'rintf-ieee'.
1046         * modules/rintf-ieee: New file.
1047
1048 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1049
1050         regex: re_search etc. should return -2 when memory exhausted
1051         This bug was uncovered when testing 'grep'.  Without the fix,
1052         re_search and friends return -1 when memory is exhausted, but -1
1053         means no match, and this causes grep to falsely report no-match
1054         instead of memory-exhaustion.  See
1055         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1056         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1057         trouble; this can occur if re_search_internal ran out of memory.
1058
1059 2012-02-26  Bruno Haible  <bruno@clisp.org>
1060
1061         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1062         * m4/modfl-ieee.m4: New file.
1063         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1064         whether modfl works with Inf. Replace it if not.
1065         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1066         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1067         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1068         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1069         (Depends-on): Update dependencies.
1070         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1071         m4/signbit.m4.
1072         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1073         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1074
1075         modfl-ieee: Fix dependencies.
1076         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1077
1078         modfl-ieee: Fix test failures.
1079         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1080         * modules/modfl (Depends-on): Add isfinite, isinf.
1081
1082         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1083         * m4/modff-ieee.m4: New file.
1084         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1085         whether modff works with NaN and Inf. Replace it if not.
1086         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1088         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1089         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1090         (Depends-on): Update dependencies.
1091         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1092         m4/signbit.m4.
1093         (Depends-on): Add modf-ieee.
1094         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1095         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1096
1097         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1098         * m4/modf-ieee.m4: New file.
1099         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1100         whether modf works with NaN and Inf. Replace it if not.
1101         * lib/math.in.h (modf): New declaration.
1102         * lib/modf.c: New file.
1103         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1104         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1105         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1106         * modules/modf (Files): Add lib/modf.c.
1107         (Depends-on): Add math, isfinite, trunc, isinf.
1108         (configure.ac): Addrange to compile lib/modf.c if needed.
1109         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1110         m4/signbit.m4.
1111         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1112         * tests/test-math-c++.cc: Check the declaration of modf.
1113         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1114
1115         Tests for module 'modfl-ieee'.
1116         * modules/modfl-ieee-tests: New file.
1117         * tests/test-modfl-ieee.c: New file.
1118
1119         New module 'modfl-ieee'.
1120         * modules/modfl-ieee: New file.
1121
1122         Tests for module 'modf-ieee'.
1123         * modules/modf-ieee-tests: New file.
1124         * tests/test-modf-ieee.c: New file.
1125
1126         New module 'modf-ieee'.
1127         * modules/modf-ieee: New file.
1128
1129         Tests for module 'modff-ieee'.
1130         * modules/modff-ieee-tests: New file.
1131         * tests/test-modff-ieee.c: New file.
1132         * tests/test-modf-ieee.h: New file.
1133
1134         New module 'modff-ieee'.
1135         * modules/modff-ieee: New file.
1136
1137 2012-02-26  Bruno Haible  <bruno@clisp.org>
1138
1139         Tests for module 'fabsl-ieee'.
1140         * modules/fabsl-ieee-tests: New file.
1141         * tests/test-fabsl-ieee.c: New file.
1142
1143         New module 'fabsl-ieee'.
1144         * modules/fabsl-ieee: New file.
1145
1146         Tests for module 'fabs-ieee'.
1147         * modules/fabs-ieee-tests: New file.
1148         * tests/test-fabs-ieee.c: New file.
1149
1150         New module 'fabs-ieee'.
1151         * modules/fabs-ieee: New file.
1152
1153         Tests for module 'fabsf-ieee'.
1154         * modules/fabsf-ieee-tests: New file.
1155         * tests/test-fabsf-ieee.c: New file.
1156         * tests/test-fabs-ieee.h: New file.
1157
1158         New module 'fabsf-ieee'.
1159         * modules/fabsf-ieee: New file.
1160
1161 2012-02-26  Bruno Haible  <bruno@clisp.org>
1162
1163         Tests for module 'fmal-ieee'.
1164         * modules/fmal-ieee-tests: New file.
1165         * tests/test-fmal-ieee.c: New file.
1166
1167         New module 'fmal-ieee'.
1168         * modules/fmal-ieee: New file.
1169
1170         Tests for module 'fma-ieee'.
1171         * modules/fma-ieee-tests: New file.
1172         * tests/test-fma-ieee.c: New file.
1173
1174         New module 'fma-ieee'.
1175         * modules/fma-ieee: New file.
1176
1177         Tests for module 'fmaf-ieee'.
1178         * modules/fmaf-ieee-tests: New file.
1179         * tests/test-fmaf-ieee.c: New file.
1180         * tests/test-fma-ieee.h: New file.
1181
1182         New module 'fmaf-ieee'.
1183         * modules/fmaf-ieee: New file.
1184
1185 2012-02-26  Bruno Haible  <bruno@clisp.org>
1186
1187         Tests for module 'ldexpl-ieee'.
1188         * modules/ldexpl-ieee-tests: New file.
1189         * tests/test-ldexpl-ieee.c: New file.
1190
1191         New module 'ldexpl-ieee'.
1192         * modules/ldexpl-ieee: New file.
1193
1194         Tests for module 'ldexp-ieee'.
1195         * modules/ldexp-ieee-tests: New file.
1196         * tests/test-ldexp-ieee.c: New file.
1197
1198         New module 'ldexp-ieee'.
1199         * modules/ldexp-ieee: New file.
1200
1201         Tests for module 'ldexpf-ieee'.
1202         * modules/ldexpf-ieee-tests: New file.
1203         * tests/test-ldexpf-ieee.c: New file.
1204         * tests/test-ldexp-ieee.h: New file.
1205
1206         New module 'ldexpf-ieee'.
1207         * modules/ldexpf-ieee: New file.
1208
1209 2012-02-26  Bruno Haible  <bruno@clisp.org>
1210
1211         Refactor frexp*-ieee tests.
1212         * tests/test-frexp-ieee.h: New file.
1213         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1214         (main): Just call test_function.
1215         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1216         (main): Just call test_function.
1217         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1218         (main): Just call test_function.
1219         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1220         * modules/frexp-ieee-tests (Files): Likewise.
1221         * modules/frexpl-ieee-tests (Files): Likewise.
1222
1223         Tests for module 'frexpl-ieee'.
1224         * modules/frexpl-ieee-tests: New file.
1225         * tests/test-frexpl-ieee.c: New file.
1226
1227         New module 'frexpl-ieee'.
1228         * modules/frexpl-ieee: New file.
1229
1230         Tests for module 'frexp-ieee'.
1231         * modules/frexp-ieee-tests: New file.
1232         * tests/test-frexp-ieee.c: New file.
1233
1234         New module 'frexp-ieee'.
1235         * modules/frexp-ieee: New file.
1236
1237         Tests for module 'frexpf-ieee'.
1238         * modules/frexpf-ieee-tests: New file.
1239         * tests/test-frexpf-ieee.c: New file.
1240
1241         New module 'frexpf-ieee'.
1242         * modules/frexpf-ieee: New file.
1243
1244 2012-02-26  Bruno Haible  <bruno@clisp.org>
1245
1246         roundl-ieee tests: More tests.
1247         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1248         (main): Add tests for [MX] shaded specification in POSIX.
1249         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1250         (Depends-on): Add isnanl-nolibm.
1251
1252         round-ieee tests: More tests.
1253         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1254         (main): Add tests for [MX] shaded specification in POSIX.
1255         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1256         (Depends-on): Add isnand-nolibm.
1257
1258         roundf-ieee tests: More tests.
1259         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1260         (main): Add tests for [MX] shaded specification in POSIX.
1261         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1262         (Depends-on): Add isnanf-nolibm.
1263
1264         truncl-ieee tests: More tests.
1265         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1266         (main): Add tests for [MX] shaded specification in POSIX.
1267         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1268         (Depends-on): Add isnanl-nolibm.
1269
1270         trunc-ieee tests: More tests.
1271         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1272         (main): Add tests for [MX] shaded specification in POSIX.
1273         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1274         (Depends-on): Add isnand-nolibm.
1275
1276         truncf-ieee tests: More tests.
1277         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1278         (main): Add tests for [MX] shaded specification in POSIX.
1279         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1280         (Depends-on): Add isnanf-nolibm.
1281
1282         ceill-ieee tests: More tests.
1283         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1284         (main): Add tests for [MX] shaded specification in POSIX.
1285         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1286         (Depends-on): Add isnanl-nolibm.
1287
1288         ceil-ieee tests: More tests.
1289         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1290         (main): Add tests for [MX] shaded specification in POSIX.
1291         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1292         (Depends-on): Add isnand-nolibm.
1293
1294         ceilf-ieee tests: More tests.
1295         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1296         (main): Add tests for [MX] shaded specification in POSIX.
1297         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1298         (Depends-on): Add isnanf-nolibm.
1299
1300         floorl-ieee tests: More tests.
1301         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1302         (main): Add tests for [MX] shaded specification in POSIX.
1303         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1304         (Depends-on): Add isnanl-nolibm.
1305
1306         floor-ieee tests: More tests.
1307         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1308         (main): Add tests for [MX] shaded specification in POSIX.
1309         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1310         (Depends-on): Add isnand-nolibm.
1311
1312         floorf-ieee tests: More tests.
1313         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1314         (main): Add tests for [MX] shaded specification in POSIX.
1315         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1316         (Depends-on): Add isnanf-nolibm.
1317
1318 2012-02-26  Bruno Haible  <bruno@clisp.org>
1319
1320         fpieee: More comments.
1321         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
1322
1323 2012-02-25  Bruno Haible  <bruno@clisp.org>
1324
1325         Tests for module 'log10l'.
1326         * modules/log10l-tests: New file.
1327         * tests/test-log10l.c: New file.
1328         * tests/test-math-c++.cc: Check the declaration of log10l.
1329
1330         New module 'log10l'.
1331         * lib/math.in.h (log10l): New declaration.
1332         * lib/log10l.c: New file.
1333         * m4/log10l.m4: New file.
1334         * modules/log10l: New file.
1335         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1337         HAVE_DECL_LOG10L.
1338         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1339         HAVE_DECL_LOG10L.
1340         * doc/posix-functions/log10l.texi: Mention the new module.
1341
1342 2012-02-25  Bruno Haible  <bruno@clisp.org>
1343
1344         fmodl, remainder*: Avoid wrong results due to rounding errors.
1345         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1346         expected bounds.
1347         * lib/remainderf.c (remainderf): Likewise.
1348         * lib/remainder.c (remainder): Likewise.
1349         * lib/remainderl.c (remainderl): Likewise.
1350
1351 2012-02-25  Bruno Haible  <bruno@clisp.org>
1352
1353         Tests for module 'remainderl'.
1354         * modules/remainderl-tests: New file.
1355         * tests/test-remainderl.c: New file.
1356         * tests/test-math-c++.cc: Check the declaration of remainderl.
1357
1358         New module 'remainderl'.
1359         * lib/math.in.h (remainderl): New declaration.
1360         * lib/remainderl.c: New file.
1361         * m4/remainderl.m4: New file.
1362         * modules/remainderl: New file.
1363         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
1364         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
1365         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
1366         HAVE_REMAINDERL.
1367         * doc/posix-functions/remainderl.texi: Mention the new module.
1368
1369 2012-02-25  Bruno Haible  <bruno@clisp.org>
1370
1371         Tests for module 'remainderf'.
1372         * modules/remainderf-tests: New file.
1373         * tests/test-remainderf.c: New file.
1374         * tests/test-math-c++.cc: Check the declaration of remainderf.
1375
1376         New module 'remainderf'.
1377         * lib/math.in.h (remainderf): New declaration.
1378         * lib/remainderf.c: New file.
1379         * m4/remainderf.m4: New file.
1380         * modules/remainderf: New file.
1381         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
1382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
1383         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
1384         HAVE_REMAINDERF.
1385         * doc/posix-functions/remainderf.texi: Mention the new module.
1386
1387 2012-02-25  Bruno Haible  <bruno@clisp.org>
1388
1389         remainder: Support for MSVC.
1390         * lib/math.in.h (remainder): New declaration.
1391         * lib/remainder.c: New file.
1392         * m4/remainder.m4: New file.
1393         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
1394         (Depends-on): Add math, round, fma.
1395         (configure.ac): Use results of gl_FUNC_REMAINDER.
1396         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
1397         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
1398         HAVE_DECL_REMAINDER.
1399         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
1400         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
1401         * tests/test-math-c++.cc: Check the declaration of remainder.
1402         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
1403         problems are fixed.
1404
1405 2012-02-25  Bruno Haible  <bruno@clisp.org>
1406
1407         Tests for module 'fmodl'.
1408         * modules/fmodl-tests: New file.
1409         * tests/test-fmodl.c: New file.
1410         * tests/test-math-c++.cc: Check the declaration of fmodl.
1411
1412         New module 'fmodl'.
1413         * lib/math.in.h (fmodl): New declaration.
1414         * lib/fmodl.c: New file.
1415         * m4/fmodl.m4: New file.
1416         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
1417         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
1418         REPLACE_FMODL.
1419         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
1420         REPLACE_FMODL.
1421         * modules/fmodl: New file.
1422         * doc/posix-functions/fmodl.texi: Mention the new module.
1423
1424 2012-02-25  Bruno Haible  <bruno@clisp.org>
1425
1426         Tests for module 'modfl'.
1427         * modules/modfl-tests: New file.
1428         * tests/test-modfl.c: New file.
1429         * tests/test-math-c++.cc: Check the declaration of modfl.
1430
1431         New module 'modfl'.
1432         * lib/math.in.h (modfl): New declaration.
1433         * lib/modfl.c: New file.
1434         * m4/modfl.m4: New file.
1435         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
1436         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
1437         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
1438         * modules/modfl: New file.
1439         * doc/posix-functions/modfl.texi: Mention the new module.
1440
1441 2012-02-25  Bruno Haible  <bruno@clisp.org>
1442
1443         Tests for module 'fabsl'.
1444         * modules/fabsl-tests: New file.
1445         * tests/test-fabsl.c: New file.
1446         * tests/test-math-c++.cc: Check the declaration of fabsl.
1447
1448         New module 'fabsl'.
1449         * lib/math.in.h (fabsl): New declaration.
1450         * lib/fabsl.c: New file.
1451         * m4/fabsl.m4: New file.
1452         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
1453         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
1454         REPLACE_FABSL.
1455         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
1456         REPLACE_FABSL.
1457         * modules/fabsl: New file.
1458         * doc/posix-functions/fabsl.texi: Mention the new module.
1459
1460 2012-02-25  Bruno Haible  <bruno@clisp.org>
1461
1462         fabs tests: More tests.
1463         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
1464         (zero): New variable.
1465         (main): Add tests for signed zero.
1466         * modules/fabs-tests (Files): Add tests/minus-zero.h.
1467
1468         fabsf tests: More tests.
1469         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
1470         (zero): New variable.
1471         (main): Add tests for signed zero.
1472         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
1473
1474 2012-02-24  Bruno Haible  <bruno@clisp.org>
1475
1476         atanl: Provide function definition on MSVC.
1477         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
1478         function pointer.
1479         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
1480
1481 2012-02-24  Bruno Haible  <bruno@clisp.org>
1482
1483         acosl: Provide function definition on MSVC.
1484         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
1485         function pointer.
1486         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
1487
1488 2012-02-24  Bruno Haible  <bruno@clisp.org>
1489
1490         asinl: Provide function definition on MSVC.
1491         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
1492         function pointer.
1493         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
1494
1495 2012-02-24  Bruno Haible  <bruno@clisp.org>
1496
1497         tanl: Provide function definition on MSVC.
1498         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
1499         function pointer.
1500         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
1501
1502 2012-02-24  Bruno Haible  <bruno@clisp.org>
1503
1504         cosl: Provide function definition on MSVC.
1505         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
1506         function pointer.
1507         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
1508
1509 2012-02-24  Bruno Haible  <bruno@clisp.org>
1510
1511         sinl: Provide function definition on MSVC.
1512         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
1513         function pointer.
1514         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
1515
1516 2012-02-24  Bruno Haible  <bruno@clisp.org>
1517
1518         logl: Provide function definition on MSVC.
1519         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
1520         function pointer.
1521         * lib/math.in.h (logl): Undefine if it does not exist as a function.
1522
1523 2012-02-24  Bruno Haible  <bruno@clisp.org>
1524
1525         expl: Provide function definition on MSVC.
1526         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
1527         function pointer.
1528         * lib/math.in.h (expl): Undefine if it does not exist as a function.
1529
1530 2012-02-24  Bruno Haible  <bruno@clisp.org>
1531
1532         sqrtl: Provide function definition on MSVC.
1533         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
1534         a function pointer.
1535         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
1536
1537 2012-02-24  Bruno Haible  <bruno@clisp.org>
1538
1539         ceill: Provide function definition on MSVC.
1540         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
1541         used as a function pointer.
1542         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
1543
1544 2012-02-24  Bruno Haible  <bruno@clisp.org>
1545
1546         floorl: Provide function definition on MSVC.
1547         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
1548         used as a function pointer.
1549         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
1550
1551 2012-02-24  Bruno Haible  <bruno@clisp.org>
1552
1553         ceilf: Provide function definition on MSVC.
1554         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
1555         used as a function pointer.
1556         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
1557
1558 2012-02-24  Bruno Haible  <bruno@clisp.org>
1559
1560         floorf: Provide function definition on MSVC.
1561         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
1562         used as a function pointer.
1563         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
1564
1565 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1566
1567         stdnoreturn: new module
1568         This implements a replacement for C11's <stdnoreturn.h>.
1569         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
1570         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
1571         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1572         * tests/test-stdnoreturn.c: New files.
1573
1574 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
1575
1576         regex: fix false multibyte matches in some regular expressions
1577         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
1578         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
1579         * lib/regex_internal.c (re_string_skip_chars):
1580         Fix miscomputation of remain_len that may cause incomplete
1581         multi-byte character and false match.
1582
1583 2012-02-24  Jim Meyering  <meyering@redhat.com>
1584
1585         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
1586         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
1587         uses with "==" *before* the call, e.g., 0 == strcmp (...)
1588         Remove now-unnecessary str''cmp obfuscation.
1589         Suggested by Akim Demaille.
1590
1591 2012-02-24  Bruno Haible  <bruno@clisp.org>
1592
1593         streq: Rename macro.
1594         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
1595         * NEWS: Mention the change.
1596         * lib/mbrtowc.c (mbrtowc): Update.
1597         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
1598         * lib/wcwidth.c (wcwidth): Update.
1599         Suggested by Akim Demaille and Jim Meyering.
1600
1601 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1602
1603         regex: fix typo in definition of MIN
1604         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
1605         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
1606
1607 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1608             Bruno Haible  <bruno@clisp.org>
1609
1610         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
1611         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
1612         entries into a stack-allocated buffer directly.
1613         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
1614
1615 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1616             Bruno Haible  <bruno@clisp.org>
1617
1618         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
1619
1620          - There were several instances of this pattern:
1621
1622              for (;;) {
1623                n = acl (f, GETACLCNT, 0, NULL);
1624                [ allocate an array A of size N ]
1625                if (acl (f, GETACL, n, a) == n)
1626                  break;
1627              }
1628
1629            This loop might never terminate if some other process is constantly
1630            manipulating the file's ACL.  The loop should be rewritten to
1631            terminate.
1632
1633          - The acl (... GETACLNT ...) call is merely an optimization; its value
1634            is merely a hint as to how big to make the array.  A better
1635            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
1636            and just guess a reasonably-big size, growing the size and trying
1637            again if it's not large enough.  This guarantees termination, and
1638            saves a system call.
1639
1640         * lib/acl-internal.h: Include <limits.h>.
1641         (MIN, SIZE_MAX): New macros.
1642         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
1643         a stack-allocated buffer, and use malloc if it does not fit. Don't
1644         use GETACLCNT.
1645         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1646
1647 2012-02-19  Bruno Haible  <bruno@clisp.org>
1648
1649         acl: Fix endless loop on Solaris with vxfs.
1650         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
1651         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
1652         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1653         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
1654         * tests/test-sameacls.c (main)[Solaris]: Likewise.
1655         Reported by Bill Jones in
1656         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
1657
1658 2012-02-19  Bruno Haible  <bruno@clisp.org>
1659
1660         acl: Fix copy-acl test failure on Solaris 11 2011-11.
1661         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
1662         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
1663         that this function returns 0 in some more cases.
1664
1665 2012-02-19  Bruno Haible  <bruno@clisp.org>
1666
1667         acl: Update doc references.
1668         * doc/acl-resources.txt: Update links to Solaris documentation.
1669
1670 2012-02-19  Bruno Haible  <bruno@clisp.org>
1671
1672         Fix test failure in many locales on Solaris 11.
1673         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
1674         'tr' arguments.
1675         * tests/test-pipe-filter-ii1.c (main): Likewise.
1676         * build-aux/bootstrap (check_versions): Run 'tr' command with range
1677         expressions in the C locale.
1678         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1679         * m4/host-os.m4 (gl_HOST_OS): Likewise.
1680
1681 2012-02-19  Bruno Haible  <bruno@clisp.org>
1682
1683         gnulib-tool: Improve usage message.
1684         * gnulib-tool (func_usage): Move doc of --help and --version to the
1685         section "Operation modes".
1686
1687 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
1688
1689         README-release: make it easier to execute commands
1690         * top/README-release: break commands out on to separate lines.
1691
1692 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1693
1694         GNUmakefile: simplify detection of unconfigured trees
1695         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
1696         whether the tree make is being run from is already configured or
1697         not.  Related simplifications.
1698
1699 2012-02-13  Simon Josefsson  <simon@josefsson.org>
1700
1701         * gnulib-tool (func_usage): Document --help and --version.
1702
1703 2012-02-11  Jim Meyering  <meyering@redhat.com>
1704
1705         bootstrap: don't exit 0 upon gnulib-tool failure
1706         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
1707         its exit status, not 0.
1708
1709 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
1710
1711         README-release: various improvements
1712         * top/README-release: Give a command to push changes for the
1713         release.  Add "distcheck" to list of other pre-release checks.
1714         Fix instance of "make stable" which should be "make TYPE".
1715
1716 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1717
1718         maint: replace FSF snail-mail addresses with URLs
1719         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
1720         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
1721         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
1722         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
1723         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
1724         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
1725         * lib/check-version.c, lib/check-version.h, lib/config.charset:
1726         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
1727         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
1728         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
1729         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
1730         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
1731         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
1732         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
1733         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
1734         * lib/glthread/thread.c, lib/glthread/thread.h:
1735         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
1736         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
1737         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
1738         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
1739         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
1740         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
1741         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
1742         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
1743         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
1744         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
1745         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
1746         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
1747         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
1748         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
1749         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
1750         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
1751         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
1752         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
1753         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
1754         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
1755         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
1756         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
1757         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
1758         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
1759         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
1760         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
1761         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
1762         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
1763         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
1764         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
1765         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
1766         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
1767         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
1768         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
1769         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
1770         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
1771         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
1772         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
1773         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
1774         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
1775         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
1776         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
1777         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
1778         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
1779         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
1780         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
1781         * tests/test-poll.c, tests/test-quotearg-simple.c:
1782         * tests/test-quotearg.c, tests/test-quotearg.h:
1783         * tests/test-round-ieee.c, tests/test-round1.c:
1784         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
1785         * tests/test-roundl-ieee.c, tests/test-roundl.c:
1786         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
1787         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
1788         * tests/test-strerror.c, tests/test-strerror_r.c:
1789         * tests/test-strsignal.c, tests/test-strverscmp.c:
1790         * tests/test-xmemdup0.c:
1791         Replace FSF snail mail addresses with URLs, as per GNU coding
1792         standards.  See glibc bug
1793         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
1794
1795 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1796
1797         README-release: capitalize a word and split a line
1798         * top/README-release: Fix punctuation and spacing.
1799
1800 2012-02-08  Akim Demaille  <demaille@gostai.com>
1801
1802         fatal-signal: use C prototypes (with explicit void).
1803         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
1804         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
1805
1806 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1807
1808         regex: spelling fix
1809         * lib/regexec.c: spelling fix
1810
1811         regex: rely on stdint.h for SIZE_MAX
1812         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
1813
1814 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1815
1816         regex: merge glibc changes
1817
1818         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
1819         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
1820         (init_word_char): Work even if bitset words are not exactly 32 or
1821         64 bits wide.  Don't assume there are no padding bits.
1822         * lib/regex.c [_LIBC]: Do not include <config.h>.
1823         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
1824         and -Wtype-limits.
1825         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
1826         needless disagreement with glibc.  All uses changed.  Define it to
1827         1 only if _GNU_SOURCE, to match glibc.
1828         (_REG_RM_NAME): Remove; no longer needed, since the names in
1829         question are now all protected by __USE_GNU.
1830         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
1831         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
1832         * lib/regex_internal.h (MIN): New macro.
1833
1834         2012-01-03 Ulrich Drepper <drepper@gmail.com>
1835         * lib/regcomp.c (init_word_char): Optimize regex a bit.
1836
1837         2011-12-30 Jakub Jelinek <jakub@redhat.com>
1838         * lib/regex_internal.c (re_string_fetch_byte_case):
1839         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
1840         is miscompiled, and it turns out it is because of an incorrect
1841         attribute on re_string_fetch_byte_case.  Unlike
1842         re_string_peek_byte_case, this one is really not pure, it modifies
1843         memory (increments pstr->cur_idx), and with the pure attribute GCC
1844         assumed it doesn't and it cached the presumed value of
1845         regexp->cur_idx in a variable across the
1846          for (;; ++i)
1847            {
1848              if (i >= BRACKET_NAME_BUF_SIZE)
1849                return REG_EBRACK;
1850              if (token->type == OP_OPEN_CHAR_CLASS)
1851                ch = re_string_fetch_byte_case (regexp);
1852              else
1853                ch = re_string_fetch_byte (regexp);
1854              if (re_string_eoi(regexp))
1855                return REG_EBRACK;
1856              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
1857                break;
1858              elem->opr.name[i] = ch;
1859            }
1860
1861         2011-11-29 Andreas Schwab <schwab@redhat.com>
1862         * lib/regcomp.c (build_equiv_class):
1863         Fix access after end of search string in regex matcher.
1864
1865         2011-11-12 Ulrich Drepper <drepper@redhat.com>
1866         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
1867
1868         2011-10-12 Ulrich Drepper <drepper@redhat.com>
1869         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
1870
1871         2011-10-11 Ulrich Drepper <drepper@redhat.com>
1872         * lib/regcomp.c (parse_branch, parse_sub_exp):
1873         More regex memory leak fixes and tests.
1874         (parse_sub_exp, parse_bracket_exp):
1875         Fix memory leak for some invalid regular expressions.
1876
1877         2011-05-28 Ulrich Drepper <drepper@gmail.com>
1878         * lib/regex_internal.c, lib/regexec.c:
1879         Fix unnecessary overallocation due to incomplete character.  When
1880         incomplete characters are found at the end of a string the code
1881         ran amok and allocated lots of memory.  Stricter limits are now in
1882         place.
1883
1884         2011-05-20 Reuben Thomas <rrt@sc3d.org>
1885         * lib/regex.h: Update documentation.
1886
1887         2011-05-16 Aharon Robbins <arnold@skeeve.com>
1888         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
1889
1890         2010-05-05 Andreas Schwab <schwab@redhat.com>
1891         * lib/regexec.c (find_collation_sequence_value):
1892         Fix lookup of collation sequence value during regexp matching.
1893
1894         2010-01-22 Ulrich Drepper <drepper@redhat.com>
1895         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
1896
1897         2008-01-16 Ulrich Drepper <drepper@redhat.com>
1898         * lib/regex.h: Cleanup namespace.
1899
1900         2007-11-26 Ulrich Drepper <drepper@redhat.com>
1901         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
1902
1903         2007-08-26 Ulrich Drepper <drepper@redhat.com>
1904         * lib/regex_internal.h: Prevent some declarations and definitions
1905         to be seen when used in tests.
1906
1907         2005-05-06 Ulrich Drepper <drepper@redhat.com>
1908         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
1909         __libc_lock_* macros if not _LIBC.
1910         (struct re_dfa_t): Add lock.
1911
1912 2012-02-07  Eric Blake  <eblake@redhat.com>
1913
1914         maint.mk: also prohibit lower-case @var@
1915         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
1916         lower case, like @top_srcdir@.
1917
1918 2012-02-04  Eric Blake  <eblake@redhat.com>
1919
1920         canonicalize: avoid uninitialized memory use
1921         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
1922         random '/' left in dest.
1923         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
1924
1925 2012-02-04  Bruno Haible  <bruno@clisp.org>
1926
1927         isatty: Fix test failure of ptsname_r on native Windows.
1928         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
1929         and don't set errno.
1930         (isatty): Test first whether fd is valid. Set errno when returning 0.
1931
1932 2012-02-04  Bruno Haible  <bruno@clisp.org>
1933
1934         spawn-pipe tests: Fix a NULL program name in a diagnostic.
1935         * tests/test-spawn-pipe-main.c: Include progname.h.
1936         (main): Invoke set_program_name.
1937         * modules/spawn-pipe-tests (Depends-on): Add progname.
1938
1939         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
1940         * tests/test-nonblocking-socket-main.c: Include progname.h.
1941         (main): Invoke set_program_name.
1942         * modules/nonblocking-socket-tests (Depends-on): Add progname.
1943
1944         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
1945         * tests/test-nonblocking-pipe-main.c: Include progname.h.
1946         (main): Invoke set_program_name.
1947         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
1948
1949 2012-02-04  Eric Blake  <eblake@redhat.com>
1950
1951         canonicalize-lgpl: fix // handling
1952         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
1953
1954         canonicalize: fix // handling
1955         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
1956         /// to //, since only // is special.
1957
1958 2012-02-04  Bruno Haible  <bruno@clisp.org>
1959
1960         ioctl: Fix test failure on native Windows.
1961         * lib/ioctl.c: Include msvc-nothrow.h.
1962         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
1963
1964 2012-02-04  Bruno Haible  <bruno@clisp.org>
1965
1966         fsync: Avoid test failure on native Windows.
1967         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
1968         read-only.
1969
1970 2012-02-04  Bruno Haible  <bruno@clisp.org>
1971
1972         sys_select: Avoid syntax error on OpenBSD 5.0.
1973         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
1974         currently being included, just include the system's <sys/select.h>.
1975
1976 2012-02-04  Bruno Haible  <bruno@clisp.org>
1977
1978         sys_select: Avoid syntax error on OpenBSD 5.0.
1979         * lib/sys_select.in.h: Include <signal.h> only after the include_next
1980         <sys/select.h>, not before.
1981         Reported by Jiri B <jirib@devio.us>.
1982
1983 2012-02-04  Bruno Haible  <bruno@clisp.org>
1984
1985         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
1986         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
1987         global variables.
1988         * tests/test-get-rusage-data.c (main): Likewise.
1989         Reported by Jim Meyering.
1990
1991 2012-02-04  Bruno Haible  <bruno@clisp.org>
1992
1993         stdioext: Fix last commit.
1994         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
1995
1996 2012-02-03  Bruno Haible  <bruno@clisp.org>
1997
1998         stdioext: Add tentative support for Plan9.
1999         * lib/stdio-impl.h: Include <errno.h>.
2000         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2001         * lib/freadable.c (freadable): Likewise.
2002         * lib/fwritable.c (fwritable): Likewise.
2003         * lib/fbufmode.c (fbufmode): Likewise.
2004         * lib/freading.c (freading): Likewise.
2005         * lib/fwriting.c (fwriting): Likewise.
2006         * lib/freadptr.c (freadptr): Likewise.
2007         * lib/freadseek.c (freadptrinc): Likewise.
2008         * lib/freadahead.c (freadahead): Likewise.
2009         * lib/fpurge.c (fpurge): Likewise.
2010         * lib/fseeko.c (rpl_fseeko): Likewise.
2011         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2012         Reported by Jens Staal <staal1978@gmail.com>.
2013
2014 2012-02-02  Jim Meyering  <meyering@redhat.com>
2015
2016         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2017         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2018         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2019         not even to try to add the attribute.  Instead, add a pragma to suppress
2020         the suggestion/warning.
2021
2022 2012-01-31  Karl Berry  <karl@gnu.org>
2023
2024         setstate doc: typo.
2025         * doc/posix-functions/setstate.texi (setstate): { not (.
2026
2027 2012-01-31  Bruno Haible  <bruno@clisp.org>
2028
2029         popen: Make more robust on Windows.
2030         * lib/popen.c: On native Windows, use the _popen based code even if
2031         HAVE_POPEN is set.
2032         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2033         environment variable on native Windows.
2034
2035 2012-01-30  Bruno Haible  <bruno@clisp.org>
2036
2037         pclose: Fix typo.
2038         * lib/stdio.in.h (pclose): Fix typo in warning message.
2039
2040 2012-01-30  Bruno Haible  <bruno@clisp.org>
2041
2042         doc about getlogin_r, setstate.
2043         * doc/posix-functions/getlogin_r.texi: List the incompatible
2044         declaration problem under "not fixed by gnulib".
2045         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2046         problem on Solaris 11 and other platforms.
2047
2048 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2049             Bruno Haible  <bruno@clisp.org>
2050
2051         poll tests: Make test more robust.
2052         * tests/test-poll.c: Include macros.h.
2053         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2054         return value of various I/O operations.
2055         * modules/poll-tests (Files): Add tests/macros.h.
2056
2057 2012-01-30  Bruno Haible  <bruno@clisp.org>
2058
2059         sys_stat: Fix support for mingw64 and MSVC.
2060         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2061         header files already do it.
2062         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2063         stat itself.
2064         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2065
2066 2012-01-30  Bruno Haible  <bruno@clisp.org>
2067
2068         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2069         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2070         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2071
2072 2012-01-29  Bruno Haible  <bruno@clisp.org>
2073
2074         quotearg: Fix test failure on MacOS X 10.5.
2075         * tests/test-quotearg-simple.c: Include localcharset.h.
2076         (main): If the locale encoding is not ASCII, bypass the tests of
2077         locale_quoting_style and clocale_quoting_style.
2078         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2079
2080 2012-01-29  Jim Meyering  <meyering@redhat.com>
2081
2082         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2083         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2084         detect uses of canonicalize_file_name.
2085
2086 2012-01-28  Bruno Haible  <bruno@clisp.org>
2087
2088         test-framework-sh: Fix test failure with AIX 7.1 diff.
2089         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2090         in column 1, like 'diff -c' does.
2091         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2092         whether 'diff -u' is used. Instead, test whether the output contains
2093         some '@' character.
2094
2095 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2096
2097         strtoimax: eliminate need for stdint.h, inttypes.h checks
2098         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2099         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2100         the prerequisites for a recently-introduced strtoimax test.
2101         I guess this might cause strtoimax to be replaced when not
2102         strictly necessary on older hosts, but this shouldn't introduce
2103         any bugs and it should make Emacs 'configure' faster on typical
2104         modern hosts.  Problem discovered when importing the latest gnulib
2105         to an Emacs test version.
2106         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2107
2108 2012-01-28  Bruno Haible  <bruno@clisp.org>
2109
2110         sys_time: Override 'struct timeval' on some native Windows platforms.
2111         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2112         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2113         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2114         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2115         needs to be overridden.
2116         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2117         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2118         * tests/test-sys_select.c: Check that the tv_sec member has the same
2119         size as a 'time_t'.
2120         * tests/test-sys_time.c: Likewise.
2121         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2122         is set, set also REPLACE_GETTIMEOFDAY.
2123         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2124         convert the resulting 'struct timeval' before returning.
2125         * lib/select.c: Include <sys/time.h>.
2126         (select, timeval): Undefine at the right place.
2127         * modules/select (Depends-on): Add sys_time.
2128         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2129         some Windows platforms.
2130         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2131
2132 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2133
2134         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2135         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2136         an integer.
2137         * lib/fcntl.c (dupfd): Likewise.
2138         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2139
2140 2012-01-28  Bruno Haible  <bruno@clisp.org>
2141
2142         fcntl: Avoid compilation error on native Windows.
2143         * modules/fcntl (Depends-on): Add 'close'.
2144
2145 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2146
2147         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2148         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2149         pointer to an integer.
2150         * lib/poll.c (IsConsoleHandle): Likewise.
2151         * lib/isatty.c (IsConsoleHandle): Likewise.
2152
2153 2012-01-28  Jim Meyering  <meyering@redhat.com>
2154
2155         doc: clarify README-release
2156         * top/README-release: Clarify: you should make a point to have
2157         the latest stable versions of build tools in your PATH, and the
2158         reference to buildreq is solely for its list of tool names, not
2159         for its minimal-functional version numbers.
2160         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2161
2162         maint.mk: use more readable (yet functionally equivalent) quoting
2163         It is common to quote a single quote in a single quoted string like
2164         this:  '...'\''...'.  Unless you know the idiom, that looks like
2165         gibberish, so prefer to double-quote the string when possible.
2166         Then you can use a more readable, lone single quote: "...'..."
2167         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2168         "don't" is more readable than the equivalent 'don'\''t'.
2169         (sc_cast_of_x_alloc_return_value): Likewise.
2170         (sc_cast_of_alloca_return_value): Likewise.
2171         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2172         rather than '\'':'\''.
2173
2174 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2175
2176         stdalign: relax _Alignof and tighten _Alignas test
2177         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2178         as it was too strict: alignof must divide offsetof, but it need
2179         not equal offsetof.  Inspired by Joseph S. Myers's comment
2180         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2181         Conversely, tighten the _Alignas test a bit, as the resulting
2182         alignment must be exactly 8.
2183
2184 2012-01-27  Bruno Haible  <bruno@clisp.org>
2185
2186         stdalign: Document the last change.
2187         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2188
2189 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2190
2191         stdalign: check that alignof and offsetof are consistent
2192         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2193         Problem reported for gnulib by Richard W.M. Jones in
2194         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2195
2196 2012-01-27  Jim Meyering  <meyering@redhat.com>
2197
2198         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2199         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2200         convert a sequence with gaps to the minimal containing range.
2201         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2202         * tests/test-update-copyright.sh: Test for this.
2203         The FSF confirmed it is ok to do this, assuming there is at
2204         least one significant change per year in the affected range:
2205         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2206
2207 2012-01-26  Bruno Haible  <bruno@clisp.org>
2208
2209         pipe2: refine doc about thread-safety
2210         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2211         multithread-safety problem.
2212         * doc/glibc-functions/accept4.texi: Likewise.
2213
2214 2012-01-26  Bruno Haible  <bruno@clisp.org>
2215
2216         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2217         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2218         In the test program, include <fcntl.h>, for O_RDONLY.
2219
2220 2012-01-26  Eric Blake  <eblake@redhat.com>
2221
2222         pipe2: document lack of thread-safety in replacement
2223         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2224         issue in replacement.
2225         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2226         Based on a report by Eric Wong.
2227
2228 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2229             Bruno Haible  <bruno@clisp.org>
2230
2231         malloca: Avoid warnings on x86_64 mingw64.
2232         * lib/malloca.c: Include <stdint.h>.
2233         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2234         * modules/malloca (Depends-on): Add stdint.
2235         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2236
2237 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2238
2239         obstack: remove __STDC__ conditionals
2240         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2241         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2242         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2243         m4/include_next.m4 as the only gnulib-maintained places that still
2244         refer to __STDC__.
2245
2246 2012-01-24  Bruno Haible  <bruno@clisp.org>
2247
2248         havelib: Modern quoting.
2249         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2250         the recent change to the GNU coding standards.
2251
2252 2012-01-24  Bruno Haible  <bruno@clisp.org>
2253
2254         stdint: Improve support for Android.
2255         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2256         Reported by Simon Josefsson <simon@josefsson.org>.
2257
2258 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2259
2260         doc: omit trailing empty lines from INSTALL etc.
2261         * doc/Makefile (INSTALL): Omit trailing empty lines.
2262         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2263         omit trailing empty lines.  This simplifies the build procedure.
2264
2265 2012-01-23  Jim Meyering  <meyering@redhat.com>
2266
2267         tests: avoid spurious warnings about gl_sockets_startup
2268         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2269         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2270         reporting a "statement with no effect".
2271         * tests/test-accept.c (main): Mark as "(void)".
2272         * tests/test-accept4.c (main): Likewise.
2273         * tests/test-bind.c (main): Likewise.
2274         * tests/test-connect.c (main): Likewise.
2275         * tests/test-getpeername.c (main): Likewise.
2276         * tests/test-getsockname.c (main): Likewise.
2277         * tests/test-getsockopt.c (main): Likewise.
2278         * tests/test-listen.c (main): Likewise.
2279         * tests/test-recv.c (main): Likewise.
2280         * tests/test-recvfrom.c (main): Likewise.
2281         * tests/test-send.c (main): Likewise.
2282         * tests/test-sendto.c (main): Likewise.
2283         * tests/test-setsockopt.c (main): Likewise.
2284         * tests/test-shutdown.c (main): Likewise.
2285
2286 2012-01-21  Bruno Haible  <bruno@clisp.org>
2287
2288         locale-fr.m4: Fix for Android.
2289         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2290         failure of the test program on Bionic libc.
2291
2292 2012-01-21  Jim Meyering  <meyering@redhat.com>
2293
2294         bootstrap: fail when bootstrap_post_import_hook fails
2295         Otherwise, it's far too easy to miss diagnostics emitted
2296         between gnulib-tool's output and that of running configure.
2297         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2298
2299 2012-01-17  Jim Meyering  <meyering@redhat.com>
2300
2301         maint: enable sc_trailing_blank
2302         * build-aux/pmccabe.css: Remove trailing blanks.
2303         * doc/acl-cygwin.txt: Likewise.
2304         * doc/gnu-oids.texi: Likewise
2305         * cfg.mk: Enable sc_trailing_blank.
2306         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2307
2308 2012-01-17  Jim Meyering  <meyering@redhat.com>
2309
2310         maint: enable sc_prohibit_openat_without_use
2311         * cfg.mk: Enable sc_prohibit_openat_without_use.
2312         Exempt lib/selinux-at.c.
2313
2314 2012-01-17  Jim Meyering  <meyering@redhat.com>
2315
2316         maint: enable sc_prohibit_cloexec_without_use
2317         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2318         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2319
2320 2012-01-17  Jim Meyering  <meyering@redhat.com>
2321
2322         maint: enable sc_prohibit_intprops_without_use
2323         * cfg.mk: Enable sc_prohibit_intprops_without_use
2324         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
2325
2326 2012-01-17  Jim Meyering  <meyering@redhat.com>
2327
2328         maint: enable sc_prohibit_hash_pjw_without_use
2329         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
2330         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
2331         to match any use of \<hash_pjw\>, i.e., not necessarily with a
2332         following " (".
2333
2334 2012-01-17  Jim Meyering  <meyering@redhat.com>
2335
2336         maint: enable double-word-prohibiting rule
2337         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2338         Exempt three files.
2339
2340 2012-01-17  Jim Meyering  <meyering@redhat.com>
2341
2342         maint: remove empty lines at EOF, but excluding modules/*
2343         Apply syntax rules at home as well as abroad.  Most changes
2344         were induced by running this:
2345           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2346             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2347             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2348         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2349         Exempt modules/* and two binary files.
2350         Also exempt doc/INSTALL*, per request from Bruno Haible.
2351         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2352         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2353         * doc/Copyright/request-assign.future: Likewise.
2354         * doc/Copyright/request-disclaim.changes: Likewise.
2355         * doc/INSTALL: Likewise.
2356         * doc/INSTALL.ISO: Likewise.
2357         * doc/INSTALL.UTF-8: Likewise.
2358         * doc/acl-cygwin.txt: Likewise.
2359         * doc/acl-resources.txt: Likewise.
2360         * doc/fdl-1.2.texi: Likewise.
2361         * doc/fdl-1.3.texi: Likewise.
2362         * doc/fdl.texi: Likewise.
2363         * lib/argp-pin.c: Likewise.
2364         * lib/round.c: Likewise.
2365         * lib/unicase/u16-totitle.c: Likewise.
2366         * lib/unictype/block_test.c: Likewise.
2367         * lib/uninorm/canonical-decomposition.c: Likewise.
2368         * m4/README: Likewise.
2369         * m4/relocatable-lib.m4: Likewise.
2370         * tests/test-isnand-nolibm.c: Likewise.
2371         * tests/test-isnand.c: Likewise.
2372         * tests/uninorm/NormalizationTest.txt: Likewise.
2373
2374 2012-01-17  Jim Meyering  <meyering@redhat.com>
2375
2376         maint: add framework to run syntax-check rules against gnulib sources
2377         * cfg.mk: New file, to disable all currently-failing tests.
2378         We'll enable them one by one, as they are made to pass.
2379         * Makefile (sc_maint): New rule.
2380
2381 2012-01-21  Bruno Haible  <bruno@clisp.org>
2382
2383         stdint: Add support for Android.
2384         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
2385         include the system's <stdint.h>.
2386         Reported by Simon Josefsson <simon@josefsson.org>.
2387
2388 2012-01-19  Jim Meyering  <meyering@redhat.com>
2389
2390         bootstrap: add bootstrap_post_import_hook
2391         Bison does still need something like the gnulib_mk_hook whose
2392         invocation I had to remove along with slurp in commit 767ccd40.
2393         Technically, we could get along without it, but doing so would
2394         have required living with a warning and a mandatory post-bootstrap
2395         automake rerun.
2396         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
2397         (bootstrap_post_import_hook): New function.
2398         Invoke it after gnulib-tool --import and before autoreconf.
2399
2400 2012-01-18  Jim Meyering  <meyering@redhat.com>
2401
2402         gitlog-to-changelog: don't use "no_"-prefixed variable name
2403         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
2404         to enable both --cluster and --no-cluster.  Change variable name,
2405         s/\$no_cluster/$cluster/, and reverse usage to match.
2406
2407         gitlog-to-changelog: use "||", not "or" in expressions
2408         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
2409         expressions.
2410
2411 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
2412
2413         gitlog-to-changelog: new option --no-cluster
2414         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
2415         clustering of adjacent commit messages.
2416
2417 2012-01-17  Jim Meyering  <meyering@redhat.com>
2418
2419         maint: spell file systems with two words, not one
2420         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
2421         two words, not one.
2422
2423 2012-01-16  Jim Meyering  <meyering@redhat.com>
2424
2425         bootstrap: add a FIXME comment to ensure we eventually remove the hack
2426         * build-aux/bootstrap (gnulib_tool_options): Add comment.
2427
2428 2012-01-16  Eric Blake  <eblake@redhat.com>
2429
2430         bootstrap: cater to autoconf 2.59
2431         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
2432         is not available.
2433
2434         bootstrap: properly check for libtool
2435         * build-aux/bootstrap (libtoolize): Also run libtool when older
2436         usage is detected.
2437
2438 2012-01-15  Bruno Haible  <bruno@clisp.org>
2439
2440         Improve support for MSVC 9.
2441         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
2442         clashes on MSVC.
2443         * lib/fcntl.in.h: Likewise.
2444         * lib/stdlib.in.h: Likewise.
2445         * lib/sys_stat.in.h: Likewise.
2446
2447 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2448
2449         gnupload: we hold the master copy of this script now
2450         For motivation and more information, see:
2451         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
2452         * build-aux/gnupload: Make it clear in the heading comments that the
2453         master copy of this file is maintained by gnulib.  Since we are at
2454         it, bump its copyright year and ...
2455         ($scriptversion): ... the date in its version.
2456         ($usage): Patches and bug reports should be sent to the gnulib list,
2457         not the automake one.
2458         * config/srclist.txt: Don't try to sync 'gnupload' from automake
2459         anymore.
2460
2461 2012-01-15  Bruno Haible  <bruno@clisp.org>
2462
2463         Fix module 'random'.
2464         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
2465         initstate, setstate are declared.
2466
2467 2012-01-14  Bruno Haible  <bruno@clisp.org>
2468
2469         Tests for module 'random'.
2470         * modules/random-tests: New file.
2471         * tests/test-random.c: New file, based on tests/test-random_r.c.
2472
2473         New module 'random'.
2474         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
2475         declarations.
2476         * lib/random.c: New file, based on glibc/stdlib/random.c.
2477         * m4/random.m4: New file.
2478         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
2479         HAVE_RANDOM.
2480         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
2481         * modules/random: New file.
2482         * config/srclist.txt: Add an entry for random.c.
2483         * doc/posix-functions/random.texi: Mention the 'random' module.
2484         * doc/posix-functions/initstate.texi: Likewise.
2485         * doc/posix-functions/setstate.texi: Likewise.
2486         * doc/posix-functions/srandom.texi: Likewise.
2487
2488 2012-01-12  Bruno Haible  <bruno@clisp.org>
2489
2490         random_r: Use common idioms.
2491         * lib/random_r.c: Include <stdlib.h> first.
2492
2493         random_r: Override incompatible API on AIX, OSF/1.
2494         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
2495         Override the system function if REPLACE_RANDOM_R is 1.
2496         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
2497         and OSF/1, set REPLACE_RANDOM_R.
2498         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
2499         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
2500         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
2501         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
2502         * doc/glibc-functions/random_r.texi: Likewise.
2503         * doc/glibc-functions/setstate_r.texi: Likewise.
2504
2505         random_r: Support for MSVC 9.
2506         * lib/random_r.c: Include stdint.h, not inttypes.h.
2507
2508 2012-01-12  Eric Blake  <eblake@redhat.com>
2509
2510         inet_ntop: guard extra work by IF_LINT
2511         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
2512         better code generation when not checking for warnings.
2513         Suggested by Paul Eggert and Jim Meyering.
2514
2515         strptime: fix regression on mingw
2516         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
2517         Fix regression.  Reported by Bruno Haible.
2518
2519 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
2520             Bruno Haible  <bruno@clisp.org>
2521
2522         copy-file: add error-code-returning variant.
2523         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
2524         (qcopy_file_preserving): New declaration.
2525         * lib/copy-file.c (qcopy_file_preserving): Renamed from
2526         copy_file_preserving. Change return type to 'int'. Don't emit an error
2527         message here.
2528         (copy_file_preserving): New function.
2529         * tests/test-copy-file.c: Include <stdlib.h>.
2530         (main): Test qcopy_file_preserving if the environment variable
2531         NO_STDERR_OUTPUT is set.
2532         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
2533         with NO_STDERR_OUTPUT
2534         * tests/test-copy-file-2.sh: Likewise.
2535
2536 2012-01-10  Bruno Haible  <bruno@clisp.org>
2537
2538         copy-file: Use 'quote' module consistently.
2539         * lib/copy-file.c (copy_file_preserving): Use quote().
2540
2541         copy-file: Refactor.
2542         * lib/copy-file.c: Include quote.h.
2543         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
2544         message here.
2545         * modules/copy-file (Depends-on): Add quote.
2546
2547         acl: Export qcopy_acl.
2548         * lib/acl.h (qcopy_acl): New declaration.
2549         * lib/copy-acl.c (qcopy_acl): Make non-static.
2550
2551         acl: Rename a local variable.
2552         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
2553
2554         acl: Align return values of copy_acl and qcopy_acl.
2555         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
2556         maybe < -1.
2557
2558 2012-01-11  Eric Blake  <eblake@redhat.com>
2559
2560         strptime: silence gcc warnings
2561         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
2562         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
2563         Reported by Daniel P. Berrange.
2564
2565         inet_ntop: silence gcc warning
2566         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
2567         Reported by Daniel P. Berrange.
2568
2569 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
2570
2571         getloadavg test: skip the test on GNU/Linux without /proc mounted
2572         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
2573         file.  When /proc is not mounted, it always fails with ENOENT.
2574         * tests/test-getloadavg.c (main): Treat ENOENT return code from
2575         getloadavg(3) the same way as ENOSYS and ENOTSUP.
2576
2577 2012-01-10  Bruno Haible  <bruno@clisp.org>
2578
2579         regex: Avoid link error on MSVC 9.
2580         * modules/regex (Depends-on): Add wctype.
2581
2582 2012-01-10  Bruno Haible  <bruno@clisp.org>
2583
2584         doc: Mention --with-tests option.
2585         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
2586         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
2587         --with-tests.
2588         Reported by Reuben Thomas.
2589
2590 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
2591
2592         users.txt: order package names lexicographically.
2593         * users.txt: Order package names lexicographically.
2594
2595 2012-01-10  Jim Meyering  <meyering@redhat.com>
2596
2597         maint.mk: fix description in comment
2598         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
2599
2600         ignore-value: remove deprecated ignore_ptr function
2601         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
2602         * NEWS: Note this.
2603
2604 2012-01-09  Jim Meyering  <meyering@redhat.com>
2605
2606         test-init.sh: avoid a subshell
2607         * tests/test-init.sh: Remove protective subshell.
2608         Suggested by Bernhard Voelker.  While a subshell is normally
2609         required to protect against older shells (Solaris, FreeBSD) that
2610         warn about a missing program before performing redirection, the
2611         shell-selection tests performed by init.sh probably exclude any
2612         offending shell.
2613
2614 2012-01-08  Bruno Haible  <bruno@clisp.org>
2615
2616         setlocale tests: Avoid test failure on Solaris 11 2011-11.
2617         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
2618         variable.
2619
2620 2012-01-08  Bruno Haible  <bruno@clisp.org>
2621
2622         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
2623         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2624         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2625         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
2626         macro.
2627         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
2628         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2629         * lib/spawn_faction_addopen.c: Add workaround implementation if
2630         HAVE_WORKING_POSIX_SPAWN.
2631         * modules/spawn (Makefile): Substitute
2632         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2633         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
2634         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
2635         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2636         (Depends-on): Update conditions.
2637         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
2638         the Solaris 11 bug.
2639
2640 2012-01-08  Bruno Haible  <bruno@clisp.org>
2641
2642         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
2643         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2644         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2645         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
2646         macro.
2647         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
2648         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2649         * lib/spawn_faction_adddup2.c: Add workaround implementation if
2650         HAVE_WORKING_POSIX_SPAWN.
2651         * modules/spawn (Makefile): Substitute
2652         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2653         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
2654         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
2655         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2656         (Depends-on): Update conditions.
2657         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
2658         the Solaris 11 bug.
2659
2660 2012-01-08  Bruno Haible  <bruno@clisp.org>
2661
2662         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
2663         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2664         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2665         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
2666         HAVE_WORKING_POSIX_SPAWN.
2667         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
2668         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
2669         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2670         * lib/spawn_faction_addclose.c: Add workaround implementation if
2671         HAVE_WORKING_POSIX_SPAWN.
2672         * modules/spawn (Makefile): Substitute
2673         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2674         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
2675         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
2676         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2677         (Depends-on): Update conditions.
2678         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
2679         the Solaris 11 bug.
2680
2681 2012-01-08  Bruno Haible  <bruno@clisp.org>
2682
2683         doc: Update for Solaris 11 2011-11.
2684         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
2685         * m4/printf.m4: Update comments.
2686
2687 2012-01-08  Bruno Haible  <bruno@clisp.org>
2688
2689         mktime: Avoid compilation error on Solaris 11.
2690         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
2691
2692 2012-01-08  Bruno Haible  <bruno@clisp.org>
2693
2694         doc: Small fix.
2695         * doc/posix-headers/nl_types.texi: Correct platforms list.
2696
2697 2012-01-08  Simon Josefsson  <simon@josefsson.org>
2698
2699         Add lgpl-3.0 module.
2700         * MODULES.html.sh (Support for building documentation): Add
2701         lgpl-3.0.
2702         * modules/lgpl-3.0: New file.
2703
2704 2012-01-08  Jim Meyering  <meyering@redhat.com>
2705
2706         select.c: indent with spaces, not TABs
2707         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
2708
2709 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2710
2711         quotearg: do not use grave accent for left quote
2712         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
2713         locale_quoting_style.
2714         (quotearg_buffer_restyled): Fix example.
2715         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
2716
2717 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2718
2719         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
2720         Most programs do not have translation catalogs for English and much
2721         less separate catalogs for British and American English.  Drop the
2722         suggestion to translators about these two, and provide it
2723         automatically for Unicode locales.  Like most programs, even those
2724         using American English, we use single quotation marks.  This conflicts
2725         with the American typographic convention, but works better when you
2726         cite the entire error message within double quotes.  It also tries not
2727         to clash with established practice and with what non-gnulib programs
2728         will usually do.
2729         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
2730         using an UTF-8 or GB-18030 locale.  The list of other locales with
2731         quotes was provided by Bruno Haible.
2732         (quotearg_buffer_restyled): Adjust instructions to translators.
2733         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
2734         text, since this would be wrong when using Unicode.
2735         * modules/quotearg: Depend on c-strcaseeq.
2736
2737 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2738
2739         quotearg: fix Wikipedia link
2740         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
2741
2742 2012-01-07  Simon Josefsson  <simon@josefsson.org>
2743
2744         Fix for mingw with MSVC9.
2745         * m4/ld-version-script.m4: Check that compiler rejects version
2746         scripts with syntax errors.  Reported by Bruno Haible
2747         <bruno@clisp.org>.
2748
2749 2012-01-06  Bruno Haible  <bruno@clisp.org>
2750
2751         Talk about "native Windows API", not "Woe32".
2752         * lib/accept4.c: Update comments to mention native Windows.
2753         * lib/execute.c: Likewise.
2754         * lib/fatal-signal.c: Likewise.
2755         * lib/localcharset.c: Likewise.
2756         * lib/nanosleep.c: Likewise.
2757         * lib/nl_langinfo.c: Likewise.
2758         * lib/pclose.c: Likewise.
2759         * lib/pipe-filter-gi.c: Likewise.
2760         * lib/pipe-filter-ii.c: Likewise.
2761         * lib/pipe.c: Likewise.
2762         * lib/pipe2.c: Likewise.
2763         * lib/popen.c: Likewise.
2764         * lib/progreloc.c: Likewise.
2765         * lib/relocatable.c: Likewise.
2766         * lib/sigaction.c: Likewise.
2767         * lib/sigprocmask.c: Likewise.
2768         * lib/spawn-pipe.h: Likewise.
2769         * lib/spawn-pipe.c: Likewise.
2770         * lib/spawni.c: Likewise.
2771         * lib/stat-time.h: Likewise.
2772         * lib/w32spawn.h: Likewise.
2773         * tests/test-isatty.c: Likewise.
2774         * lib/config.charset: More comments.
2775         * doc/gnulib-intro.texi: Mention native Windows.
2776         * doc/posix-functions/_Exit_C99.texi: Likewise.
2777         * doc/posix-headers/fcntl.texi: Likewise.
2778
2779 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
2780
2781         argp: Avoid crash if translator uses % characters in a translation.
2782         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
2783         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2784
2785 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
2786
2787         doc: C11 and C++11 are now official
2788         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
2789         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
2790         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
2791         * modules/stdalign:
2792         Replace references to draft C1X to C11, and to draft C++0X to C++11.
2793
2794 2012-01-06  Bruno Haible  <bruno@clisp.org>
2795
2796         uc-is-grapheme-break tests: Tweak.
2797         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
2798         message.
2799
2800 2012-01-06  Bruno Haible  <bruno@clisp.org>
2801
2802         test-init.sh: correct the test for diff -u
2803         * tests/test-init.sh: Also redirect stdout to /dev/null.
2804
2805 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2806
2807         Use ', not `, for quoting output.
2808         * build-aux/announce-gen (usage, sizes, print_news_deltas)
2809         (print_changelog_deltas, get_tool_versions, main program):
2810         * build-aux/git-version-gen:
2811         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
2812         * build-aux/move-if-change (help):
2813         * build-aux/useless-if-before-free (usage, main program):
2814         * check-module (parse_module_file, usage)
2815         (find_included_lib_files, check_module):
2816         * lib/argmatch.c (main) [TEST]:
2817         * lib/argp-help.c (_help):
2818         * lib/getopt1.c (main) [TEST]:
2819         * lib/git-merge-changelog.c (usage):
2820         * lib/xstrtol-error.c (xstrtol_error):
2821         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
2822         * m4/argz.m4 (gl_FUNC_ARGZ):
2823         * m4/bison.m4 (gl_BISON):
2824         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
2825         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
2826         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
2827         * m4/fpending.m4 (gl_PREREQ_FPENDING):
2828         * m4/gc-random.m4 (gl_GC_RANDOM):
2829         * m4/intl.m4 (gt_CHECK_DECL):
2830         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
2831         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
2832         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
2833         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
2834         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
2835         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
2836         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
2837         * tests/test-dirname.c (main):
2838         * tests/test-getpass.c (main):
2839         * tests/test-iconvme.c (main):
2840         * tests/test-parse-datetime.c (LOG):
2841         * tests/test-xstrtoimax.sh:
2842         * tests/test-xstrtol.sh:
2843         * tests/test-xstrtoll.sh:
2844         * tests/test-xstrtoumax.sh:
2845         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
2846         * top/GNUmakefile (abort-due-to-no-makefile):
2847         Quote 'like this', not `like this', as per the recent change to
2848         the GNU coding standards.
2849
2850 2012-01-05  Bruno Haible  <bruno@clisp.org>
2851
2852         strtoimax: Don't force a replacement on systems where intmax_t is int.
2853         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
2854         'intmax_t' is not larger than 'int'.
2855         Reported by Pádraig Brady <P@draigBrady.com>.
2856
2857 2012-01-05  Bruno Haible  <bruno@clisp.org>
2858
2859         doc: Mention NetBSD bugs.
2860         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
2861         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
2862
2863 2012-01-05  Bruno Haible  <bruno@clisp.org>
2864
2865         strtoumax tests: Enhance tests.
2866         * tests/test-strtoumax.c (main): Add tests for large values.
2867
2868 2012-01-05  Bruno Haible  <bruno@clisp.org>
2869
2870         strtoimax: Work around AIX 5.1 bug.
2871         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
2872         definition.
2873         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
2874         Set HAVE_STRTOIMAX.
2875         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
2876         REPLACE_STRTOIMAX.
2877         * modules/inttypes-incomplete (Makefile.am): Substitute
2878         REPLACE_STRTOIMAX.
2879         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
2880         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
2881         (Depends-on): Update conditions.
2882         * tests/test-strtoimax.c (main): Add tests for large values.
2883         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
2884
2885 2012-01-05  Bruno Haible  <bruno@clisp.org>
2886
2887         inttypes: Modernize.
2888         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
2889         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
2890         (Makefile.am): Update inttypes.h rule.
2891
2892 2012-01-05  Jim Meyering  <meyering@redhat.com>
2893
2894         init.sh: don't waste a subshell just to redirect stderr
2895         * tests/init.sh: In testing for diff -u and diff -c, use a
2896         stderr-redirecting exec inside `...` rather than a subshell.
2897
2898         test-init.sh: avoid failure on HP-UX 11.00
2899         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
2900         resolves to diff -c or cmp.  Reported by Bruno Haible.
2901
2902 2012-01-05  Bruno Haible  <bruno@clisp.org>
2903
2904         Tests for module 'strtoull'.
2905         * modules/strtoull-tests: New file.
2906         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
2907
2908 2012-01-05  Bruno Haible  <bruno@clisp.org>
2909
2910         Tests for module 'strtoll'.
2911         * modules/strtoll-tests: New file.
2912         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
2913
2914 2012-01-05  Bruno Haible  <bruno@clisp.org>
2915
2916         Tests for module 'strtoul'.
2917         * modules/strtoul-tests: New file.
2918         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
2919
2920 2012-01-05  Bruno Haible  <bruno@clisp.org>
2921
2922         Tests for module 'strtol'.
2923         * modules/strtol-tests: New file.
2924         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
2925
2926 2012-01-04  Jim Meyering  <meyering@redhat.com>
2927
2928         test-init.sh: accommodate Solaris 5.10's different diff -u output
2929         * tests/test-init.sh: Also exempt @@ lines from the comparison
2930         of diff output, since Solaris 5.10 and GNU diff formats differ.
2931         Reported by Stefano Lattarini.
2932
2933 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2934
2935         test-posixtm: don't assume signed integer wraparound
2936         * tests/test-posixtm.c (main): Don't assume wraparound semantics
2937         after signed integer overflow.  Inspired by (though it may not
2938         fix) Bruno Haible's bug report in
2939         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
2940
2941         Spell out "Windows 9x" and "Windows XP".
2942         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
2943         "Windows 9x" and "WinXP" with "Windows XP".
2944
2945 2012-01-04  Jim Meyering  <meyering@redhat.com>
2946
2947         test-vc-list-files-cvs.sh: remove obsolete comment
2948         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
2949         double exit.  Now that's all encapsulated via skip_ and Exit.
2950
2951 2012-01-04  Bruno Haible  <bruno@clisp.org>
2952
2953         Talk about "native Windows API", not "Win32".
2954         * lib/classpath.c: Update comments to mention native Windows.
2955         * lib/csharpexec.c: Likewise.
2956         * lib/dup2.c: Likewise.
2957         * lib/error.c: Likewise.
2958         * lib/fcntl.c: Likewise.
2959         * lib/filename.h: Likewise.
2960         * lib/findprog.c: Likewise.
2961         * lib/get-rusage-as.c: Likewise.
2962         * lib/get-rusage-data.c: Likewise.
2963         * lib/getpagesize.c: Likewise.
2964         * lib/javaexec.c: Likewise.
2965         * lib/msvc-inval.c: Likewise.
2966         * lib/msvc-nothrow.c: Likewise.
2967         * lib/nanosleep.c: Likewise.
2968         * lib/nonblocking.c: Likewise.
2969         * lib/printf-parse.c: Likewise.
2970         * lib/setlocale.c: Likewise.
2971         * lib/sigaction.c: Likewise.
2972         * lib/strerror_r.c: Likewise.
2973         * lib/tmpdir.c: Likewise.
2974         * lib/vasnprintf.c: Likewise.
2975         * lib/w32spawn.h: Likewise.
2976         * lib/waitpid.c: Likewise.
2977         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
2978         * m4/locale-ar.m4: Likewise.
2979         * m4/locale-fr.m4: Likewise.
2980         * m4/locale-ja.m4: Likewise.
2981         * m4/locale-tr.m4: Likewise.
2982         * m4/locale-zh.m4: Likewise.
2983         * m4/printf.m4: Likewise.
2984         * tests/test-cloexec.c: Likewise.
2985         * tests/test-copy-acl.sh: Likewise.
2986         * tests/test-copy-file.sh: Likewise.
2987         * tests/test-file-has-acl.sh: Likewise.
2988         * tests/test-set-mode-acl.sh: Likewise.
2989         * tests/test-dup-safer.c: Likewise.
2990         * tests/test-dup2.c: Likewise.
2991         * tests/test-dup3.c: Likewise.
2992         * tests/test-fcntl.c: Likewise.
2993         * tests/test-nonblocking-pipe.h: Likewise.
2994         * tests/test-nonblocking-socket.h: Likewise.
2995         * tests/test-pipe.c: Likewise.
2996         * tests/test-pipe2.c: Likewise.
2997         * tests/test-spawn-pipe-child.c: Likewise.
2998         * doc/acl-resources.txt: Likewise.
2999         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3000         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3001         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3002         * lib/localcharset.c: Update comments to mention native Windows.
3003         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3004         * lib/localename.c: Likewise.
3005         * lib/progreloc.c: Likewise.
3006         * lib/relocatable.c: Likewise.
3007         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3008         (windows_compute_revents): Renamed from win32_compute_revents.
3009         (windows_compute_revents_socket): Renamed from
3010         win32_compute_revents_socket.
3011         * lib/select.c: Update comments to mention native Windows.
3012         (windows_poll_handle): Renamed from win32_poll_handle.
3013         * m4/threadlib.m4: Update comments to mention native Windows.
3014         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3015         --enable-threads=windows instead of --enable-threads=win32. Set
3016         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3017         * lib/glthread/lock.h: Update comments to mention native Windows.
3018         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3019         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3020         USE_WIN32_THREADS.
3021         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3022         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3023         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3024         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3025         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3026         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3027         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3028         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3029         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3030         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3031         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3032         * tests/test-tls.c: Likewise.
3033         Rationale:
3034         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3035         on both 32-bit and 64-bit Windows systems.
3036         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3037         line of distinction is between "native Windows" on one side and Unix/
3038         POSIX systems on the other side. More details in
3039         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3040         Suggested by Paul Eggert.
3041
3042 2012-01-03  Bruno Haible  <bruno@clisp.org>
3043
3044         isatty: Support for MSVC 9.
3045         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3046         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3047         (_isatty_nothrow): New function.
3048         (isatty): Use it instead of _isatty.
3049         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3050         * lib/poll.c (IsConsoleHandle): Likewise.
3051         * lib/select.c (IsConsoleHandle): Likewise.
3052         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3053         (gl_PREREQ_ISATTY): New macro.
3054         * modules/isatty (Depends-on): Add msvc-inval.
3055         (configure.ac): Invoke gl_PREREQ_ISATTY.
3056
3057 2012-01-03  Jim Meyering  <meyering@redhat.com>
3058
3059         maint.mk: remove temporary transition aid from over 1.5 years ago
3060         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3061         purpose was to aid in the transition (avoiding silent malfunction)
3062         from that old name to the new _sc_search_regexp.  This shim was
3063         added by commit 219c504b.
3064
3065         init.sh: do not try to accommodate compare arguments starting with "-"
3066         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3067         compare arguments that start with "-".  Besides, we do not worry
3068         about this when invoking diff or cmp; why start now with sed?
3069         Using "--" to separate options from argument would trigger sed
3070         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3071         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3072
3073 2012-01-02  Bruno Haible  <bruno@clisp.org>
3074
3075         Enhance tests for module 'isatty'.
3076         * modules/isatty-tests (Depends-on): Add pipe-posix.
3077         * tests/test-isatty.c: Include <fcntl.h>.
3078         (DEV_NULL): New macro.
3079         (main): Test the resut of isatty() also on regular files, pipes, and
3080         /dev/null.
3081
3082         New module 'isatty'.
3083         * lib/unistd.in.h (isatty): New declaration.
3084         * lib/isatty.c: New file, based on an idea of
3085         Bastien Roucariès <roucaries.bastien@gmail.com>.
3086         * m4/isatty.m4: New file.
3087         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3088         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3089         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3090         REPLACE_ISATTY.
3091         * modules/isatty: New file.
3092         * doc/posix-functions/isatty.texi: Mention the new module.
3093         Suggested by Paolo Bonzini.
3094
3095 2012-01-02  Bruno Haible  <bruno@clisp.org>
3096
3097         canonicalize: Tweak 2011-12-29 commit.
3098         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3099         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3100
3101 2012-01-02  Jim Meyering  <meyering@redhat.com>
3102
3103         gitlog-to-changelog: describe input syntax in --help output
3104         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3105
3106         gitlog-to-changelog: fix typo in --help: show backslash before email @
3107         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3108         in sources, but not in actual output.
3109
3110 2011-12-30  Jim Meyering  <meyering@redhat.com>
3111
3112         gitlog-to-changelog: don't malfunction when name contains %-directive
3113         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3114         in a name string cause trouble.  E.g., with a user name of "%s",
3115         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3116
3117 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3118
3119         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3120         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3121         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3122         the "  (tiny change)" notation that is appended to the standard
3123         ChangeLog "date  name  email" header line.
3124
3125 2012-01-01  Jim Meyering  <meyering@redhat.com>
3126
3127         test-framework-sh: init.sh: fix "make dist" failure
3128         When using gnulib-tool's --with-tests option and any module that
3129         depends on test-framework-sh, "make dist" would fail due to the
3130         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3131         in the gltests directory, and not in the gllib/ directory.
3132         One way to work around that is to move the EXTRA_DIST += init.sh
3133         from the primary module to the -tests one:
3134         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3135         * modules/test-framework-sh (Makefile.am): ...not here.
3136         Reported by Tom G. Christensen in
3137         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3138
3139         version-etc: update copyright year reported by --version
3140         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3141
3142 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3143
3144         canonicalize: only stat() if required
3145         * lib/canonicalize.c (canonicalize_filename_mode):
3146         Avoid calling l?stat() when both CAN_MISSING,
3147         and CAN_NOLINKS are set, as we neither need
3148         to resolve symlinks or test component existence.
3149
3150 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3151
3152         doc: cover st_ino issues once; add OpenVMS etc.
3153         * doc/posix-functions/stat.texi (stat):
3154         * doc/posix-functions/lstat.texi (lstat):
3155         * doc/posix-functions/fstatat.texi (fstatat):
3156         * doc/posix-functions/fstat.texi (fstat):
3157         Move general 'struct stat' stuff to sys_stat.texi,
3158         leaving behind a pointer.
3159         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3160         Merge duplicate info about 'struct stat' problems into here.
3161         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3162         and suggest partial workarounds.
3163
3164         same-inode: port to OpenVMS
3165         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3166         three st_ino values.
3167
3168 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3169
3170         canonicalize: fix references to stat() and lstat()
3171         * lib/canonicalize.c (canonicalize_filename_mode):
3172         Ensure references always resolve to a replacement
3173         function if required (even via a macro).
3174
3175 2011-12-30  Jim Meyering  <meyering@redhat.com>
3176
3177         gitlog-to-changelog: remove a little duplication
3178         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3179         rather than twice.
3180
3181 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3182
3183         canonicalize: add support for not resolving symlinks
3184         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3185         indicate we don't want to follow symlinks.  Also
3186         provide CAN_MODE_MASK to aid setting these existing
3187         mutually exclusive values.
3188         * lib/canonicalize.c (canonicalize_filename_mode):
3189         Extract the flags from can_mode parameter, which
3190         are currently just used to select between stat()
3191         and lstat().  Also ensure that mutually exclusive
3192         values are flagged immediately as invalid.
3193         * tests/test-canonicalize.c: Verify symlinks are
3194         not followed, and that invalid flag combinations
3195         are diagnosed.
3196
3197 2011-12-25  Jim Meyering  <meyering@redhat.com>
3198
3199         gitlog-to-changelog: do not clump multi-paragraph entries
3200         Identical header lines (date,name,email+coauthors) are suppressed,
3201         thus putting all entries with those same characteristics under
3202         a single header.  However, when a log entry consists of two or
3203         more paragraphs, it may not be clear where it starts and ends.
3204         This change makes it so that such an entry is always separated
3205         from others by a header line, even when that header would
3206         otherwise be suppressed.
3207         * build-aux/gitlog-to-changelog: Implement the above.
3208         Inspired by a related request from Stefano Lattarini in
3209         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3210
3211 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3212
3213         announce-gen: fix `cmd' typo in diagnostic
3214         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3215         diagnostic: a missing '$' meant that the command was not output.
3216
3217 2011-12-23  Jim Meyering  <meyering@redhat.com>
3218
3219         test-framework-sh: distribute init.sh
3220         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3221         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3222         fail due to the lack of init.sh.
3223
3224         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3225         * modules/atexit-tests: Rather than listing tests/init.sh,
3226         now that there's a module for it, simply depend on that new module.
3227         * modules/closein-tests: Likewise.
3228         * modules/exclude-tests: Likewise.
3229         * modules/getcwd-tests: Likewise.
3230         * modules/perror-tests: Likewise.
3231         * modules/pread-tests: Likewise.
3232         * modules/pwrite-tests: Likewise.
3233         * modules/vc-list-files-tests: Likewise.
3234         * modules/verify-tests: Likewise.
3235         * modules/xalloc-die-tests: Likewise.
3236         * modules/xstrtoimax-tests: Likewise.
3237         * modules/xstrtol-tests: Likewise.
3238         * modules/xstrtoll-tests: Likewise.
3239         * modules/xstrtoumax-tests: Likewise.
3240         * modules/yesno-tests: Likewise.
3241
3242 2011-12-22  Jim Meyering  <meyering@redhat.com>
3243
3244         test-framework-sh: add minimal tests of init.sh's compare function
3245         * modules/test-framework-sh-tests: New file.
3246         * tests/test-init.sh: New file.
3247
3248         test-framework-sh: new module
3249         * modules/test-framework-sh: New file.
3250         * MODULES.html.sh (Support for maintaining and releasing projects):
3251         List it.
3252
3253         init.sh: do not emit simulated diff output to stderr
3254         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3255
3256 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3257
3258         .gitignore: ignore gnulib.dvi and regex.info
3259         * doc/.gitignore:add gnulib.dvi and regex.info
3260
3261 2011-12-22  Jim Meyering  <meyering@redhat.com>
3262
3263         init.sh: correct previous change
3264         * tests/init.sh (compare): My previous change was wrong.
3265         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3266
3267         init.sh: avoid unwarranted test failure when using "set -e"
3268         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3269         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3270         a use like "compare exp out" would get evoke an unconditional failure.
3271
3272 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3273
3274         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3275         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3276         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3277         autoreconf that did not.
3278         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3279         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3280
3281 2011-12-17  Jim Meyering  <meyering@redhat.com>
3282
3283         bootstrap: remove some now-unneeded code
3284         This script arose back when gnulib-tool was young.
3285         Since then, it has seen improvements that render much of this
3286         script unnecessary.  In particular, it can now make symlinks
3287         to the files it uses.  Also, I no longer see as much value in
3288         marking files as read-only via comments.
3289         If you relied on the symlink-creation feature of the preceding
3290         version of this script, you can get most of that functionality
3291         by adding the --symlink option to the definition of
3292         gnulib_tool_option_extras in your bootstrap.conf file.
3293         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3294         Run autopoint and libtoolize *before* gnulib-tool.
3295         After it, run an abbreviated autoreconf, rather than a loop around
3296         all tools.
3297         (slirp, bt_mark_as_generated): Remove functions.
3298
3299 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3300
3301         ftoastr: fix typo
3302         * lib/ftoastr.h: Fix misspelling in comment.
3303
3304 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3305
3306         * top/README-release: fix punctuation.
3307
3308 2011-12-17  Jim Meyering  <meyering@redhat.com>
3309
3310         bootstrap: correct the recent buildreq change
3311         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3312         had no effect.
3313         * build-aux/bootstrap (buildreq): Bracket each search term with
3314         "*...*", so that the shell "case" statement works as intended.
3315         Add comments.
3316
3317 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3318
3319         build: let bootstrap resort to wget when downloading .po files
3320         * build-aux/bootstrap (download_po_files): Fallback to wget when
3321         downloading the .po files via rsync fails.  This is necessary to
3322         bootstrap from behind a strict firewall.
3323
3324 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3325
3326         stdint: don't assume C++11 when compiling with g++
3327         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
3328         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
3329         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
3330         work also in C++ before C++11, as that improperly inhibits
3331         generating a substitute stdint.h for that case.
3332
3333 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3334
3335         alloca: protect comment from gnulib-tool
3336         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3337         that gnulib-tool doesn't think it's a license, and munge it to
3338         say "GCC version 3".
3339
3340 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3341
3342         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3343         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3344         $(abs_top_builddir) instead of $(top_builddir).
3345
3346 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3347
3348         strftime-tests: also test nanoseconds
3349         * tests/test-strftime.c (T): Add a test of %N.
3350
3351 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3352
3353         inttypes, stdint: add C++11 support
3354         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
3355         when including inttypes.h and stdint.h.  Support this change to
3356         the standard.
3357         * doc/posix-headers/inttypes.texi (inttypes.h):
3358         * doc/posix-headers/stdint.texi (stdint.h): Document this.
3359         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
3360         Define if not defined already, for the benefit of pre-C++11 hosts.
3361         Define the standard format macros (e.g., PRId8) always.
3362         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
3363         Likewise, if __cpluspus.  Define the standard constant and limit
3364         macros (e.g., INT8_C, INT8_MAX) always.
3365         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
3366         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
3367         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
3368         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
3369         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
3370         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
3371         Likewise.
3372
3373 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3374
3375         nonblocking tests: Fix test failure on Linux/PPC.
3376         Suggested by Prerna Saxena in
3377         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
3378         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
3379         Set to 1100000.
3380
3381 2011-12-12  Jim Meyering  <meyering@redhat.com>
3382
3383         argmatch: don't hard-code `' when listing valid option arguments
3384         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
3385         use the quote function to add quotes.  Use fputs rather than
3386         fprintf for the format string with no format directive.
3387
3388 2011-12-07  Eric Blake  <eblake@redhat.com>
3389
3390         bootstrap: detect tools required by gnulib-tool
3391         * build-aux/bootstrap (buildreq): Provide minimum implicit
3392         dependencies.
3393         * DEPENDENCIES: Mention patch as a prereq.
3394
3395 2011-12-04  Bruno Haible  <bruno@clisp.org>
3396
3397         sethostname: Port to Windows platforms.
3398         * lib/sethostname.c: Provide an alternate implementation for Windows
3399         platforms.
3400         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
3401         (main): Skip the test if sethostname() fails with EPERM. On Windows
3402         platforms, don't check the result of gethostname().
3403
3404 2011-12-04  Bruno Haible  <bruno@clisp.org>
3405             Jim Meyering  <meyering@redhat.com>
3406
3407         tests: Avoid spurious error message on platforms without mktemp program.
3408         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
3409
3410 2011-12-04  Bruno Haible  <bruno@clisp.org>
3411
3412         sethostname: Fix documentation.
3413         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
3414         "not fixed" section.
3415
3416 2011-12-03  Bruno Haible  <bruno@clisp.org>
3417
3418         gnulib-tool: Verify that the License field is present and non-empty.
3419         * gnulib-tool (func_get_license_raw): New function, extracted from
3420         func_get_license.
3421         (func_get_license): Use it. Warn if the module is not a test module and
3422         has no license.
3423         Suggested by Jim Meyering.
3424
3425 2011-12-03  Bruno Haible  <bruno@clisp.org>
3426
3427         sethostname tests: Fix link error on mingw.
3428         * tests/test-sethostname1.c: New file, extracted from
3429         tests/test-sethostname.c.
3430         * tests/test-sethostname2.c: New file, extracted from
3431         tests/test-sethostname.c.
3432         * tests/test-sethostname.c: Remove file.
3433         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
3434         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
3435         (Depends-on): Add gethostname.
3436         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
3437         Link the latter with $(GETHOSTNAME_LIB).
3438
3439         sethostname tests: Fix compilation error on mingw.
3440         * tests/test-sethostname.c: Don't include <sys/types.h>.
3441         (geteuid): Use a dummy value without uid_t.
3442         * modules/sethostname-tests (Depends-on): Remove sys_types.
3443
3444         sethostname tests: Avoid a gcc warning.
3445         * tests/test-sethostname.c (main): Remove an unused variable.
3446
3447         Tweak last commit.
3448         * modules/sethostname-tests (Files): Sort by decreasing importance.
3449         (configure.ac): Check for geteuid.
3450         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
3451         the test when there's nothing to test. Drop an unnecessary cast.
3452         Improve an error message. Verify that the final sethostname() call
3453         succeeds.
3454
3455 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3456
3457         Add a test suite for the sethostname module.
3458         * modules/sethostname-tests: New file.  A test program
3459         for the sethostname module.
3460         * tests/test-sethostname.c: Likewise.
3461
3462 2011-12-03  Bruno Haible  <bruno@clisp.org>
3463
3464         Tweak last commit.
3465         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
3466         Fix preprocessor directives indentation. Fix typos.
3467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
3468         * modules/unistd (Makefile): Likewise.
3469
3470 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3471
3472         Integrate the sethostname module into unistd.
3473         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
3474         into the unistd.h header.
3475         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
3476         preprocessor directives.
3477         * modules/unistd: Setup the Makefile substitutions of the
3478         SETHOSTNAME preprocessor directives.
3479
3480 2011-12-03  Bruno Haible  <bruno@clisp.org>
3481
3482         Tweak last commit.
3483         * lib/sethostname.c: Don't include <string.h>.
3484         (sethostname): No need to copy the argument string to the stack. Don't
3485         call clearerr. Preserve errno when fprintf failed.
3486         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
3487         Don't invoke AC_REPLACE_FUNCS.
3488         * modules/sethostname (Link): Remove empty section.
3489         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
3490         failure problem.
3491
3492 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3493
3494         New module 'sethostname'.
3495         * lib/sethostname.c (sethostname): New file.  Provide sethostname
3496         for systems that lack it.
3497         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
3498         sethostname declaration and function.
3499         * modules/sethostname: New file.  Define the sethostname module.
3500
3501 2011-12-03  Bruno Haible  <bruno@clisp.org>
3502
3503         Tweak last commit.
3504         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
3505
3506 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3507
3508         Split the HOST_NAME_MAX detection into a separate m4 macro.
3509         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
3510         macro so it can be used by the pending sethostname module.
3511
3512 2011-12-03  Bruno Haible  <bruno@clisp.org>
3513
3514         Fix module descriptions syntax.
3515         * modules/argv-iter (License): Fix syntax.
3516         * modules/di-set (License): Likewise.
3517         * modules/ino-map (License): Likewise.
3518         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
3519
3520 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
3521
3522         stdalign: port to Clang 3.0
3523         Problem reported by Simon Josefsson in
3524         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
3525         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
3526         which has <stdalign.h> but which does not define alignof.
3527         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
3528
3529 2011-12-01  Eric Blake  <eblake@redhat.com>
3530
3531         mktempd: silence dd usage
3532         * build-aux/mktempd (rand_bytes): Silence dd.
3533
3534 2011-11-30  Simon Josefsson  <simon@josefsson.org>
3535
3536         manywarnings: Don't mention gcc version in docstring.
3537         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
3538         Jim Meyering <meyering@redhat.com>.
3539
3540 2011-11-30  Jim Meyering  <meyering@redhat.com>
3541
3542         hash: mark a few floating point constants with "f" suffix
3543         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
3544         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
3545         floating point constants with "f", since they're destined to be
3546         saved/used as "float"s.
3547
3548 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
3549
3550         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
3551         * tests/test-float.c (test_long_double): Correct and re-enable the
3552         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
3553
3554 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
3555
3556         Avoid subtracting two pointers that don't point into the same block.
3557         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
3558         only pointers into the same memory block are subtracted. We cannot
3559         assume that sizeof (ptrdiff_t) == sizeof (void *).
3560
3561 2011-11-29  Eric Blake  <eblake@redhat.com>
3562
3563         maint.mk: add syntax check for use of compare from init.sh
3564         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
3565         moved here from coreutils.
3566
3567         manywarnings: drop -Wunsuffixed-float-constants
3568         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
3569         '1.0D', which is the only way to silence this warning for 'double'.
3570
3571 2011-11-29  Jim Meyering  <meyering@redhat.com>
3572
3573         hash: mark compute_bucket_size with the pure attribute
3574         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
3575
3576         quotearg, propername: correct pragma guard expression
3577         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
3578         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
3579
3580 2011-11-28  Jim Meyering  <meyering@redhat.com>
3581
3582         propername: do not mark proper_name with the const attribute
3583         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
3584         since it examines data pointed to by its parameter.
3585         * lib/propername.c (proper_name): Instead, add a pragma to suppress
3586         the suggestion from -Wsuggest-attribute=const.
3587
3588         propername: mark one more function as const
3589         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
3590
3591 2011-11-27  Jim Meyering  <meyering@redhat.com>
3592
3593         mark functions with const and pure attributes
3594
3595         Mark functions per suggestions from gcc-4.6 when using these options:
3596         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
3597         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
3598         Follow these guidelines: when possible, apply the attribute to
3599         an extern declaration, not to its definition.  Apply it to the
3600         definition only when the definition is static.
3601         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
3602         * lib/argv-iter.h (argv_iter_n_args): Likewise.
3603         * lib/base64.h (isbase64): Likewise.
3604         * lib/basename-lgpl.c (last_component, base_len): Likewise.
3605         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
3606         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
3607         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
3608         (c_tolower, c_toupper): Likewise.
3609         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
3610         * lib/chdir-long.c (find_non_slash): Likewise.
3611         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
3612         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
3613         * lib/file-type.h (file_type): Likewise.
3614         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
3615         * lib/filevercmp.c (verrevcmp): Likewise.
3616         * lib/freadahead.h (freadahead): Likewise.
3617         * lib/fts.c (fts_maxarglen): Likewise.
3618         * lib/hash-pjw.h (hash_pjw): Likewise.
3619         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
3620         * lib/hash.c (is_prime, next_prime): Likewise.
3621         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
3622         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
3623         (hash_table_ok, hash_get_first, hash_string): Likewise.
3624         (compute_bucket_size): Likewise.
3625         * lib/i-ring.h (i_ring_empty): Likewise.
3626         * lib/isnan.c (isnanl): Likewise.
3627         * lib/math.h (isnanl, rpl_isnanl): Likewise.
3628         * lib/memcasecmp.h (memcasecmp): Likewise.
3629         * lib/memchr2.h (memchr2): Likewise.
3630         * lib/memcmp2.h (memcmp2): Likewise.
3631         * lib/parse-datetime.y (lookup_zone): Likewise.
3632         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
3633         [!WINDOWS_SOCKETS]: Likewise.
3634         * lib/strnlen1.h (strnlen1): Likewise.
3635         * lib/uniwidth.in.h (uc_width): Likewise.
3636         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
3637         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
3638         (quoting_options_from_style): Add a comment.
3639         * lib/propername.h (proper_name): Add a comment.
3640
3641 2011-11-27  Bruno Haible  <bruno@clisp.org>
3642
3643         Remove unused macros from !_LIBC code in glibc-borrowed files.
3644         * lib/fnmatch.c (STRCOLL): Remove macro.
3645         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
3646         * lib/glob.c (__stat, __readdir64): Remove macros.
3647         * lib/tempname.c (__open64, __xstat64): Remove macros.
3648         Suggested by Paul Eggert.
3649
3650 2011-11-27  Bruno Haible  <bruno@clisp.org>
3651
3652         getcwd: Fix link error on MSVC 9.
3653         * modules/getcwd (Depends-on): Add readdir, rewinddir.
3654
3655 2011-11-27  Bruno Haible  <bruno@clisp.org>
3656
3657         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
3658         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
3659         HAVE_OPENDIR is 0.
3660         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
3661         HAVE_CLOSEDIR is 0.
3662         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
3663         is 0.
3664         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
3665
3666 2011-11-27  Bruno Haible  <bruno@clisp.org>
3667
3668         getcwd: Fix bug from 2011-08-17.
3669         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
3670         platforms that need it.
3671         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
3672         code of 4 to be a failure, not a success. This ensures that
3673         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
3674
3675 2011-11-27  Bruno Haible  <bruno@clisp.org>
3676
3677         binary-io tests: Avoid test failure on mingw when libtool is used.
3678         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
3679         Don't verify the size of t-bin-out1.tmp here.
3680         * tests/test-binary-io.sh: Verify it here.
3681         Reported by Simon Josefsson.
3682
3683 2011-11-26  Bruno Haible  <bruno@clisp.org>
3684
3685         Fix conflict between two instantiations of module 'unistd'.
3686         * gnulib-tool (func_emit_autoconf_snippet): Substitute
3687         ${include_guard_prefix} also in the autoconf snippet.
3688         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
3689         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
3690         GNULIB_UNISTD_H_GETOPT.
3691         * modules/getopt-posix (configure.ac): Set the
3692         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
3693         * modules/getopt-gnu (configure.ac): Likewise.
3694         * modules/unistd (Makefile.am): Change the substitution value of
3695         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
3696         Reported by Simon Josefsson.
3697
3698 2011-11-25  Bruno Haible  <bruno@clisp.org>
3699
3700         pagealign_alloc: Doc and comments.
3701         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
3702         module.
3703         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
3704
3705 2011-11-25  Jim Meyering  <meyering@redhat.com>
3706
3707         test-update-copyright.sh: avoid false-positive failure
3708         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
3709         around false positive failure on Cygwin/Windows.  The latter was
3710         matching erroneously-created files with names like
3711         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
3712
3713 2011-11-25  Simon Josefsson  <simon@josefsson.org>
3714
3715         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
3716         * m4/valgrind-tests.m4: Check that the parameters that will be
3717         used works, not just a subset of them.  Reported by Bruno Haible
3718         <bruno@clisp.org>.
3719
3720 2011-11-24  Jim Meyering  <meyering@redhat.com>
3721
3722         test-stdalign.c: comment out long double tests
3723         * tests/test-stdalign.c: Don't try to reduce alignment of long double
3724         variables.  That provokes errors like this from gcc-4.7.0 20111124:
3725         error: '_Alignas' specifiers cannot reduce alignment of \
3726         'static_longdouble_alignas'.
3727
3728 2011-11-22  Jim Meyering  <meyering@redhat.com>
3729
3730         init.sh: make "compare /dev/null FILE" output more readable
3731         * tests/init.sh (compare_): Document the preferred order of arguments.
3732         (emit_diff_u_header_): New function.
3733         (compare_dev_null_): Emit a simulated diff, rather than just the
3734         contents of the unexpected file.  Suggestion from Bruno Haible.
3735
3736 2011-11-21  Jim Meyering  <meyering@redhat.com>
3737             Eric Blake  <eblake@redhat.com>
3738
3739         init.sh: work around OSF/1 5.1's mishandling of /dev/null
3740         * tests/init.sh: Make our compare function slightly more portable.
3741         Reported by Bruno Haible in
3742         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
3743
3744 2011-11-21  Simon Josefsson  <simon@josefsson.org>
3745
3746         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
3747         before using it, in code that ends up in config.h.
3748
3749 2011-11-20  Bruno Haible  <bruno@clisp.org>
3750
3751         getcwd: Work around getcwd bug on AIX 5..7.
3752         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
3753         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
3754         Use a different value for gl_cv_func_getcwd_path_max. Move the
3755         definition of HAVE_PARTLY_WORKING_GETCWD from here...
3756         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
3757         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
3758         Define HAVE_MINIMALLY_WORKING_GETCWD.
3759         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
3760         where it is not even minimally working, that is, on AIX.
3761         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
3762         m4/getcwd-path-max.m4.
3763         (main): Update exit code computation.
3764         * doc/posix-functions/getcwd.texi: Mention list of platforms where
3765         getcwd does not handle long file names.
3766
3767 2011-11-20  Bruno Haible  <bruno@clisp.org>
3768
3769         getcwd: Fix bug from 2009-09-10.
3770         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
3771         like "no".
3772
3773 2011-11-20  Simon Josefsson  <simon@josefsson.org>
3774
3775         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
3776
3777 2011-11-20  Bruno Haible  <bruno@clisp.org>
3778
3779         fma tests: Avoid shadowing local variables.
3780         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
3781         expected.
3782
3783 2011-11-20  Bruno Haible  <bruno@clisp.org>
3784
3785         copysignf tests: Fix.
3786         * tests/test-copysignf.c: Fix signature check.
3787
3788 2011-11-20  Bruno Haible  <bruno@clisp.org>
3789
3790         fma: Remove unused code.
3791         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
3792         unused macros.
3793
3794 2011-11-20  Bruno Haible  <bruno@clisp.org>
3795
3796         sethostname: Fix doc about AIX.
3797         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
3798         sethostname; it has it.
3799
3800         sethostname: Mention more portability problems.
3801         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
3802         problem.
3803         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
3804
3805 2011-11-19  Bruno Haible  <bruno@clisp.org>
3806
3807         Depend on module fcntl-h when AT_FDCWD is used.
3808         * modules/utimens (Depends-on): Add fcntl-h.
3809         * modules/areadlinkat (Depends-on): Likewise.
3810         * modules/areadlinkat-with-size (Depends-on): Likewise.
3811         * modules/faccessat (Depends-on): Likewise.
3812         * modules/fchmodat (Depends-on): Likewise.
3813         * modules/fchownat (Depends-on): Likewise.
3814         * modules/getcwd (Depends-on): Likewise.
3815         * modules/mkdirat (Depends-on): Likewise.
3816         * modules/mkfifoat (Depends-on): Likewise.
3817         * modules/readlinkat (Depends-on): Likewise.
3818         * modules/symlinkat (Depends-on): Likewise.
3819         * modules/dup2-tests (Depends-on): Likewise.
3820         * modules/fdutimensat-tests (Depends-on): Likewise.
3821         * modules/futimens-tests (Depends-on): Likewise.
3822
3823 2011-11-19  Bruno Haible  <bruno@clisp.org>
3824
3825         euidaccess: Update a comment.
3826         * lib/euidaccess.c: Update comment about platforms with faccessat.
3827
3828 2011-11-19  Bruno Haible  <bruno@clisp.org>
3829
3830         openat: Fix file list.
3831         * modules/openat (Files): Remove lib/at-func.c.
3832
3833 2011-11-19  Bruno Haible  <bruno@clisp.org>
3834
3835         fstatat: Simplify.
3836         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
3837         gnulib should define rpl_fstatat, there is a
3838         "#define fstatat rpl_fstatat" in <sys/stat.h>.
3839
3840 2011-11-19  Bruno Haible  <bruno@clisp.org>
3841
3842         Ensure 'inline' can be used in tests/test-utimens-common.h.
3843         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
3844         * modules/futimens-tests (configure.ac): Likewise.
3845         * modules/utimens-tests (configure.ac): Likewise.
3846         * modules/utimensat-tests (configure.ac): Likewise.
3847
3848 2011-11-19  Simon Josefsson  <simon@josefsson.org>
3849
3850         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
3851         not hash_insert0.
3852         (hash_insert_if_absent): Doc fix.
3853
3854 2011-11-19  Simon Josefsson  <simon@josefsson.org>
3855
3856         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
3857
3858 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
3859
3860         test-getcwd: disambiguate exit status
3861         * tests/test-getcwd.c (test_long_name): Return 0..7.
3862         (main): Exit with an unambiguous exit status.  The old
3863         code yielded a mysterious mixture of two failure codes.
3864
3865         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
3866         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
3867         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
3868         rpl_fstatat or fstatat.  This should fix the other problem
3869         reported by Kai Habel in
3870         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3871         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
3872         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
3873         and I reproduced it on a Solaris 8 host we still have in production.
3874
3875 2011-11-18  Jim Meyering  <meyering@redhat.com>
3876
3877         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
3878         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
3879         Add a sentence to the comment.
3880         (hash_insert0): New function that simply calls hash_insert_if_absent.
3881         * lib/hash.h (hash_insert_if_absent): Declare it.
3882         (hash_insert0): Add deprecation attribute.
3883         (_GL_ATTRIBUTE_DEPRECATED): Define.
3884         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
3885         not hash_insert0.
3886         * NEWS: Mention it, even though it's not really an incompatible change.
3887
3888 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
3889
3890         openat: avoid compilation failure due to lack of <errno.h> inclusion
3891         * lib/openat.c: Include <errno.h>.
3892
3893 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3894
3895         * modules/getcwd (Depends-on): Add fdopendir.
3896         This fixes one of the two problems reported by Kai Habel in
3897         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3898
3899         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
3900         stdalign problem reported by Ian Beckwith in
3901         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
3902         * modules/crypto/gc-arcfour (Depends-on):
3903         Depend conditionally on crypto/arcfour.
3904         * modules/crypto/gc-arctwo (Depends-on):
3905         Depend conditionally on crypto/arctwo.
3906         * modules/crypto/gc-des (Depends-on):
3907         Depend conditionally on crypto/des.
3908         * modules/crypto/gc-hmac-md5 (Depends-on):
3909         Depend conditionally on crypto/hmac-md5.
3910         * modules/crypto/gc-hmac-sha1 (Depends-on):
3911         Depend conditionally on crypto/hmac-sha1.
3912         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
3913         * modules/crypto/gc-md4 (Depends-on):
3914         Depend conditionally on crypto/md4.
3915         * modules/crypto/gc-md5 (Depends-on):
3916         Depend conditionally on crypto/md5.
3917         * modules/crypto/gc-rijndael (Depends-on):
3918         Depend conditionally on crypto/rijndael.
3919         * modules/crypto/gc-sha1 (Depends-on):
3920         Depend conditionally on crypto/sha1.
3921         * modules/crypto/gc-arcfour:
3922         * modules/crypto/gc-arctwo:
3923         * modules/crypto/gc-des:
3924         * modules/crypto/gc-hmac-md5:
3925         * modules/crypto/gc-hmac-sha1:
3926         * modules/crypto/gc-md2:
3927         * modules/crypto/gc-md4:
3928         * modules/crypto/gc-md5:
3929         * modules/crypto/gc-rijndael:
3930         * modules/crypto/gc-sha1:
3931         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
3932         now that the conditional dependencies do the work for us.
3933
3934 2011-11-17  Jim Meyering  <meyering@redhat.com>
3935
3936         tests: factor st_ctime-comparison out of two headers
3937         * tests/test-utimens-common.h (ctime_compare): Define.
3938         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
3939         * tests/test-lutimens.h (test_lutimens): Likewise.
3940         * tests/test-utimens.h (test_utimens): Likewise.
3941
3942         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
3943         Invoke the test program via an init.sh-using wrapper.
3944         * tests/test-getcwd.sh: New file.
3945         * modules/getcwd-tests (Files): Add it.
3946         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
3947
3948 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
3949
3950         gitlog-to-changelog: support multi-author commits.
3951         The FSF cares about keeping track of all authors of patches to its
3952         projects, but Git doesn't provide obvious support for multi-author
3953         changesets. Consensus seems to be forming around the use of extra
3954         Signed-off-by inspired lines in the log message formatted as
3955         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
3956         multi-author commits between version control systems.
3957         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
3958         log message and output in standard ChangeLog multi-author format.
3959         Reported by Peter Rosin <peda@lysator.liu.se>
3960
3961 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
3962             Bruno Haible  <bruno@clisp.org>
3963
3964         Fix some modules' file list.
3965         * modules/fstatat (Files): Add m4/lstat.m4.
3966         * modules/openat (Files): Likewise.
3967         * modules/unlinkat (Files): Likewise.
3968
3969 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
3970
3971         maint.mk: fix tight-scope.mk generation in VPATH builds.
3972         * top/maint.mk (tight-scope.mk): Make sure to prefix file
3973         reference with $(srcdir) so that the file is found correctly even
3974         when running `make syntax-check' in a VPATH build.
3975
3976 2011-11-13  Bruno Haible  <bruno@clisp.org>
3977             Jim Meyering  <meyering@redhat.com>
3978
3979         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
3980         * tests/init.sh (compare): Remove "No differences encountered" or
3981         synonymous output from the 'diff' program.
3982
3983 2011-11-13  Bruno Haible  <bruno@clisp.org>
3984
3985         Makefile: Tweak indentation.
3986         * Makefile: Use tab as first character in every line that contains rule
3987         commands.
3988
3989 2011-11-13  Bruno Haible  <bruno@clisp.org>
3990
3991         Syntax check for copyright statements.
3992         * check-copyright: New file.
3993         * Makefile (sc_check_copyright): New rule.
3994
3995 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3996
3997         * build-aux/git-version-gen: Add --prefix to configure the tag
3998         match string.
3999
4000 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4001
4002         * build-aux/git-version-gen: Add --help and --version.
4003
4004 2011-11-12  Jim Meyering  <meyering@redhat.com>
4005
4006         revamp the other test-exclude?.sh scripts to use init.sh, too
4007         * tests/test-exclude1.sh: Use init.sh.
4008         * tests/test-exclude2.sh: Likewise.
4009         * tests/test-exclude3.sh: Likewise.
4010         * tests/test-exclude4.sh: Likewise.
4011         * tests/test-exclude5.sh: Likewise.
4012         * tests/test-exclude6.sh: Likewise.
4013         * tests/test-exclude7.sh: Likewise.
4014         * tests/test-exclude8.sh: Likewise.
4015         * modules/exclude-tests (Files): List init.sh.
4016
4017         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4018         These shell scripts ignored failure of the binary test-exclude,
4019         so making the latter return 77 didn't cause them to be skipped.
4020         * tests/test-exclude5.sh: Exit with test-exclude's error status
4021         when that program fails.  Revamp to use init.sh.
4022         * tests/test-exclude2.sh: Likewise.
4023
4024         test-exclude: fix a typo
4025         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4026
4027 2011-11-11  Bruno Haible  <bruno@clisp.org>
4028
4029         obstack: Fix compilation error on MSVC 9.
4030         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4031
4032 2011-11-11  Jim Meyering  <meyering@redhat.com>
4033
4034         test-exclude: skip tests rather than failing on deficient systems
4035         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4036         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4037         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4038         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4039
4040 2011-11-10  Bruno Haible  <bruno@clisp.org>
4041
4042         ptsname_r test: Avoid gcc warning on glibc systems.
4043         * tests/test-ptsname_r.c (null_ptr): New function.
4044         (test_errors): Use it.
4045
4046 2011-11-10  Bruno Haible  <bruno@clisp.org>
4047
4048         ptsname_r: Avoid compilation error on OSF/1 5.1.
4049         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4050         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4051         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4052         function is not declared or incompatibly declared.
4053         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4054         * modules/ptsname_r (Depends-on, configure.ac): Update.
4055         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4056
4057 2011-11-10  Bruno Haible  <bruno@clisp.org>
4058
4059         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4060         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4061         When cross-compiling, guess yes on all platforms except AIX.
4062         Reported by Ludovic Courtès <ludo@gnu.org>.
4063
4064 2011-11-09  Bruno Haible  <bruno@clisp.org>
4065
4066         ptsname_r tests: Fix bugs.
4067         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4068         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4069
4070 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4071
4072         fstatat: work with cross-compilation
4073         Problem reported by Ludovic Courtès in
4074         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4075         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4076         "cross-compiling" and assume the bug is present.  Replace
4077         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4078         an inverted sense, to be more conservative about our assumptions.
4079         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4080
4081 2011-11-09  Bruno Haible  <bruno@clisp.org>
4082
4083         Improve MODULES.html output.
4084         * modules/mkfifoat (Description): Use the word "function".
4085         * modules/readlinkat (Description): Likewise.
4086         * modules/symlinkat (Description): Likewise.
4087
4088 2011-11-09  Eric Blake  <eblake@redhat.com>
4089
4090         ptsname_r-tests: new test module
4091         * modules/ptsname_r-tests: New module.
4092         * tests/test-ptsname_r.c: New file.
4093
4094         ptsname_r: new module
4095         * modules/ptsname_r: New module.
4096         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4097         * lib/ptsname.c (__ptsname_r): Split...
4098         * lib/ptsname_r.c: ...into new file.
4099         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4100         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4101         * modules/stdlib (Makefile.am): Substitute witnesses.
4102         * lib/stdlib.in.h (ptsname_r): Declare it.
4103         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4104         * MODULES.html.sh (Misc): Likewise.
4105         * modules/ptsname (Depends-on): Alter dependency.
4106         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4107
4108 2011-11-09  Jim Meyering  <meyering@redhat.com>
4109
4110         announce-gen: be more concise when there's only one URL+tarball
4111         * build-aux/announce-gen (get_tool_versions): When you distribute
4112         only one type of tarball, combine the first two "Here are..."
4113         sections and make the key-checking grammar independent of
4114         how many tarballs there are.
4115
4116 2011-11-09  Eric Blake  <eblake@redhat.com>
4117
4118         openpty: provide a stub on mingw
4119         * lib/pty.in.h (includes): Provide forward declarations.
4120         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4121
4122         raise: fix mingw handling of SIGPIPE
4123         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4124
4125 2011-11-08  Bruno Haible  <bruno@clisp.org>
4126
4127         More conditional dependencies.
4128         * modules/faccessat (Depends-on): Add conditions.
4129         * modules/fchmodat (Depends-on): Likewise.
4130         * modules/fchownat (Depends-on): Likewise.
4131         * modules/fstatat (Depends-on): Likewise.
4132         * modules/mkfifoat (Depends-on): Likewise.
4133         * modules/readlinkat (Depends-on): Likewise.
4134         * modules/symlinkat (Depends-on): Likewise.
4135         * modules/unlinkat (Depends-on): Likewise.
4136         * modules/utimensat (Depends-on): Likewise.
4137         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4138         * modules/linkat (Depends-on): Refine the conditions.
4139         * modules/renameat (Depends-on): Likewise.
4140
4141 2011-11-08  Bruno Haible  <bruno@clisp.org>
4142
4143         faccessat: Move AC_LIBOBJ invocation to module description.
4144         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4145         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4146         invocation from here...
4147         * modules/faccessat (configure.ac): ... to here. Invoke
4148         gl_PREREQ_FACCESSAT.
4149
4150 2011-11-08  Bruno Haible  <bruno@clisp.org>
4151
4152         faccessat: Simplify autoconf macro.
4153         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4154         gl_FUNC_EUIDACCESS.
4155
4156 2011-11-08  Bruno Haible  <bruno@clisp.org>
4157
4158         renameat: Fix dependencies.
4159         * modules/renameat (Depends-on): Add stdbool.
4160
4161 2011-11-08  Bruno Haible  <bruno@clisp.org>
4162
4163         mkfifoat: Fix module description.
4164         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4165         not gl_UNISTD_MODULE_INDICATOR.
4166
4167 2011-11-08  Bruno Haible  <bruno@clisp.org>
4168
4169         fstatat: Remove unused dependency.
4170         * modules/fstatat (Depends-on): Remove fstat.
4171
4172 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4173
4174         GNUmakefile: behave when Makefile is missing.
4175         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4176
4177 2011-11-08  Bruno Haible  <bruno@clisp.org>
4178
4179         openat: Conditionalize dependencies.
4180         * lib/openat.c: Reduce the scope of some #includes.
4181         * modules/openat (Depends-on): Add conditions.
4182
4183 2011-11-07  Jim Meyering  <meyering@redhat.com>
4184
4185         maint.mk: extract GPG key ID without using a temporary file
4186         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4187         without using a temporary file.  Based on a suggestion from Werner Koch
4188         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4189
4190 2011-11-07  Eric Blake  <eblake@redhat.com>
4191
4192         grantpt: fix typo
4193         * lib/stdlib.in.h (grantpt): Check correct function.
4194
4195         maint.mk: silence new syntax check
4196         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4197
4198 2011-11-06  Bruno Haible  <bruno@clisp.org>
4199
4200         Doc about floating-point and math API.
4201         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4202         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4203
4204 2011-11-06  Bruno Haible  <bruno@clisp.org>
4205
4206         stdalign tests: Skip the test when compiled by Sun C.
4207         * tests/test-stdalign.c (main): Skip the test on Sun C.
4208
4209 2011-11-06  Bruno Haible  <bruno@clisp.org>
4210
4211         ansi-c++-opt: Complete the 2011-06-05 change.
4212         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4213         does not support namespaces, set the variable to "no", not to ":".
4214
4215 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4216
4217         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4218
4219 2011-11-06  Bruno Haible  <bruno@clisp.org>
4220
4221         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4222         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4223         (minus_zerol) [HP-UX]: New macro.
4224         (unary_minus) [HP-UX]: New function.
4225         (copysignl) [HP-UX]: Use unary_minus function.
4226
4227 2011-11-06  Bruno Haible  <bruno@clisp.org>
4228
4229         ldexp, ldexpf, ldexpl: Enhance tests.
4230         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4231         and tests/test-ldexpl.c.
4232         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4233         LDEXP, MIN_EXP, MAX_EXP): New macros.
4234         Include test-ldexp.h.
4235         (main): Just call test_function.
4236         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4237         infinity.h, nan.h.
4238         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4239         MAX_EXP): New macros.
4240         Include test-ldexp.h.
4241         (x, y): Remove variables.
4242         (main): Just call test_function.
4243         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4244         infinity.h, nan.h.
4245         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4246         MAX_EXP): New macros.
4247         Include test-ldexp.h.
4248         (x, y): Remove variables.
4249         (main): Just call test_function.
4250         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4251         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4252         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4253         (Depends-on): Add isnand-nolibm, signbit, float.
4254         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4255         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4256         (Depends-on): Add isnanf-nolibm, signbit, float.
4257
4258 2011-11-06  Bruno Haible  <bruno@clisp.org>
4259
4260         math tests: Cosmetics.
4261         * tests/test-math-c++.cc: Reorder declarations.
4262
4263 2011-11-05  Bruno Haible  <bruno@clisp.org>
4264
4265         fma*: Simplify test.
4266         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4267         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4268
4269         Tests for module 'fmal'.
4270         * modules/fmal-tests: New file.
4271         * tests/test-fmal1.c: New file.
4272         * tests/test-fmal2.c: New file.
4273
4274         New module 'fmal'.
4275         * lib/math.in.h (fmal): New declaration.
4276         * lib/fmal.c: New file.
4277         * m4/fmal.m4: New file.
4278         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4279         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4280         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4281         REPLACE_FMAL.
4282         * modules/fmal: New file.
4283         * doc/posix-functions/fmal.texi: Mention the new module and the various
4284         bugs.
4285
4286         Tests for module 'fmaf'.
4287         * modules/fmaf-tests: New file.
4288         * tests/test-fmaf1.c: New file.
4289         * tests/test-fmaf2.c: New file.
4290
4291         New module 'fmaf'.
4292         * lib/math.in.h (fmaf): New declaration.
4293         * lib/fmaf.c: New file.
4294         * m4/fmaf.m4: New file.
4295         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4296         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4297         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4298         REPLACE_FMAF.
4299         * modules/fmaf: New file.
4300         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4301         bugs.
4302
4303         Tests for module 'fma'.
4304         * modules/fma-tests: New file.
4305         * tests/test-fma1.c: New file.
4306         * tests/test-fma1.h: New file.
4307         * tests/test-fma2.c: New file.
4308         * tests/test-fma2.h: New file.
4309
4310         New module 'fma'.
4311         * lib/math.in.h (fma): New declaration.
4312         * lib/fma.c: New file.
4313         * m4/fma.m4: New file.
4314         * m4/fegetround.m4: New file.
4315         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4316         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4317         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4318         REPLACE_FMA.
4319         * modules/fma: New file.
4320         * doc/posix-functions/fma.texi: Mention the new module and the various
4321         bugs.
4322
4323         Extend gl_MATHFUNC.
4324         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
4325         Support 'void' as argument type.
4326         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
4327
4328 2011-11-05  Jim Meyering  <meyering@redhat.com>
4329
4330         maint.mk: also prohibit inclusion of dirent.h without use
4331         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
4332
4333 2011-11-05  Bruno Haible  <bruno@clisp.org>
4334
4335         ldexpl tests: Avoid test failure on MSVC 9.
4336         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4337         value. Needed in order to enforce the conversion from a value greater
4338         than LDBL_MAX to Infinity.
4339
4340 2011-11-05  Bruno Haible  <bruno@clisp.org>
4341
4342         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4343         * modules/at-internal: New file, extracted from modules/openat.
4344         * modules/openat-h: New file.
4345         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4346         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4347         * modules/openat (Description): Add reference to POSIX function.
4348         (Files): Remove lib/openat.h, lib/openat-proc.c.
4349         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4350         intprops, unistd.
4351         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4352         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4353         gl_FCNTL_MODULE_INDICATOR.
4354         (Include): Remove unistd.h, openat.h.
4355         * modules/areadlinkat (Files): Add lib/at-func.c.
4356         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4357         openat-die, openat-h, save-cwd.
4358         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
4359         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4360         openat-die, openat-h, save-cwd, unistd.
4361         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
4362         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4363         openat-h, save-cwd. Remove fcntl-h, openat.
4364         * modules/fchmodat (Files): Remove lib/openat.h.
4365         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4366         openat, stdbool, unistd.
4367         * modules/fchownat (Files): Remove lib/openat.h.
4368         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4369         openat, stdbool, sys_stat.
4370         * modules/fdopendir (Files): Remove lib/openat-priv.h,
4371         lib/openat-proc.c.
4372         (Depends-on): Add at-internal.
4373         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
4374         * modules/fstatat (Files): Remove lib/openat.h.
4375         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4376         stdbool, unistd.
4377         * modules/fts (Depends-on): Add openat-h.
4378         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
4379         openat.
4380         * modules/mkdirat (Files): Remove lib/openat.h.
4381         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4382         openat, stdbool, sys_stat.
4383         * modules/mkfifoat (Files): Add lib/at-func.c.
4384         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4385         openat-h, save-cwd. Remove fcntl-h, openat.
4386         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
4387         * modules/readlinkat (Files): Add lib/at-func.c.
4388         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4389         openat-h, save-cwd. Remove fcntl-h, openat.
4390         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
4391         openat.
4392         * modules/selinux-at (Files): Add lib/at-func.c.
4393         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4394         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
4395         * modules/symlinkat (Files): Add lib/at-func.c.
4396         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4397         openat-h, save-cwd. Remove fcntl-h, openat.
4398         * modules/unlinkat (Files): Remove lib/openat.h.
4399         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4400         stdbool.
4401         * modules/utimensat (Files): Add lib/at-func.c.
4402         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
4403         openat-die, openat-h, save-cwd.
4404         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
4405         * modules/fdutimensat-tests (Depends-on): Add openat.
4406         * modules/fstatat-tests (Depends-on): Add openat-h.
4407         * modules/readlinkat-tests (Depends-on): Add openat.
4408         * modules/symlinkat-tests (Depends-on): Add openat.
4409
4410 2011-11-05  Bruno Haible  <bruno@clisp.org>
4411
4412         openat: Include <stdbool.h>.
4413         * lib/openat.c: Include <stdbool.h>.
4414
4415 2011-11-04  Bruno Haible  <bruno@clisp.org>
4416
4417         fchownat, renameat, unlinkat: Fix dependencies.
4418         * modules/fchownat (Depends-on): Add fstatat.
4419         * modules/renameat (Depends-on): Likewise.
4420         * modules/unlinkat (Depends-on): Likewise.
4421
4422 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4423
4424         openat: remove direct dependency on dirent
4425         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
4426         and hasn't been needed ever since fdopendir was split into its own
4427         module on 2009-08-31.
4428         * modules/openat (Depends-on): Remove dirent.
4429
4430 2011-11-04  Bruno Haible  <bruno@clisp.org>
4431
4432         renameat: Optimize code size.
4433         * modules/renameat (configure.ac): Don't compile at-func2.c if
4434         REPLACE_RENAMEAT is 1.
4435
4436 2011-11-04  Bruno Haible  <bruno@clisp.org>
4437
4438         openat tests: Fix file list.
4439         * modules/openat-tests (Files): Add tests/test-open.h.
4440
4441 2011-11-04  Bruno Haible  <bruno@clisp.org>
4442
4443         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
4444         * modules/fchmodat (Depends-on): Add openat-die.
4445         * modules/fchownat (Depends-on): Likewise.
4446         * modules/linkat (Depends-on): Likewise.
4447         * modules/renameat (Depends-on): Likewise.
4448         * modules/openat (Depends-on): Add dirent.
4449
4450 2011-11-04  Jim Meyering  <meyering@redhat.com>
4451
4452         at-func*.c: fix comments
4453         * lib/at-func2.c: Correct/improve first-line comment.
4454         * lib/at-func.c: Correct grammar in first-line comment.
4455
4456 2011-11-04  Bruno Haible  <bruno@clisp.org>
4457
4458         New module 'mkdirat', split off from module 'openat'.
4459         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
4460         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
4461         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
4462         * modules/mkdirat: New file, extracted from modules/openat.
4463         * modules/openat (Files): Remove lib/mkdirat.c.
4464         (Depends-on): Remove mkdir.
4465         (configure.ac): Remove AC_LIBOBJ of mkdirat.
4466         (Include): Remove <sys/stat.h>.
4467         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
4468         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
4469         tests/test-mkdir.h.
4470         (Depends-on): Remove ignore-value.
4471         (Makefile.am): Remove rules for test-mkdirat.
4472         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
4473         of module 'openat'.
4474         * NEWS: Mention the change.
4475
4476 2011-11-04  Bruno Haible  <bruno@clisp.org>
4477
4478         closedir: Avoid warning on mingw.
4479         * lib/closedir.c: Include <unistd.h>.
4480
4481 2011-11-04  Bruno Haible  <bruno@clisp.org>
4482
4483         New module 'fstatat', split off from module 'openat'.
4484         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
4485         defined.
4486         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
4487         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
4488         gl_FUNC_FSTATAT.
4489         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
4490         * modules/fstatat: New file, extracted from modules/openat.
4491         * modules/openat (Files): Remove lib/fstatat.c.
4492         (Depends-on): Remove lstat.
4493         (configure.ac): Remove AC_LIBOBJ of fstatat.
4494         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
4495         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
4496         tests/test-lstat.h, tests/test-stat.h.
4497         (Depends-on): Remove getcwd-lgpl.
4498         (Makefile.am): Remove rules for test-fstatat.
4499         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
4500         of module 'openat'.
4501         * NEWS: Mention the change.
4502         * modules/getcwd (Depends-on): Add fstatat.
4503         * modules/linkat (Depends-on): Likewise.
4504         * modules/mkfifoat-tests (Depends-on): Likewise.
4505         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
4506
4507 2011-11-03  Bruno Haible  <bruno@clisp.org>
4508
4509         New module 'unlinkat', split off from module 'openat'.
4510         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
4511         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
4512         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
4513         * modules/unlinkat: New file, extracted from modules/openat. Correct
4514         the dependency conditions.
4515         * modules/openat (Files): Remove lib/unlinkat.c.
4516         (Depends-on): Remove rmdir, unlink.
4517         (configure.ac): Remove AC_LIBOBJ of unlinkat.
4518         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
4519         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
4520         tests/test-rmdir.h, tests/test-unlink.h.
4521         (Depends-on): Remove unlinkdir.
4522         (Makefile.am): Remove rules for test-unlinkat.
4523         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
4524         of module 'openat'.
4525         * NEWS: Mention the change.
4526         * modules/linkat-tests (Depends-on): Add unlinkat.
4527         * modules/mkfifoat-tests (Depends-on): Likewise.
4528         * modules/readlinkat-tests (Depends-on): Likewise.
4529
4530 2011-11-02  Bruno Haible  <bruno@clisp.org>
4531
4532         New module 'fchmodat', split off from module 'openat'.
4533         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
4534         defined.
4535         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
4536         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
4537         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
4538         * modules/fchmodat: New file, extracted from modules/openat.
4539         * modules/openat (Files): Remove lib/fchmodat.c.
4540         (configure.ac): Remove AC_LIBOBJ of fchmodat.
4541         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
4542         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
4543         (Makefile.am): Remove rules for test-fchmodat.
4544         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
4545         of module 'openat'.
4546         * NEWS: Mention the change.
4547
4548 2011-11-02  Jim Meyering  <meyering@redhat.com>
4549
4550         putenv: indent #definition of "environ" to placate cppi
4551         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
4552
4553         gitlog-to-changelog: provide a ChangeLog-repair mechanism
4554         Git logs are often treated as immutable, because editing them
4555         changes the SHA1 checksums of all descendants.  Thus, errors in
4556         git logs tend to stay there forever.  However, when we generate
4557         a ChangeLog file -- typically for distribution -- from that git log,
4558         we can actually make corrections in the generated file.  The key
4559         lies in recording in machine-readable/applicable form the desired
4560         corrections.  See --help for description and an example.
4561         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
4562         (usage): Describe it; alphabetize option descriptions.
4563         (main): Honor the new option, carefully.
4564
4565 2011-11-01  Jim Meyering  <meyering@redhat.com>
4566
4567         gitlog-to-changelog: avoid an infloop
4568         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
4569         that ends up being empty.
4570
4571 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4572
4573         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
4574         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
4575         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
4576         contains (possibly-quoted) backslashes.  This should avoid
4577         all-too-common shell bugs if COMPLICATED contains backslashes in
4578         the "wrong" places.  Reported by David Evans in
4579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
4580         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
4581         because we want ASCII ranges.  Is there some reason we don't use
4582         the C locale everywhere in this script?
4583         (func_module, top level): Avoid unwanted pathname expansion when
4584         $repo_url_prefix or $repo_url_suffix_repl contain shell
4585         metacharacters like '?' and '*'.
4586
4587 2011-11-01  Bruno Haible  <bruno@clisp.org>
4588
4589         fchownat: Improve description.
4590         * modules/fchownat (Description): Add link to function.
4591
4592 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4593
4594         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
4595         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
4596         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
4597         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
4598
4599 2011-11-01  Bruno Haible  <bruno@clisp.org>
4600
4601         alignof: Avoid collision with stdalign module.
4602         * lib/alignof.h (alignof): Remove macro.
4603         * NEWS: Mention the change.
4604         Reported by Paul Eggert.
4605
4606 2011-11-01  Bruno Haible  <bruno@clisp.org>
4607
4608         New module 'fchownat', split off from module 'openat'.
4609         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
4610         defined.
4611         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
4612         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
4613         invoke gl_FUNC_FCHOWNAT.
4614         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
4615         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
4616         * modules/fchownat: New file, extracted from modules/openat.
4617         * modules/openat (Files): Remove lib/fchownat.c.
4618         (Depends-on): Remove lchown.
4619         (configure.ac): Remove AC_LIBOBJ of fchownat.
4620         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
4621         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
4622         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
4623         (Depends-on): Remove mgetgroups, usleep, stat-time.
4624         (configure.ac): Remove test for getegid.
4625         (Makefile.am): Remove rules for test-fchownat.
4626         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
4627         of module 'openat'.
4628         * NEWS: Mention the change.
4629
4630 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4631
4632         stdalign: port better to MSVC and to Sun C 5.11
4633         This fixes some of the problems reported by Bruno Haible in
4634         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
4635         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
4636         shortcomings of MSVC and of Sun C 5.11.
4637         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
4638         around __declspec arg.
4639         * modules/stdalign-tests (Files): Add tests/macros.h.
4640         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
4641         Include macros.h, for ASSERT.
4642         (DECLARE_ALIGNED): Remove.
4643         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
4644         to catch bug), and to 1 if not (simplifies the rest of the code).
4645         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
4646         (CHECK_AUTO): Remove.
4647         (CHECK_ALIGNED): Check only the alignment of the static vars,
4648         since auto var alignment isn't supported by Sun C 5.11.
4649         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
4650         ASSERT failures are easier to diagnose.
4651
4652 2011-10-31  Bruno Haible  <bruno@clisp.org>
4653
4654         doc about some IRIX 5.3 problems.
4655         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
4656         on IRIX 5.3.
4657         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
4658         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
4659         5.3.
4660         * doc/posix-functions/grantpt.texi: Likewise.
4661         * doc/posix-functions/unlockpt.texi: Likewise.
4662         * doc/posix-functions/lgamma.texi: Likewise.
4663         * doc/posix-functions/nextafter.texi: Likewise.
4664         * doc/posix-functions/remainder.texi: Likewise.
4665         * doc/posix-functions/select.texi: Mention misplaced declaration on
4666         IRIX 5.3.
4667         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4668
4669 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
4670
4671         gitlog-to-changelog: fix git-log invocation.
4672         git-log mishandles date strings before 1970-01-01 UTC, and there is
4673         no use to specify --since=1970-01-01 by default anyway.
4674         * build-aux/gitlog-to-changelog: By default, when no --since option
4675         was given, do not specify explicit --since option to git-log.
4676
4677 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
4678
4679         gitlog-to-changelog: new option --append-dot.
4680         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
4681         first non-blank line of each commit message terminated with a dot.
4682
4683 2011-10-30  Bruno Haible  <bruno@clisp.org>
4684
4685         ffsl, ffsll: Avoid compilation error due to 'restrict'.
4686         * lib/ffsl.h: Include <config.h>.
4687         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
4688
4689 2011-10-30  Jim Meyering  <meyering@redhat.com>
4690
4691         GNUmakefile: reenable "make syntax-check" for most projects
4692         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
4693         build-aux variable", "syntax-check" would do nothing but succeed with
4694         the "No version control files detected..." diagnostic (unless you
4695         happened to override _build-aux via cfg.mk).
4696         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
4697         to precede inclusion of maint.mk.  Otherwise, these variables would
4698         be used undefined in any project that does not override the default.
4699
4700 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
4701
4702         gitlog-to-changelog: treat a message with only blank lines as empty.
4703         * build-aux/gitlog-to-changelog: Move the code that removes leading and
4704         trailing blank lines before the code that issues a warning about an
4705         empty commit message.
4706
4707 2011-10-30  Jim Meyering  <meyering@redhat.com>
4708
4709         test-parse-datetime.c: avoid new DST-related false positive test failure
4710         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
4711         based on the time/date we'll convert, not the current time.
4712         Otherwise, the moment we cross a DST boundary like today's in
4713         Europe, (CEST to CET), that offset ends up being one hour off.
4714
4715 2011-10-27  Bruno Haible  <bruno@clisp.org>
4716
4717         fstat: Tweak documentation.
4718         * modules/fstat (Description): More precise description.
4719
4720 2011-10-27  Bruno Haible  <bruno@clisp.org>
4721
4722         Update documentation regarding 'largefile' module.
4723         * doc/posix-functions/fstat.texi: Tweak wording.
4724         * doc/posix-functions/opendir.texi: Mention that the module fixes the
4725         problems with huge directories and/or small ino_t types.
4726         * doc/posix-functions/readdir.texi: Likewise.
4727         * doc/posix-functions/rewinddir.texi: Likewise.
4728
4729 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
4730
4731         maint.mk: don't maintain a second build-aux variable.
4732         * maint.mk (build_aux): Removed.  The maintainer-makefile module
4733         depends on GNUmakefile, which already maintains a cfg.mk
4734         overridable $(_build-aux) for projects with a non-standard
4735         build-aux directory location, although without the $(srcdir)
4736         prefix.  Use that variable consistently instead of introducing a
4737         second one.  Adjust all call sites.
4738
4739 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4740
4741         Add stdalign module and use it in other modules.
4742         This is based on a previous proposal by Bruno Haible
4743         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
4744
4745         stdalign: new module
4746         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
4747         * modules/stdalign: New files.
4748         * MODULES.html.sh (c1x_core_properties): Add stdalign.
4749         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
4750
4751         stdalign-tests: new module
4752         * modules/stdalign-tests, tests/test-stdalign.c: New files.
4753
4754         argp: use stdalign
4755         * lib/argp-parse.c: Include <stdalign.h>.
4756         (alignof): Remove.
4757         * modules/argp (Depends-on): Add stdalign.
4758
4759         crypto libraries: use stdalign
4760         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
4761         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
4762         Do not include <stdlib.h> twice, in md4.c.
4763         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
4764         because we are accessing a pointer's bit-pattern, not a size.
4765         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
4766         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
4767         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
4768         * modules/crypto/sha512: Likewise.
4769
4770         sys_socket: use stdalign, not alignof
4771         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
4772         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
4773
4774 2011-10-27  Bruno Haible  <bruno@clisp.org>
4775
4776         raise test: Avoid a test failure on Linux/MIPS.
4777         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
4778         because 99 is a valid signal on Linux/MIPS.
4779
4780 2011-10-27  Bruno Haible  <bruno@clisp.org>
4781
4782         nonblocking tests: Fix test failure on Linux/MIPS.
4783         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
4784         Set to 270000.
4785
4786 2011-10-27  Bruno Haible  <bruno@clisp.org>
4787
4788         utimensat: Work around problem on Linux/hppa.
4789         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
4790         values.
4791         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
4792
4793 2011-10-25  Jim Meyering  <meyering@redhat.com>
4794
4795         maint.mk: fix a bug in sc_prohibit_stddef_without_use
4796         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
4797         after symbols like NULL, size_t, etc.
4798         Reported by Alfred M. Szmidt.
4799
4800         maint.mk: exempt ENODATA from a syntax-check rule
4801         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
4802         from the sc_prohibit_always-defined_macros syntax-check rule.
4803         Add a comment.  See this for more details:
4804         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
4805
4806 2011-10-23  Jim Meyering  <meyering@redhat.com>
4807
4808         fts: close parent dir FD before returning from post-traversal fts_read
4809         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
4810         unlink A, even though an FD open on A remained.  This is suboptimal
4811         (holding a file descriptor open longer than needed), but otherwise not
4812         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
4813         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
4814         that represents a real problem: it causes the removal of A to fail
4815         with e.g., "rm: cannot remove `A': Device or resource busy"
4816
4817         fts visits each directory twice and keeps a cache (fts_fd_ring) of
4818         directory file descriptors.  After completing the final, FTS_DP,
4819         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
4820         cache, but then proceeded to add a new FD to it via the subsequent
4821         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
4822         final file descriptor would be closed only via fts_close's call to
4823         fd_ring_clear.  Now, it is usually closed earlier, via the final
4824         FTS_DP-returning fts_read call.
4825         * lib/fts.c (restore_initial_cwd): New function, converted from
4826         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
4827         Update callers.
4828         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
4829         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
4830
4831 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
4832             Bruno Haible  <bruno@clisp.org>
4833             Jim Meyering  <jim@meyering.net>
4834
4835         readme-release: improve safety of release prep instructions.
4836         * README-release: Don't git pull all branches when only master
4837         is needed for the release process.
4838         Run make maintainer-clean before changing trees and merging.
4839         Don't try to run ./configure right after git pull in case files
4840         that influence the bootstrap process have changed, move the
4841         ./configure step to after running ./bootstrap.
4842         Don't bootstrap "one last time"... it's the first time!
4843
4844 2011-10-22  Bruno Haible  <bruno@clisp.org>
4845
4846         errno, strerror-override: Support for MSVC 10.
4847         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
4848         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
4849         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
4850         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
4851         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
4852         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
4853         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
4854         Assign values compatible with MSVC 10.
4855         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
4856         New macros.
4857         (GNULIB_defined_EWINSOCK): New macro.
4858         * lib/strerror-override.c (strerror_override): Update accordingly.
4859         * lib/strerror-override.h: Likewise.
4860         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
4861         longer equal to the corresponding errno value.
4862         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4863
4864 2011-10-22  Bruno Haible  <bruno@clisp.org>
4865
4866         perror: Recognize when test program crashes.
4867         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
4868         strerror, set gl_cv_func_perror_works to no.
4869         Reported by Daniel Richard G. <skunk@iskunk.org>.
4870
4871         perror: Fix indentation.
4872         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
4873
4874 2011-10-22  Bruno Haible  <bruno@clisp.org>
4875
4876         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
4877         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
4878         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
4879         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
4880         functions, not as a macro.
4881         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
4882         macros.
4883         (isfinite, isinf, isnan, signbit): Check overloaded functions and
4884         absence of macro.
4885         Suggested by Eric Blake.
4886         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4887
4888 2011-10-21  Bruno Haible  <bruno@clisp.org>
4889
4890         relocatable-prog-wrapper: Don't leave object files behind.
4891         * build-aux/install-reloc: Re-synchronize list of .o files to be
4892         removed with list of compilation units.
4893
4894 2011-10-20  Bruno Haible  <bruno@clisp.org>
4895
4896         openpty, posix_openpt: Remove code duplication.
4897         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
4898         * lib/openpty.c: Include <stdlib.h>.
4899         (openpty): Use posix_openpt on all platforms except IRIX.
4900         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
4901
4902 2011-10-20  Bruno Haible  <bruno@clisp.org>
4903
4904         unlockpt: Detect invalid argument.
4905         * lib/unlockpt.c: Include <fcntl.h>.
4906         (unlockpt): Check whether fd is valid, using fcntl().
4907         * modules/unlockpt (Depends-on): Add fcntl-h.
4908
4909 2011-10-20  Bruno Haible  <bruno@clisp.org>
4910
4911         openpty: Avoid compilation error on AIX 6.1.
4912         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
4913
4914 2011-10-20  Bruno Haible  <bruno@clisp.org>
4915
4916         posix_openpt: Support for OpenBSD.
4917         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
4918         (posix_openpt) [OpenBSD]: New code.
4919         * lib/grantpt.c: Include <fcntl.h>.
4920         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
4921         * modules/grantpt (Depends-on): Add fcntl-h.
4922
4923 2011-10-20  Bruno Haible  <bruno@clisp.org>
4924
4925         posix_openpt test: Coding style.
4926         * tests/test-posix_openpt.c: Use GNU coding style.
4927
4928 2011-10-20  Bruno Haible  <bruno@clisp.org>
4929
4930         grantpt: Support --avoid=pt_chown.
4931         * modules/grantpt (Files): Add lib/pty-private.h.
4932
4933 2011-10-20  Bruno Haible  <bruno@clisp.org>
4934
4935         posix_openpt: Fix autoconf macro.
4936         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
4937         unneeded check for _getpty.
4938
4939 2011-10-20  Bruno Haible  <bruno@clisp.org>
4940
4941         openpty: Update comments.
4942         * lib/openpty.c: Add comments about Minix.
4943
4944 2011-10-19  Eric Blake  <eblake@redhat.com>
4945
4946         openpty: relax license
4947         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
4948
4949         pt_chown: use configmake to simplify build
4950         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
4951
4952         ptsname and others: relax license
4953         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
4954         * modules/unlockpt (License): Likewise.
4955         * modules/pt_chown (License): Likewise.
4956         * modules/ptsname (License): Likewise.
4957         * modules/ttyname_r (License): Likewise.
4958
4959 2011-10-19  Jim Meyering  <meyering@redhat.com>
4960
4961         posix_openpt: remove spurious #endif
4962         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
4963
4964 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
4965
4966         maint.mk: Respect $(build_aux) in web-manual rule.
4967         * top/maint.mk (web-manual): Find gen-announce script in user's
4968         $(build_aux) directory instead of hard-coding 'build-aux'.
4969
4970 2011-10-19  Bruno Haible  <bruno@clisp.org>
4971
4972         posix_openpt: Fix compilation error.
4973         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
4974         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
4975         Mention the openpty module as an alternative.
4976
4977 2011-10-19  Bruno Haible  <bruno@clisp.org>
4978
4979         Support for old NeXTstep 3.3 frexp().
4980         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
4981         execution time of the test to 5 seconds.
4982         Reported by Daniel Richard G. <skunk@iskunk.org>.
4983
4984 2011-10-19  Bruno Haible  <bruno@clisp.org>
4985
4986         Support for old NeXTstep 3.3 sed.
4987         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
4988         part, use /.../, not \|...|. Escape periods in the header file name.
4989         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4990         Reported by Daniel Richard G. <skunk@iskunk.org>.
4991
4992 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4993
4994         Support for old NeXTstep 3.3 gcc.
4995         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
4996         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
4997         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
4998         * lib/spawn.in.h (_Restrict_arr_): Likewise.
4999         * lib/regex.h (_Restrict_arr_): Likewise.
5000         * lib/regex_internal.h (re_token_t): Likewise.
5001         * lib/regexec.c (check_node_accept_bytes): Likewise.
5002         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5003
5004 2011-10-18  Eric Blake  <eblake@redhat.com>
5005
5006         posix_openpt: new module
5007         * modules/posix_openpt: New module.
5008         * m4/posix_openpt.m4: New file.
5009         * lib/posix_openpt.c: Likewise.
5010         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5011         (gl_STDLIB_H_DEFAULTS): Set defaults.
5012         * modules/stdlib (Makefile.am): Substitute macros.
5013         * lib/stdlib.in.h (posix_openpt): Declare.
5014         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5015         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5016         * modules/posix_openpt-tests: New test module.
5017         * tests/test-posix_openpt.c: New test.
5018
5019 2011-10-15  Bruno Haible  <bruno@clisp.org>
5020
5021         xstrtoll: Fix compilation failure.
5022         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5023         from lib/strtol.c.
5024         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5025         some platforms.
5026         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5027
5028 2011-10-15  Bruno Haible  <bruno@clisp.org>
5029
5030         vasnprintf: Optimize bit search operation.
5031         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5032         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5033         gl_DOUBLE_EXPONENT_LOCATION.
5034         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5035         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5036         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5037         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5038         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5039         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5040         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5041         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5042         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5043
5044 2011-10-15  Bruno Haible  <bruno@clisp.org>
5045
5046         vasnprintf: Fix comments.
5047         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5048
5049 2011-10-14  Bruno Haible  <bruno@clisp.org>
5050
5051         Tests for module 'integer_length_ll'.
5052         * modules/integer_length_ll-tests: New file.
5053         * tests/test-integer_length_ll.c: New file.
5054
5055         New module 'integer_length_ll'.
5056         * lib/integer_length_ll.c: New file.
5057         * modules/integer_length_ll: New file.
5058
5059 2011-10-14  Bruno Haible  <bruno@clisp.org>
5060
5061         Tests for module 'integer_length_l'.
5062         * modules/integer_length_l-tests: New file.
5063         * tests/test-integer_length_l.c: New file.
5064
5065         New module 'integer_length_l'.
5066         * lib/integer_length_l.c: New file.
5067         * modules/integer_length_l: New file.
5068
5069 2011-10-14  Bruno Haible  <bruno@clisp.org>
5070
5071         Tests for module 'integer_length'.
5072         * modules/integer_length-tests: New file.
5073         * tests/test-integer_length.c: New file.
5074
5075         New module 'integer_length'.
5076         * lib/integer_length.h: New file.
5077         * lib/integer_length.c: New file.
5078         * modules/integer_length: New file.
5079
5080 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5081
5082         popen: Fix dependency conditions.
5083         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5084
5085 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5086
5087         perror: Fix autoconf test.
5088         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5089         <stdlib.h> and <string.h>.
5090
5091 2011-10-14  Bruno Haible  <bruno@clisp.org>
5092
5093         ffsl: Optimize on 64-bit platforms.
5094         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5095         unrolling.
5096
5097 2011-10-13  Bruno Haible  <bruno@clisp.org>
5098
5099         ffsl: Optimize on 32-bit platforms.
5100         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5101         use ffs() without a loop.
5102
5103         ffsl, ffsll: Optimize for GCC.
5104         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5105         * lib/ffsl.c (GCC_BUILTIN): New macro.
5106         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5107
5108 2011-10-13  Bruno Haible  <bruno@clisp.org>
5109
5110         ffs, bcopy, memset: Support symbol renaming via config.h.
5111         * lib/ffs.c: Include <config.h>.
5112         * lib/bcopy.c: Likewise.
5113         * lib/memset.c: Likewise.
5114
5115 2011-10-10  Bruno Haible  <bruno@clisp.org>
5116
5117         atanl: Simplify for platforms where 'long double' == 'double'.
5118         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5119         alternative implementation.
5120         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5121         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5122         * modules/atanl (Depends-on): Add atan. Update conditions.
5123
5124 2011-10-10  Bruno Haible  <bruno@clisp.org>
5125
5126         acosl: Simplify for platforms where 'long double' == 'double'.
5127         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5128         alternative implementation.
5129         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5130         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5131         * modules/acosl (Depends-on): Add acos. Update conditions.
5132
5133 2011-10-10  Bruno Haible  <bruno@clisp.org>
5134
5135         asinl: Simplify for platforms where 'long double' == 'double'.
5136         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5137         alternative implementation.
5138         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5139         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5140         * modules/asinl (Depends-on): Add asin. Update conditions.
5141
5142 2011-10-10  Bruno Haible  <bruno@clisp.org>
5143
5144         tanl: Simplify for platforms where 'long double' == 'double'.
5145         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5146         implementation.
5147         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5148         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5149         * modules/tanl (Depends-on): Add tan. Update conditions.
5150         (configure.ac): Don't compile trigl.c if
5151         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5152
5153 2011-10-10  Bruno Haible  <bruno@clisp.org>
5154
5155         cosl: Simplify for platforms where 'long double' == 'double'.
5156         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5157         implementation.
5158         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5159         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5160         * modules/cosl (Depends-on): Add cos. Update conditions.
5161         (configure.ac): Don't compile sincosl.c and trigl.c if
5162         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5163
5164 2011-10-10  Bruno Haible  <bruno@clisp.org>
5165
5166         sinl: Simplify for platforms where 'long double' == 'double'.
5167         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5168         implementation.
5169         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5170         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5171         * modules/sinl (Depends-on): Add sin. Update conditions.
5172         (configure.ac): Don't compile sincosl.c and trigl.c if
5173         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5174
5175 2011-10-10  Bruno Haible  <bruno@clisp.org>
5176
5177         logl: Simplify for platforms where 'long double' == 'double'.
5178         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5179         implementation.
5180         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5181         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5182         * modules/logl (Depends-on): Add log. Update conditions.
5183
5184 2011-10-10  Bruno Haible  <bruno@clisp.org>
5185
5186         expl: Simplify for platforms where 'long double' == 'double'.
5187         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5188         implementation.
5189         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5190         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5191         * modules/expl (Depends-on): Add exp. Update conditions.
5192
5193 2011-10-10  Bruno Haible  <bruno@clisp.org>
5194
5195         sqrtl: Simplify for platforms where 'long double' == 'double'.
5196         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5197         alternative implementation.
5198         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5199         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5200         * modules/sqrtl (Depends-on): Update conditions.
5201
5202 2011-10-10  Bruno Haible  <bruno@clisp.org>
5203
5204         ldexpl: Simplify for platforms where 'long double' == 'double'.
5205         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5206         alternative implementation.
5207         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5208         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5209         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5210
5211 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5212
5213         ffsll: set correct witness
5214         * modules/ffsll (configure.ac): Fix typo.
5215
5216 2011-10-10  Bruno Haible  <bruno@clisp.org>
5217
5218         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5219         * lib/printf-frexpl.c: Include <config.h>.
5220         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5221         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5222         second time.
5223         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5224         gl_LONG_DOUBLE_VS_DOUBLE.
5225         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5226         conditions.
5227
5228 2011-10-10  Bruno Haible  <bruno@clisp.org>
5229
5230         frexpl: Simplify for platforms where 'long double' == 'double'.
5231         * lib/frexpl.c: Include <config.h>.
5232         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5233         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5234         time.
5235         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5236         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5237         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5238         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5239         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5240         conditions.
5241
5242 2011-10-10  Jim Meyering  <meyering@redhat.com>
5243
5244         test-renameat: don't leave behind a temporary file
5245         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5246           ERROR: files left in build directory after distclean:
5247           ./gltests/test-renameat.too
5248           make[1]: *** [distcleancheck] Error 1
5249         Reported by Tom G. Christensen.
5250
5251 2011-10-09  Bruno Haible  <bruno@clisp.org>
5252
5253         rint: Determine RINT_LIBM correctly on AIX 7.
5254         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5255         directly, not only through a function pointer. Also accept an optional
5256         4th argument with extra code.
5257         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5258         rintf() call by gcc when optimizing.
5259
5260         mathfunc.m4: Refactor.
5261         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5262         m4 variable.
5263
5264 2011-10-09  Bruno Haible  <bruno@clisp.org>
5265
5266         rintl: Simplify for platforms where 'long double' == 'double'.
5267         * lib/rintl.c: Include <config.h>.
5268         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5269         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5270         time.
5271         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5272         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5273         * modules/rintl (Depends-on): Add rint. Update conditions.
5274
5275 2011-10-09  Bruno Haible  <bruno@clisp.org>
5276
5277         roundl: Simplify for platforms where 'long double' == 'double'.
5278         * lib/roundl.c: Include <config.h>.
5279         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5280         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5281         time.
5282         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5283         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5284         * modules/roundl (Depends-on): Add round. Update conditions.
5285
5286 2011-10-09  Bruno Haible  <bruno@clisp.org>
5287
5288         truncl: Simplify for platforms where 'long double' == 'double'.
5289         * lib/truncl.c: Include <config.h>.
5290         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5291         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5292         time.
5293         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5294         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5295         * modules/truncl (Depends-on): Add trunc. Update conditions.
5296
5297 2011-10-09  Bruno Haible  <bruno@clisp.org>
5298
5299         ceill: Simplify for platforms where 'long double' == 'double'.
5300         * lib/ceill.c: Include <config.h>.
5301         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5302         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5303         time.
5304         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5305         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5306         * modules/ceill (Depends-on): Add ceil. Update conditions.
5307
5308 2011-10-09  Bruno Haible  <bruno@clisp.org>
5309
5310         floorl: Simplify for platforms where 'long double' == 'double'.
5311         * lib/floorl.c: Include <config.h>.
5312         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5313         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5314         time.
5315         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5316         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5317         * modules/floorl (Depends-on): Add floor. Update conditions.
5318
5319 2011-10-09  Bruno Haible  <bruno@clisp.org>
5320
5321         rint: Fix ordering constraints.
5322         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
5323         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5324         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5325
5326 2011-10-09  Bruno Haible  <bruno@clisp.org>
5327
5328         copysignl: Simplify for platforms where 'long double' == 'double'.
5329         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5330         alternative.
5331         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5332         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5333         * modules/copysignl (Depends-on): Add copysign. Update conditions.
5334
5335 2011-10-09  Bruno Haible  <bruno@clisp.org>
5336
5337         Tests for module 'rintl'.
5338         * modules/rintl-tests: New file.
5339         * tests/test-rintl.c: New file.
5340
5341         New module 'rintl'.
5342         * lib/math.in.h (rintl): New declaration.
5343         * lib/rintl.c: New file.
5344         * m4/rintl.m4: New file.
5345         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5346         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5347         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5348         * modules/rintl: New file.
5349         * tests/test-math-c++.cc: Check the declaration of rintl.
5350         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5351         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5352         * doc/posix-functions/rintl.texi: Mention the new module.
5353
5354 2011-10-09  Bruno Haible  <bruno@clisp.org>
5355
5356         Tests for module 'rintf'.
5357         * modules/rintf-tests: New file.
5358         * tests/test-rintf.c: New file.
5359
5360         New module 'rintf'.
5361         * lib/math.in.h (rintf): New declaration.
5362         * lib/rintf.c: New file.
5363         * m4/rintf.m4: New file.
5364         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
5365         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
5366         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
5367         * modules/rintf: New file.
5368         * tests/test-math-c++.cc: Check the declaration of rintf.
5369         * doc/posix-functions/rintf.texi: Mention the new module.
5370
5371 2011-10-09  Bruno Haible  <bruno@clisp.org>
5372
5373         rint: Support for MSVC.
5374         * lib/math.in.h (rint): New declaration.
5375         * lib/rint.c: New file.
5376         * m4/rint.m4: New file.
5377         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
5378         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
5379         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
5380         * modules/rint (Description): Fix.
5381         (Files): Add lib/rint.c, m4/rint.m4.
5382         (Depends-on): Add math.
5383         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
5384         gl_MATH_MODULE_INDICATOR.
5385         * tests/test-math-c++.cc: Check the declaration of rint.
5386         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5387         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
5388         * doc/posix-functions/rint.texi: Mention the replacement provided by
5389         the module.
5390
5391         rint tests: More tests.
5392         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
5393         minus-zero.h, infinity.h, nan.h.
5394         (main): Skip the test if the current rounding mode is not standard. Add
5395         tests for negative numbers, minus zero, infinity, NaN.
5396         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
5397         tests/nan.h.
5398         (Depends-on): Add isnand-nolibm.
5399
5400 2011-10-09  Bruno Haible  <bruno@clisp.org>
5401
5402         Tests for module 'copysignl'.
5403         * modules/copysignl-tests: New file.
5404         * tests/test-copysignl.c: New file.
5405
5406         New module 'copysignl'.
5407         * lib/math.in.h (copysignl): New declaration.
5408         * lib/copysignl.c: New file.
5409         * m4/copysignl.m4: New file.
5410         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
5411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
5412         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
5413         HAVE_COPYSIGNL.
5414         * modules/copysignl: New file.
5415         * tests/test-math-c++.cc: Check the declaration of copysignl.
5416         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5417         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
5418         * doc/posix-functions/copysignl.texi: Mention the new module.
5419
5420 2011-10-09  Bruno Haible  <bruno@clisp.org>
5421
5422         Tests for module 'copysignf'.
5423         * modules/copysignf-tests: New file.
5424         * tests/test-copysignf.c: New file.
5425
5426         New module 'copysignf'.
5427         * lib/math.in.h (copysignf): New declaration.
5428         * lib/copysignf.c: New file.
5429         * m4/copysignf.m4: New file.
5430         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
5431         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
5432         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
5433         HAVE_COPYSIGNF.
5434         * modules/copysignf: New file.
5435         * tests/test-math-c++.cc: Check the declaration of copysignf.
5436         * doc/posix-functions/copysignf.texi: Mention the new module.
5437
5438 2011-10-09  Bruno Haible  <bruno@clisp.org>
5439
5440         Ensure that HAVE_* variables are set to 1 before they are set to 0.
5441         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
5442         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
5443         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5444         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
5445         gl_SIGNAL_H_DEFAULTS.
5446
5447 2011-10-09  Bruno Haible  <bruno@clisp.org>
5448
5449         poll: Make macro safer.
5450         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
5451         ac_cv_header_poll_h is not set.
5452
5453 2011-10-09  Bruno Haible  <bruno@clisp.org>
5454
5455         copysign: Provide replacement.
5456         * lib/math.in.h (copysign): New declaration.
5457         * lib/copysign.c: New file.
5458         * m4/copysign.m4: New file.
5459         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
5460         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
5461         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
5462         HAVE_COPYSIGN.
5463         * modules/copysign (Description): Clarify.
5464         (Files): Add lib/copysign.c, m4/copysign.m4.
5465         (Depends-on): Add math, signbit.
5466         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
5467         gl_MATH_MODULE_INDICATOR.
5468         * tests/test-math-c++.cc: Check the declaration of copysign.
5469         * doc/posix-functions/copysign.texi: Mention the effects of the module
5470         on Minix and MSVC.
5471
5472 2011-10-09  Bruno Haible  <bruno@clisp.org>
5473
5474         isinf: Ensure macro on AIX 5.1.
5475         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
5476         macro.
5477         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
5478
5479 2011-10-09  Bruno Haible  <bruno@clisp.org>
5480
5481         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
5482         * modules/snprintf-posix-tests (configure.ac): Require
5483         gl_LONG_DOUBLE_VS_DOUBLE.
5484         * modules/sprintf-posix-tests (configure.ac): Likewise.
5485         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
5486         * modules/vasprintf-posix-tests (configure.ac): Likewise.
5487         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
5488         * modules/vsprintf-posix-tests (configure.ac): Likewise.
5489         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
5490         tests on platforms where 'long double' is the same as 'double'.
5491         * tests/test-sprintf-posix.h (test_function): Likewise.
5492         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5493         * tests/test-vasprintf-posix.c (test_function): Likewise.
5494
5495         *printf: Fix for platforms where 'long double' == 'double'.
5496         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
5497         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
5498         * modules/dprintf-posix (Files): Add m4/math_h.m4.
5499         * modules/fprintf-posix (Files): Likewise.
5500         * modules/obstack-printf-posix (Files): Likewise.
5501         * modules/snprintf-posix (Files): Likewise.
5502         * modules/sprintf-posix (Files): Likewise.
5503         * modules/vasnprintf (Files): Likewise.
5504         * modules/vasnprintf-posix (Files): Likewise.
5505         * modules/vasprintf-posix (Files): Likewise.
5506         * modules/vdprintf-posix (Files): Likewise.
5507         * modules/vfprintf-posix (Files): Likewise.
5508         * modules/vsnprintf-posix (Files): Likewise.
5509         * modules/vsprintf-posix (Files): Likewise.
5510         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5511         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5512         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5513         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5514         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5515         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5516         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5517
5518         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
5519         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
5520         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5521         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
5522         'long double'.
5523         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
5524
5525         isinf: Fix for platforms where 'long double' == 'double'.
5526         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5527         Don't blindly assume 80-bit 'long double'.
5528
5529         isfinite: Fix for platforms where 'long double' == 'double'.
5530         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5531         Don't blindly assume 80-bit 'long double'.
5532
5533         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
5534         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
5535         * modules/isfinite-tests (configure.ac): Require
5536         gl_LONG_DOUBLE_VS_DOUBLE.
5537         * modules/isinf-tests (configure.ac): Likewise.
5538         * modules/isnan-tests (configure.ac): Likewise.
5539         * modules/isnanl-tests (configure.ac): Likewise.
5540         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
5541         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
5542         tests on platforms where 'long double' is the same as 'double'.
5543         * tests/test-isinf.c (test_isinfl): Likewise.
5544         * tests/test-isnan.c (test_long_double): Likewise.
5545         * tests/test-isnanl.h (main): Likewise.
5546
5547 2011-10-08  Bruno Haible  <bruno@clisp.org>
5548
5549         Tests for module 'tanhf'.
5550         * modules/tanhf-tests: New file.
5551         * tests/test-tanhf.c: New file.
5552
5553         New module 'tanhf'.
5554         * lib/math.in.h (tanhf): New declaration.
5555         * lib/tanhf.c: New file.
5556         * m4/tanhf.m4: New file.
5557         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
5558         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
5559         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
5560         * modules/tanhf: New file.
5561         * tests/test-math-c++.cc: Check the declaration of tanhf.
5562         * doc/posix-functions/tanhf.texi: Mention the new module.
5563
5564         tanh: Use a .m4 file.
5565         * m4/tanh.m4: New file.
5566         * modules/tanh (Files): Add it.
5567         (configure.ac): Just invoke gl_FUNC_TANH.
5568
5569 2011-10-08  Bruno Haible  <bruno@clisp.org>
5570
5571         Tests for module 'coshf'.
5572         * modules/coshf-tests: New file.
5573         * tests/test-coshf.c: New file.
5574
5575         New module 'coshf'.
5576         * lib/math.in.h (coshf): New declaration.
5577         * lib/coshf.c: New file.
5578         * m4/coshf.m4: New file.
5579         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
5580         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
5581         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
5582         * modules/coshf: New file.
5583         * tests/test-math-c++.cc: Check the declaration of coshf.
5584         * doc/posix-functions/coshf.texi: Mention the new module.
5585
5586         cosh: Use a .m4 file.
5587         * m4/cosh.m4: New file.
5588         * modules/cosh (Files): Add it.
5589         (configure.ac): Just invoke gl_FUNC_COSH.
5590
5591 2011-10-08  Bruno Haible  <bruno@clisp.org>
5592
5593         Tests for module 'sinhf'.
5594         * modules/sinhf-tests: New file.
5595         * tests/test-sinhf.c: New file.
5596
5597         New module 'sinhf'.
5598         * lib/math.in.h (sinhf): New declaration.
5599         * lib/sinhf.c: New file.
5600         * m4/sinhf.m4: New file.
5601         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
5602         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
5603         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
5604         * modules/sinhf: New file.
5605         * tests/test-math-c++.cc: Check the declaration of sinhf.
5606         * doc/posix-functions/sinhf.texi: Mention the new module.
5607
5608         sinh: Use a .m4 file.
5609         * m4/sinh.m4: New file.
5610         * modules/sinh (Files): Add it.
5611         (configure.ac): Just invoke gl_FUNC_SINH.
5612
5613 2011-10-08  Bruno Haible  <bruno@clisp.org>
5614
5615         Tests for module 'atan2f'.
5616         * modules/atan2f-tests: New file.
5617         * tests/test-atan2f.c: New file.
5618
5619         New module 'atan2f'.
5620         * lib/math.in.h (atan2f): New declaration.
5621         * lib/atan2f.c: New file.
5622         * m4/atan2f.m4: New file.
5623         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
5624         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
5625         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
5626         * modules/atan2f: New file.
5627         * tests/test-math-c++.cc: Check the declaration of atan2f.
5628         * doc/posix-functions/atan2f.texi: Mention the new module.
5629
5630         atan2: Use a .m4 file.
5631         * m4/atan2.m4: New file.
5632         * modules/atan2 (Files): Add it.
5633         (configure.ac): Just invoke gl_FUNC_ATAN2.
5634
5635 2011-10-08  Bruno Haible  <bruno@clisp.org>
5636
5637         Tests for module 'atanf'.
5638         * modules/atanf-tests: New file.
5639         * tests/test-atanf.c: New file.
5640
5641         New module 'atanf'.
5642         * lib/math.in.h (atanf): New declaration.
5643         * lib/atanf.c: New file.
5644         * m4/atanf.m4: New file.
5645         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
5646         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
5647         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
5648         * modules/atanf: New file.
5649         * tests/test-math-c++.cc: Check the declaration of atanf.
5650         * doc/posix-functions/atanf.texi: Mention the new module.
5651
5652         atan: Use a .m4 file.
5653         * m4/atan.m4: New file.
5654         * modules/atan (Files): Add it.
5655         (configure.ac): Just invoke gl_FUNC_ATAN.
5656
5657 2011-10-08  Bruno Haible  <bruno@clisp.org>
5658
5659         Tests for module 'acosf'.
5660         * modules/acosf-tests: New file.
5661         * tests/test-acosf.c: New file.
5662
5663         New module 'acosf'.
5664         * lib/math.in.h (acosf): New declaration.
5665         * lib/acosf.c: New file.
5666         * m4/acosf.m4: New file.
5667         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
5668         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
5669         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
5670         * modules/acosf: New file.
5671         * tests/test-math-c++.cc: Check the declaration of acosf.
5672         * doc/posix-functions/acosf.texi: Mention the new module.
5673
5674         acos: Use a .m4 file.
5675         * m4/acos.m4: New file.
5676         * modules/acos (Files): Add it.
5677         (configure.ac): Just invoke gl_FUNC_ACOS.
5678
5679 2011-10-08  Bruno Haible  <bruno@clisp.org>
5680
5681         Tests for module 'asinf'.
5682         * modules/asinf-tests: New file.
5683         * tests/test-asinf.c: New file.
5684
5685         New module 'asinf'.
5686         * lib/math.in.h (asinf): New declaration.
5687         * lib/asinf.c: New file.
5688         * m4/asinf.m4: New file.
5689         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
5690         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
5691         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
5692         * modules/asinf: New file.
5693         * tests/test-math-c++.cc: Check the declaration of asinf.
5694         * doc/posix-functions/asinf.texi: Mention the new module.
5695
5696         asin: Use a .m4 file.
5697         * m4/asin.m4: New file.
5698         * modules/asin (Files): Add it.
5699         (configure.ac): Just invoke gl_FUNC_ASIN.
5700
5701 2011-10-08  Bruno Haible  <bruno@clisp.org>
5702
5703         Tests for module 'tanf'.
5704         * modules/tanf-tests: New file.
5705         * tests/test-tanf.c: New file.
5706
5707         New module 'tanf'.
5708         * lib/math.in.h (tanf): New declaration.
5709         * lib/tanf.c: New file.
5710         * m4/tanf.m4: New file.
5711         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
5712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
5713         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
5714         * modules/tanf: New file.
5715         * tests/test-math-c++.cc: Check the declaration of tanf.
5716         * doc/posix-functions/tanf.texi: Mention the new module.
5717
5718         tan: Use a .m4 file.
5719         * m4/tan.m4: New file.
5720         * modules/tan (Files): Add it.
5721         (configure.ac): Just invoke gl_FUNC_TAN.
5722
5723 2011-10-08  Bruno Haible  <bruno@clisp.org>
5724
5725         Tests for module 'cosf'.
5726         * modules/cosf-tests: New file.
5727         * tests/test-cosf.c: New file.
5728
5729         New module 'cosf'.
5730         * lib/math.in.h (cosf): New declaration.
5731         * lib/cosf.c: New file.
5732         * m4/cosf.m4: New file.
5733         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
5734         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
5735         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
5736         * modules/cosf: New file.
5737         * tests/test-math-c++.cc: Check the declaration of cosf.
5738         * doc/posix-functions/cosf.texi: Mention the new module.
5739
5740         cos: Use a .m4 file.
5741         * m4/cos.m4: New file.
5742         * modules/cos (Files): Add it.
5743         (configure.ac): Just invoke gl_FUNC_COS.
5744
5745 2011-10-08  Bruno Haible  <bruno@clisp.org>
5746
5747         Tests for module 'sinf'.
5748         * modules/sinf-tests: New file.
5749         * tests/test-sinf.c: New file.
5750
5751         New module 'sinf'.
5752         * lib/math.in.h (sinf): New declaration.
5753         * lib/sinf.c: New file.
5754         * m4/sinf.m4: New file.
5755         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
5756         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
5757         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
5758         * modules/sinf: New file.
5759         * tests/test-math-c++.cc: Check the declaration of sinf.
5760         * doc/posix-functions/sinf.texi: Mention the new module.
5761
5762         sin: Use a .m4 file.
5763         * m4/sin.m4: New file.
5764         * modules/sin (Files): Add it.
5765         (configure.ac): Just invoke gl_FUNC_SIN.
5766
5767 2011-10-08  Bruno Haible  <bruno@clisp.org>
5768
5769         Tests for module 'powf'.
5770         * modules/powf-tests: New file.
5771         * tests/test-powf.c: New file.
5772
5773         New module 'powf'.
5774         * lib/math.in.h (powf): New declaration.
5775         * lib/powf.c: New file.
5776         * m4/powf.m4: New file.
5777         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
5778         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
5779         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
5780         * modules/powf: New file.
5781         * tests/test-math-c++.cc: Check the declaration of powf.
5782         * doc/posix-functions/powf.texi: Mention the new module.
5783
5784         pow: Use a .m4 file.
5785         * m4/pow.m4: New file.
5786         * modules/pow (Files): Add it.
5787         (configure.ac): Just invoke gl_FUNC_POW.
5788
5789 2011-10-08  Bruno Haible  <bruno@clisp.org>
5790
5791         Tests for module 'log10f'.
5792         * modules/log10f-tests: New file.
5793         * tests/test-log10f.c: New file.
5794
5795         New module 'log10f'.
5796         * lib/math.in.h (log10f): New declaration.
5797         * lib/log10f.c: New file.
5798         * m4/log10f.m4: New file.
5799         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
5800         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
5801         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
5802         * modules/log10f: New file.
5803         * tests/test-math-c++.cc: Check the declaration of log10f.
5804         * doc/posix-functions/log10f.texi: Mention the new module.
5805
5806         log10: Use a .m4 file.
5807         * m4/log10.m4: New file.
5808         * modules/log10 (Files): Add it.
5809         (configure.ac): Just invoke gl_FUNC_LOG10.
5810
5811 2011-10-08  Bruno Haible  <bruno@clisp.org>
5812
5813         Tests for module 'logf'.
5814         * modules/logf-tests: New file.
5815         * tests/test-logf.c: New file.
5816
5817         New module 'logf'.
5818         * lib/math.in.h (logf): New declaration.
5819         * lib/logf.c: New file.
5820         * m4/logf.m4: New file.
5821         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
5822         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
5823         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
5824         * modules/logf: New file.
5825         * tests/test-math-c++.cc: Check the declaration of logf.
5826         * doc/posix-functions/logf.texi: Mention the new module.
5827
5828         log: Use a .m4 file.
5829         * m4/log.m4: New file.
5830         * modules/log (Files): Add it.
5831         (configure.ac): Just invoke gl_FUNC_LOG.
5832
5833 2011-10-08  Bruno Haible  <bruno@clisp.org>
5834
5835         Tests for module 'expf'.
5836         * modules/expf-tests: New file.
5837         * tests/test-expf.c: New file.
5838
5839         New module 'expf'.
5840         * lib/math.in.h (expf): New declaration.
5841         * lib/expf.c: New file.
5842         * m4/expf.m4: New file.
5843         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
5844         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
5845         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
5846         * modules/expf: New file.
5847         * tests/test-math-c++.cc: Check the declaration of expf.
5848         * doc/posix-functions/expf.texi: Mention the new module.
5849
5850         exp: Use a .m4 file.
5851         * m4/exp.m4: New file.
5852         * modules/exp (Files): Add it.
5853         (configure.ac): Just invoke gl_FUNC_EXP.
5854
5855 2011-10-08  Bruno Haible  <bruno@clisp.org>
5856
5857         Tests for module 'sqrtf'.
5858         * modules/sqrtf-tests: New file.
5859         * tests/test-sqrtf.c: New file.
5860
5861         New module 'sqrtf'.
5862         * lib/math.in.h (sqrtf): New declaration.
5863         * lib/sqrtf.c: New file.
5864         * m4/sqrtf.m4: New file.
5865         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
5866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
5867         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
5868         * modules/sqrtf: New file.
5869         * tests/test-math-c++.cc: Check the declaration of sqrtf.
5870         * doc/posix-functions/sqrtf.texi: Mention the new module.
5871
5872 2011-10-08  Bruno Haible  <bruno@clisp.org>
5873
5874         Tests: Avoid link failures w.r.t. libintl.
5875         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
5876         $(LIBINTL).
5877         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
5878         $(LIBINTL).
5879         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
5880         against $(LIBINTL).
5881         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
5882         $(LIBINTL).
5883         * modules/openat-tests (Makefile.am): Link test-fchmodat against
5884         $(LIBINTL).
5885         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
5886
5887 2011-10-08  Bruno Haible  <bruno@clisp.org>
5888
5889         pow tests: Defeat compiler optimizations.
5890         * tests/test-pow.c (main): Assign arguments to x and y before use.
5891
5892 2011-10-08  Bruno Haible  <bruno@clisp.org>
5893
5894         gnulib-tool: Improve last commit.
5895         * gnulib-tool (func_modules_transitive_closure): Simplify code.
5896         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
5897         ignore dependencies that are not among the modules list.
5898
5899 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
5900
5901         gnulib-tool: don't follow dependencies to avoided modules
5902         This fixes a bug that is related to the previous one.
5903         * gnulib-tool (func_modules_transitive_closure)
5904         (func_emit_autoconf_snippets):
5905         Check whether a dependency is acceptable before using it.
5906         (--extract-dependencies): Report an error if --avoid is also used,
5907         since this combination of options is not yet supported.
5908
5909         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
5910         Problem reported by Peter Dyballa in
5911         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
5912         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
5913         when echoing "$condition".
5914
5915 2011-10-07  Bruno Haible  <bruno@clisp.org>
5916
5917         Fix documentation about math functions on MacOS X.
5918         * doc/posix-functions/exp2.texi: Don't say the function is missing on
5919         MacOS X 10.5.
5920         * doc/posix-functions/fdim.texi: Likewise.
5921         * doc/posix-functions/feclearexcept.texi: Likewise.
5922         * doc/posix-functions/fegetenv.texi: Likewise.
5923         * doc/posix-functions/fegetround.texi: Likewise.
5924         * doc/posix-functions/feholdexcept.texi: Likewise.
5925         * doc/posix-functions/feraiseexcept.texi: Likewise.
5926         * doc/posix-functions/fesetenv.texi: Likewise.
5927         * doc/posix-functions/fesetround.texi: Likewise.
5928         * doc/posix-functions/fetestexcept.texi: Likewise.
5929         * doc/posix-functions/feupdateenv.texi: Likewise.
5930         * doc/posix-functions/fmax.texi: Likewise.
5931         * doc/posix-functions/fmin.texi: Likewise.
5932         * doc/posix-functions/log2.texi: Likewise.
5933         * doc/posix-functions/modff.texi: Likewise.
5934         * doc/posix-functions/nan.texi: Likewise.
5935         * doc/posix-functions/nanf.texi: Likewise.
5936         * doc/posix-functions/nextafterf.texi: Likewise.
5937         * doc/posix-functions/remquo.texi: Likewise.
5938
5939 2011-10-07  Bruno Haible  <bruno@clisp.org>
5940
5941         modff: Drop assumption about library that defines modff.
5942         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
5943         AC_CHECK_FUNCS.
5944         * modules/modff (Files): Add m4/mathfunc.m4.
5945
5946 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
5947
5948         raise tests: Avoid a GCC warning.
5949         * tests/test-raise.c (handler): Use _Noreturn.
5950
5951 2011-10-07  Bruno Haible  <bruno@clisp.org>
5952
5953         Tests for module 'ldexpf'.
5954         * modules/ldexpf-tests: New file.
5955         * tests/test-ldexpf.c: New file.
5956
5957         New module 'ldexpf'.
5958         * lib/math.in.h (ldexpf): New declaration.
5959         * lib/ldexpf.c: New file.
5960         * m4/ldexpf.m4: New file.
5961         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
5962         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
5963         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
5964         * modules/ldexpf: New file.
5965         * tests/test-math-c++.cc: Check the declaration of ldexpf.
5966         * doc/posix-functions/ldexpf.texi: Mention the new module.
5967
5968 2011-10-06  Bruno Haible  <bruno@clisp.org>
5969
5970         frexpf: Work around problems on IRIX and mingw.
5971         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
5972         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
5973         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
5974         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
5975         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
5976         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
5977         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
5978
5979 2011-10-06  Bruno Haible  <bruno@clisp.org>
5980
5981         fabsf: Drop assumption about library that defines fabsf.
5982         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
5983         AC_CHECK_FUNCS.
5984         * modules/fabsf (Files): Add m4/mathfunc.m4.
5985
5986 2011-10-06  Bruno Haible  <bruno@clisp.org>
5987
5988         frexpf: Drop assumption about library that defines frexpf.
5989         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
5990         'int *', 'float *', 'long double *', 'float', 'long double'.
5991         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
5992         AC_CHECK_FUNCS.
5993         * modules/frexpf (Files): Add m4/mathfunc.m4.
5994
5995         Tests for module 'frexpf'.
5996         * modules/frexpf-tests: New file.
5997         * tests/test-frexpf.c: New file.
5998
5999         New module 'frexpf'.
6000         * lib/math.in.h (frexpf): New declaration.
6001         * lib/frexpf.c: New file.
6002         * m4/frexpf.m4: New file.
6003         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6004         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6005         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6006         * modules/frexpf: New file.
6007         * tests/test-math-c++.cc: Check the declaration of frexpf.
6008         * doc/posix-functions/frexpf.texi: Mention the new module.
6009
6010 2011-10-06  Bruno Haible  <bruno@clisp.org>
6011
6012         math: Sort function declarations of math.in.h.
6013         * lib/math.in.h (frexp, logb): Move declarations.
6014
6015 2011-10-05  Bruno Haible  <bruno@clisp.org>
6016
6017         Tests for module 'modff'.
6018         * modules/modff-tests: New file.
6019         * tests/test-modff.c: New file.
6020
6021         New module 'modff'.
6022         * lib/math.in.h (modff): New declaration.
6023         * lib/modff.c: New file.
6024         * m4/modff.m4: New file.
6025         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6026         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6027         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6028         * modules/modff: New file.
6029         * tests/test-math-c++.cc: Check the declaration of modff.
6030         * doc/posix-functions/modff.texi: Mention the new module.
6031
6032         modf tests: Make test sharper.
6033         * tests/test-modf.c (main): Strengthen upper bound.
6034
6035         modf: Use a .m4 file.
6036         * m4/modf.m4: New file.
6037         * modules/modf (Files): Add it.
6038         (configure.ac): Just invoke gl_FUNC_MODF.
6039
6040 2011-10-05  Bruno Haible  <bruno@clisp.org>
6041
6042         Tests for module 'fmodf'.
6043         * modules/fmodf-tests: New file.
6044         * tests/test-fmodf.c: New file.
6045
6046         New module 'fmodf'.
6047         * lib/math.in.h (fmodf): New declaration.
6048         * lib/fmodf.c: New file.
6049         * m4/fmodf.m4: New file.
6050         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6051         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6052         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6053         * modules/fmodf: New file.
6054         * tests/test-math-c++.cc: Check the declaration of fmodf.
6055         * doc/posix-functions/fmodf.texi: Mention the new module.
6056
6057         fmod: Use a .m4 file.
6058         * m4/fmod.m4: New file.
6059         * modules/fmod (Files): Add it.
6060         (configure.ac): Just invoke gl_FUNC_FMOD.
6061
6062 2011-10-05  Bruno Haible  <bruno@clisp.org>
6063
6064         Tests for module 'fabsf'.
6065         * modules/fabsf-tests: New file.
6066         * tests/test-fabsf.c: New file.
6067
6068         New module 'fabsf'.
6069         * lib/math.in.h (fabsf): New declaration.
6070         * lib/fabsf.c: New file.
6071         * m4/fabsf.m4: New file.
6072         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6073         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6074         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6075         * modules/fabsf: New file.
6076         * tests/test-math-c++.cc: Check the declaration of fabsf.
6077         * doc/posix-functions/fabsf.texi: Mention the new module.
6078
6079         fabs: Use a .m4 file.
6080         * m4/fabs.m4: New file.
6081         * modules/fabs (Files): Add it.
6082         (configure.ac): Just invoke gl_FUNC_FABS.
6083
6084 2011-10-05  Jim Meyering  <meyering@redhat.com>
6085
6086         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6087         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6088         ls -lL regression introduced in coreutils-8.12, it does so at the
6089         cost of an additional stat call in the common case.  Besides, now
6090         that the kernel change that prompted commit 95f7c57f has been reverted
6091         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6092         we have no use for commit 95f7c57f, "file-has-acl: use
6093         acl_extended_file_nofollow if available".
6094
6095 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6096
6097         file-has-acl: revert unintended change in behavior of ls -L
6098         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6099         derived from...
6100         (file_has_acl): ...code here.  Call it.
6101         This problem was introduced with 2011-07-22 commit 95f7c57f,
6102         "file-has-acl: use acl_extended_file_nofollow if available".
6103         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6104
6105 2011-10-03  Bruno Haible  <bruno@clisp.org>
6106
6107         poll: Avoid link errors on MSVC.
6108         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6109         * modules/poll (Depends-on): Add sockets.
6110         (Link): New section.
6111         * NEWS: Mention the change.
6112         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6113         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6114         $(LIB_POLL) instead of $(LIBSOCKET).
6115
6116 2011-10-03  Bruno Haible  <bruno@clisp.org>
6117
6118         sys_select tests: Fix link error on MSVC 9.
6119         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6120         with $(LIB_SELECT) instead of $(LIBSOCKET).
6121
6122 2011-10-03  Bruno Haible  <bruno@clisp.org>
6123
6124         sys_select: Fix compilation error on mingw.
6125         * lib/sys_select.in.h: On native Windows, include <io.h>.
6126
6127 2011-10-03  Bruno Haible  <bruno@clisp.org>
6128
6129         wmemset: Support for MSVC.
6130         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6131         whether wmemset() exists.
6132
6133 2011-10-03  Bruno Haible  <bruno@clisp.org>
6134
6135         wmemmove: Support for MSVC.
6136         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6137         whether wmemmove() exists.
6138
6139 2011-10-03  Bruno Haible  <bruno@clisp.org>
6140
6141         wmemcpy: Support for MSVC.
6142         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6143         whether wmemcpy() exists.
6144
6145 2011-10-03  Bruno Haible  <bruno@clisp.org>
6146
6147         wmemcmp: Support for MSVC.
6148         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6149         whether wmemcmp() exists.
6150
6151 2011-10-03  Bruno Haible  <bruno@clisp.org>
6152
6153         wmemchr: Support for MSVC.
6154         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6155         whether wmemchr() exists.
6156
6157 2011-10-03  Bruno Haible  <bruno@clisp.org>
6158
6159         glthread/*, strsignal: Support for MSVC.
6160         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6161         including <winsock.h> on MSVC 9.
6162         * lib/glthread/lock.h: Likewise.
6163         * lib/glthread/thread.h: Likewise.
6164         * lib/glthread/tls.h: Likewise.
6165         * lib/glthread/yield.h: Likewise.
6166         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6167         if HAVE_UNISTD_H is false.
6168         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6169
6170 2011-10-03  Bruno Haible  <bruno@clisp.org>
6171
6172         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6173         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6174         Set to 100000.
6175
6176 2011-10-03  Bruno Haible  <bruno@clisp.org>
6177
6178         acl: Fix specification.
6179         * lib/file-has-acl.c (file_has_acl): Fix specification.
6180
6181 2011-10-03  Bruno Haible  <bruno@clisp.org>
6182
6183         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6184         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6185         (compute_curr_prefix, shared_library_fullname,
6186         find_shared_library_fullname, get_shared_library_fullname, relocate):
6187         Use it together with PIC && INSTALLDIR.
6188         Reported by <jojelino@gmail.com>
6189         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6190
6191 2011-10-01  Jim Meyering  <meyering@redhat.com>
6192
6193         maint.mk: adjust a release-related rule not to require use of gzip
6194         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6195         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6196         projects that build only .tar.xz files.  Also fix an erroneous test.
6197
6198         test-linkat: don't leave behind a temporary file
6199         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6200         Otherwise, coreutils' "make distcheck" would fail with this:
6201           Only in /c/cu/tests/torture/coreutils/test/\
6202             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6203           make[2]: *** [my-distcheck] Error 1
6204
6205         float, math: add omitted file
6206         * lib/itold.c: Add file, required for yesterday's float change.
6207
6208 2011-10-01  Bruno Haible  <bruno@clisp.org>
6209
6210         isinf: Fix for OpenBSD/x86.
6211         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6212         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6213         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6214
6215 2011-10-01  Bruno Haible  <bruno@clisp.org>
6216
6217         isfinite: Fix syntax error in configure test.
6218         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6219
6220         isfinite: Fix typo.
6221         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6222         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6223
6224 2011-10-01  Bruno Haible  <bruno@clisp.org>
6225
6226         nonblocking tests: Fix test failure on Linux/IA-64.
6227         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6228         Set to 270000.
6229
6230 2011-10-01  Bruno Haible  <bruno@clisp.org>
6231
6232         mkfifoat tests: Fix a test failure on mingw.
6233         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6234         with error ENOSYS.
6235
6236 2011-09-30  Bruno Haible  <bruno@clisp.org>
6237
6238         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6239         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6240         'long double'. Set REPLACE_ITOLD.
6241         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6242         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6243         * lib/itold.c: New file.
6244         * modules/float (Files): Add lib/itold.c.
6245         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6246         (Makefile.am): Substitute REPLACE_ITOLD.
6247         * modules/math (Depends-on): Add float.
6248         (Makefile.am): Substitute REPLACE_ITOLD.
6249         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6250         * doc/posix-headers/math.texi: Likewise.
6251         * doc/posix-functions/logl.texi: Likewise.
6252
6253 2011-09-30  Bruno Haible  <bruno@clisp.org>
6254
6255         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6256         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6257         Set to 140000.
6258
6259 2011-09-30  Bruno Haible  <bruno@clisp.org>
6260
6261         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6262         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6263         invocation, say "right after AC_PROG_CC_STDC", not "right after
6264         AC_PROG_CC".
6265         Reported by Gary V. Vaughan <gary@gnu.org>.
6266
6267 2011-09-30  Bruno Haible  <bruno@clisp.org>
6268
6269         Centralize C99 requirement.
6270         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6271         * modules/stdarg (configure.ac-early): Invoke it instead of
6272         AC_PROG_CC_STDC.
6273         Reported by Gary V. Vaughan and Paul Eggert.
6274
6275 2011-09-29  Bruno Haible  <bruno@clisp.org>
6276
6277         float: Fix LDBL_MAX value on Linux/PowerPC.
6278         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6279         on Linux/PowerPC.
6280         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6281         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6282         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6283         platform.
6284         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6285
6286 2011-09-29  Bruno Haible  <bruno@clisp.org>
6287
6288         doc: Improve doc about gl_EARLY.
6289         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6290         AC_PROG_CC_STDC invocation.
6291         Reported by Gary V. Vaughan <gary@gnu.org>.
6292
6293 2011-09-28  Bruno Haible  <bruno@clisp.org>
6294
6295         fgetc, fputc, fread, fwrite tests: Fix link error.
6296         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6297         on non-MSVC platforms.
6298         * tests/test-fputc.c (main): Likewise.
6299         * tests/test-fread.c (main): Likewise.
6300         * tests/test-fwrite.c (main): Likewise.
6301         Reported by Jim Meyering.
6302
6303 2011-09-27  Bruno Haible  <bruno@clisp.org>
6304
6305         fputc, fwrite tests: Avoid test failure on MSVC.
6306         * tests/test-fgetc.c: Include msvc-inval.h.
6307         (main): Invoke gl_msvc_inval_ensure_handler.
6308         * tests/test-fputc.c: Include msvc-inval.h.
6309         (main): Invoke gl_msvc_inval_ensure_handler.
6310         * tests/test-fread.c: Include msvc-inval.h.
6311         (main): Invoke gl_msvc_inval_ensure_handler.
6312         * tests/test-fwrite.c: Include msvc-inval.h.
6313         (main): Invoke gl_msvc_inval_ensure_handler.
6314         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6315         * modules/fputc-tests (Depends-on): Likewise.
6316         * modules/fread-tests (Depends-on): Likewise.
6317         * modules/fwrite-tests (Depends-on): Likewise.
6318
6319 2011-09-27  Bruno Haible  <bruno@clisp.org>
6320
6321         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
6322         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
6323         (raise): Remove older, duplicated declaration.
6324         (_gl_raise_SIGPIPE): New declaration.
6325         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
6326         (rpl_raise): Remove function.
6327         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
6328         a gnulib-defined SIGPIPE here.
6329         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
6330         'sigprocmask' has detected missing signal-blocking and the module
6331         'sigpipe' is enabled.
6332         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6333
6334 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6335
6336         base64-tests: avoid memory leak
6337         * tests/test-base64.c (main): Plug memory leak.
6338
6339         base32: new module
6340         * modules/base32: New module.
6341         * lib/base32.c: New file.
6342         * lib/base32.h: Likewise.
6343         * m4/base32.m4: Likewise.
6344         * modules/base32-tests: New test.
6345         * tests/test-base32.c: Likewise.
6346         * MODULES.html.sh (Misc): Mention it.
6347
6348 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6349
6350         gnulib: use more-standard license notice wording
6351         * gnulib-tool (func_emit_copyright_notice): When emitting a
6352         license notice into a file, use the standard wording as suggested
6353         by the current information for GNU maintainers, except say "file"
6354         rather than "program".  The new wording gives a license version
6355         number, which addresses an issue raised by Glenn Morris in
6356         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
6357         * m4/onceonly.m4: Use that same wording here, too.
6358
6359         dup2: minor simplification
6360         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
6361         as lib/dup2.c no longer uses 'inline'.
6362
6363 2011-09-25  Bruno Haible  <bruno@clisp.org>
6364
6365         strings: Fix compilation error on MSVC.
6366         * lib/strings.in.h: Include <stddef.h> for size_t.
6367
6368 2011-09-25  Bruno Haible  <bruno@clisp.org>
6369
6370         fflush et al.: Document limitation on MSVC.
6371         * doc/posix-functions/fflush.texi: Document possible crash in handling
6372         mode other than DEFAULT_HANDLING.
6373         * doc/posix-functions/fgetc.texi: Likewise.
6374         * doc/posix-functions/fputc.texi: Likewise.
6375         * doc/posix-functions/fread.texi: Likewise.
6376         * doc/posix-functions/fwrite.texi: Likewise.
6377
6378 2011-09-25  Bruno Haible  <bruno@clisp.org>
6379
6380         msvc-inval: Allow three invalid parameter handling modes.
6381         * lib/msvc-inval.h: Don't include <stdlib.h> here.
6382         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
6383         macros.
6384         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
6385         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
6386         SANE_LIBRARY_HANDLING as a no-op.
6387         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
6388         <stdlib.h>.
6389         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
6390
6391 2011-09-25  Bruno Haible  <bruno@clisp.org>
6392
6393         msvc-inval: Make handler multithread-safe.
6394         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
6395         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
6396         declarations.
6397         (gl_msvc_inval_current): New declaration.
6398         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6399         Operate on the structure returned by gl_msvc_inval_current().
6400         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
6401         Remove varaiables.
6402         (tls_index, tls_initialized): New variables.
6403         (not_per_thread): New variable.
6404         (gl_msvc_inval_current): New function.
6405         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
6406         returned by gl_msvc_inval_current().
6407
6408 2011-09-25  Bruno Haible  <bruno@clisp.org>
6409
6410         msvc-inval: Install handler globally.
6411         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
6412         !_MSC_VER.
6413         (gl_msvc_invalid_parameter_handler): Remove declaration.
6414         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
6415         declarations.
6416         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6417         Install the handler globally, don't uninstall it.
6418         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
6419         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
6420         currently valid, call RaiseException instead.
6421         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
6422         for !_MSC_VER.
6423
6424 2011-09-25  Bruno Haible  <bruno@clisp.org>
6425
6426         strerror_r-posix: Fix for MSVC 9.
6427         * lib/strerror_r.c (local_snprintf): New function.
6428         (snprintf): Define to local_snprintf, not to _snprintf.
6429
6430 2011-09-25  Bruno Haible  <bruno@clisp.org>
6431
6432         ftruncate: Support for MSVC 9.
6433         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
6434         (chsize_nothrow): New function.
6435         (chsize): Redefine as a macro.
6436         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
6437         * modules/ftruncate (Depends-on): Add msvc-inval.
6438
6439 2011-09-25  Bruno Haible  <bruno@clisp.org>
6440
6441         New module 'fstat'.
6442         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
6443         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
6444         * lib/fchdir.c (rpl_fstat): Remove function.
6445         * m4/fstat.m4: New file.
6446         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
6447         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
6448         declared.
6449         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
6450         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
6451         * modules/fstat: New file.
6452         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
6453         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
6454         is set.
6455         * doc/posix-functions/fstat.texi: Mention the new module and the
6456         problem on MSVC.
6457         * NEWS: Mention the change.
6458         * modules/acl (Depends-on): Add fstat.
6459         * modules/chdir-safer (Depends-on): Likewise.
6460         * modules/chown (Depends-on): Likewise.
6461         * modules/copy-file (Depends-on): Likewise.
6462         * modules/fchdir (Depends-on): Likewise.
6463         * modules/fdopendir (Depends-on): Likewise.
6464         * modules/fopen (Depends-on): Likewise.
6465         * modules/fts (Depends-on): Likewise.
6466         * modules/getcwd (Depends-on): Likewise.
6467         * modules/isapipe (Depends-on): Likewise.
6468         * modules/linkat (Depends-on): Likewise.
6469         * modules/lseek (Depends-on): Likewise.
6470         * modules/mkdir-p (Depends-on): Likewise.
6471         * modules/open (Depends-on): Likewise.
6472         * modules/openat (Depends-on): Likewise.
6473         * modules/read-file (Depends-on): Likewise.
6474         * modules/renameat (Depends-on): Likewise.
6475         * modules/utimens (Depends-on): Likewise.
6476
6477 2011-09-25  Bruno Haible  <bruno@clisp.org>
6478
6479         linkat: Fix compilation on MSVC 9.
6480         * lib/linkat.c: Don't include <stdint.h>.
6481
6482 2011-09-25  Bruno Haible  <bruno@clisp.org>
6483
6484         fclose: Support for MSVC 9.
6485         * lib/fclose.c: Include msvc-inval.h.
6486         (fclose_nothrow): New function.
6487         (rpl_fclose): Use it.
6488         * modules/fclose (Depends-on): Add msvc-inval.
6489         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
6490
6491 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
6492
6493         dup2: minor simplifications
6494         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
6495         that it's a performance win.
6496         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
6497         ! defined __CYGWIN__)" to "ifdef F_GETFL".
6498
6499 2011-09-24  Jim Meyering  <meyering@redhat.com>
6500
6501         test-futimens: avoid a warning from gcc -Wshadow
6502         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
6503         to avoid a shadowing warning.
6504
6505 2011-09-24  Bruno Haible  <bruno@clisp.org>
6506
6507         fdopen: Support for MSVC 9.
6508         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
6509         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
6510         * lib/fdopen.c: Include msvc-inval.h.
6511         (fdopen_nothrow): New function.
6512         (rpl_fdopen): Use it.
6513         * modules/fdopen (Depends-on): Add msvc-inval.
6514         * modules/fclose-tests (Depends-on): Add fdopen.
6515         * modules/fflush-tests (Depends-on): Likewise.
6516         * modules/fgetc-tests (Depends-on): Likewise.
6517         * modules/fputc-tests (Depends-on): Likewise.
6518         * modules/fread-tests (Depends-on): Likewise.
6519         * modules/freopen-tests (Depends-on): Likewise.
6520         * modules/fseeko-tests (Depends-on): Likewise.
6521         * modules/ftello-tests (Depends-on): Likewise.
6522         * modules/fwrite-tests  (Depends-on): Likewise.
6523         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
6524
6525 2011-09-24  Bruno Haible  <bruno@clisp.org>
6526
6527         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
6528         * modules/fgetc-tests (Depends-on): Add unistd.
6529         * modules/fputc-tests (Depends-on): Likewise.
6530         * modules/fread-tests (Depends-on): Likewise.
6531         * modules/fwrite-tests (Depends-on): Likewise.
6532
6533 2011-09-24  Bruno Haible  <bruno@clisp.org>
6534
6535         dup: Simplify autoconf test.
6536         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
6537         on gl_MSVC_INVAL's result.
6538
6539 2011-09-24  Bruno Haible  <bruno@clisp.org>
6540
6541         Tests for function fwrite().
6542         * modules/fwrite-tests: New file.
6543         * tests/test-fwrite.c: New file.
6544         * modules/stdio-tests (Depends-on): Add fwrite-tests.
6545
6546         Tests for function fread().
6547         * modules/fread-tests: New file.
6548         * tests/test-fread.c: New file.
6549         * modules/stdio-tests (Depends-on): Add fread-tests.
6550
6551         Activate fputc tests.
6552         * modules/stdio-tests (Depends-on): Add fputc-tests.
6553
6554         Enhance fgetc, fputc tests.
6555         * tests/test-fgetc.c (main): Also test the stream's error indicator.
6556         * tests/test-fputc.c (main): Likewise.
6557
6558 2011-09-24  Bruno Haible  <bruno@clisp.org>
6559
6560         write: Support for MSVC 9.
6561         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6562         is not 1.
6563         * lib/write.c (write_nothrow): New function.
6564         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
6565         not 1. Use write_nothrow.
6566         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
6567         invalid parameter handler.
6568         (gl_PREREQ_WRITE): New macro.
6569         * modules/write (Depends-on): Add msvc-inval.
6570         (configure.ac): Invoke gl_PREREQ_WRITE.
6571         * doc/posix-functions/write.texi: Mention the problem on MSVC.
6572
6573 2011-09-24  Bruno Haible  <bruno@clisp.org>
6574
6575         read: Fix last commit.
6576         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
6577
6578 2011-09-24  Bruno Haible  <bruno@clisp.org>
6579
6580         dup2: Fix last commit.
6581         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
6582         (rpl_dup2): Disable fcntl workaround on native Windows.
6583
6584         sigprocmask: Make code safer.
6585         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
6586         section that changes macro definitions for this compilation unit.
6587
6588 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
6589
6590         dup2: clarify by coalescing Windows-specific material
6591         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
6592         "msvc-nothrow.h"' to the Windows-specific section, so that the
6593         Emacs source need not contain these include files.
6594         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
6595         Windows-specific fixes into this function rather than just the
6596         nothrow fix, as this shortens and clarifies the code.  Always
6597         define as a function, as that's a bit cleaner than having it be
6598         sometimes a function and sometimes a macro.
6599         (rpl_dup2): Move the Windows-specific stuff out of here and into
6600         ms_windows_dup2.  Don't protect the Haiku-related fix with
6601         "#if !defined __linux__", as the same code also works around
6602         a Linux kernel bug, and it doesn't add any system calls on any
6603         platform.  Add comment about FreeBSD 6.1.
6604
6605         sigprocmask: move #include directive
6606         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
6607         Windows-specific section, so that the Emacs source need not
6608         contain msvc-inval.h.
6609
6610 2011-09-23  Bruno Haible  <bruno@clisp.org>
6611
6612         read: Support for MSVC 9.
6613         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6614         is not 1.
6615         * lib/read.c (read_nothrow): New function.
6616         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
6617         read_nothrow.
6618         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
6619         invalid parameter handler.
6620         (gl_PREREQ_READ): New macro.
6621         * modules/read (Depends-on): Add msvc-inval.
6622         (configure.ac): Invoke gl_PREREQ_READ.
6623         * doc/posix-functions/read.texi: Mention the problem on MSVC.
6624
6625 2011-09-23  Bruno Haible  <bruno@clisp.org>
6626
6627         close: Support for MSVC 9.
6628         * lib/close.c: Include <errno.h>, msvc-inval.h.
6629         (close_nothrow): New function.
6630         (rpl_close): Use it.
6631         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
6632         invalid parameter handler.
6633         * modules/close (Depends-on): Add msvc-inval.
6634         * modules/dup2-tests (Depends-on): Add close.
6635         * modules/dup3-tests (Depends-on): Likewise.
6636         * modules/fcntl-tests (Depends-on): Likewise.
6637         * modules/spawn-pipe-tests (Depends-on): Likewise.
6638         * modules/unistd-safer-tests (Depends-on): Likewise.
6639         * doc/posix-functions/close.texi: Mention the problem on MSVC.
6640
6641 2011-09-23  Bruno Haible  <bruno@clisp.org>
6642
6643         New module 'dup'.
6644         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
6645         Allow replacement.
6646         * lib/dup.c: New file.
6647         * lib/fchdir.c (rpl_dup): Remove function.
6648         * m4/dup.m4: New file.
6649         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
6650         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
6651         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
6652         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
6653         * modules/dup: New file.
6654         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
6655         'dup' module is in use.
6656         * modules/fdopendir (Depends-on): Add dup.
6657         * modules/fdutimensat-tests (Depends-on): Likewise.
6658         * modules/fts (Depends-on): Likewise.
6659         * modules/futimens-tests (Depends-on): Likewise.
6660         * modules/posix_spawnp-tests (Depends-on): Likewise.
6661         * modules/unistd-safer-tests (Depends-on): Likewise.
6662         * modules/utimens-tests (Depends-on): Likewise.
6663         * doc/posix-functions/dup.texi: Mention the new module and the problem
6664         on MSVC.
6665
6666 2011-09-23  Bruno Haible  <bruno@clisp.org>
6667
6668         getdtablesize: Support for MSVC 9.
6669         * lib/getdtablesize.c: Include msvc-inval.h.
6670         (_setmaxstdio_nothrow): New function.
6671         (_setmaxstdio): Redefine it.
6672         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
6673         * modules/getdtablesize (Depends-on): Add msvc-inval.
6674         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
6675
6676 2011-09-23  Bruno Haible  <bruno@clisp.org>
6677
6678         signal-h: Rename from signal.
6679         * modules/signal-h: Renamed from modules/signal.
6680         * modules/pthread_sigmask (Depends-on): Update.
6681         * modules/raise (Depends-on): Likewise.
6682         * modules/sigaction (Depends-on): Likewise.
6683         * modules/sigpipe (Depends-on): Likewise.
6684         * modules/sigprocmask (Depends-on): Likewise.
6685         * modules/sys_select (Depends-on): Likewise.
6686         * modules/signal-h-tests: Renamed from modules/signal-tests.
6687         (Files, Depends-on, Makefile.am): Update.
6688         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
6689         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
6690         (Files, Makefile.am): Update.
6691         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
6692         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
6693         * modules/signal: New placeholder file.
6694         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
6695         * doc/posix-headers/signal.texi: Update.
6696         * NEWS: Mention the change.
6697
6698 2011-09-23  Bruno Haible  <bruno@clisp.org>
6699
6700         sigprocmask: Avoid crashes through signal() on MSVC 9.
6701         * lib/sigprocmask.c: Include msvc-inval.h.
6702         (signal_nothrow): New function.
6703         (signal): Redefine it.
6704         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
6705         * modules/sigprocmask (Depends-on): Add msvc-inval.
6706         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
6707
6708 2011-09-23  Bruno Haible  <bruno@clisp.org>
6709
6710         Tests for module 'raise'.
6711         * modules/raise-tests: New file.
6712         * tests/test-raise.c: New file.
6713
6714         raise: Support for MSVC.
6715         * lib/signal.in.h (raise): New declaration.
6716         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
6717         for native Windows platforms.
6718         * m4/raise.m4: New file.
6719         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
6720         HAVE_RAISE, REPLACE_RAISE.
6721         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
6722         REPLACE_RAISE.
6723         * modules/raise (Status, Notice): Remove fields.
6724         (Files): Add m4/raise.m4.
6725         (Depends-on): Add signal, msvc-inval.
6726         (configure.ac): Use the common idioms.
6727         (Maintainer): Add me.
6728         * tests/test-signal-c++.cc: Check the signature of raise.
6729         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
6730
6731 2011-09-23  Bruno Haible  <bruno@clisp.org>
6732
6733         pipe2: Fix compilation on pre-C99 compilers.
6734         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
6735
6736 2011-09-23  Bruno Haible  <bruno@clisp.org>
6737
6738         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
6739         * lib/msvc-nothrow.h: New file.
6740         * lib/msvc-nothrow.c: New file.
6741         * m4/msvc-nothrow.m4: New file.
6742         * modules/msvc-nothrow: New file.
6743         * lib/dup2.c: Include msvc-nothrow.h.
6744         (rpl_dup2): No need to protect _get_osfhandle call here.
6745         * lib/accept4.c: Include msvc-nothrow.h.
6746         * lib/error.c: Likewise.
6747         * lib/fcntl.c: Likewise.
6748         * lib/lseek.c: Likewise.
6749         * lib/nonblocking.c: Likewise.
6750         * lib/poll.c: Likewise.
6751         * lib/read.c: Likewise.
6752         * lib/select.c: Likewise.
6753         * lib/sockets.h: Likewise.
6754         * lib/sockets.c: Likewise.
6755         * lib/stdio-read.c: Likewise.
6756         * lib/stdio-write.c: Likewise.
6757         * lib/write.c: Likewise.
6758         * lib/w32sock.h: Likewise.
6759         * lib/w32spawn.h: Likewise.
6760         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
6761         * lib/fsync.c: Likewise.
6762         * lib/isapipe.c: Likewise.
6763         * modules/dup2 (Depends-on): Add msvc-nothrow.
6764         * modules/accept4 (Depends-on): Likewise.
6765         * modules/error (Depends-on): Likewise.
6766         * modules/fcntl (Depends-on): Likewise.
6767         * modules/lseek (Depends-on): Likewise.
6768         * modules/nonblocking (Depends-on): Likewise.
6769         * modules/poll (Depends-on): Likewise.
6770         * modules/read (Depends-on): Likewise.
6771         * modules/select (Depends-on): Likewise.
6772         * modules/sockets (Depends-on): Likewise.
6773         * modules/sigpipe (Depends-on): Likewise.
6774         * modules/write (Depends-on): Likewise.
6775         * modules/accept (Depends-on): Likewise.
6776         * modules/bind (Depends-on): Likewise.
6777         * modules/connect (Depends-on): Likewise.
6778         * modules/gethostname (Depends-on): Likewise.
6779         * modules/getpeername (Depends-on): Likewise.
6780         * modules/getsockname (Depends-on): Likewise.
6781         * modules/getsockopt (Depends-on): Likewise.
6782         * modules/ioctl (Depends-on): Likewise.
6783         * modules/listen (Depends-on): Likewise.
6784         * modules/recv (Depends-on): Likewise.
6785         * modules/recvfrom (Depends-on): Likewise.
6786         * modules/send (Depends-on): Likewise.
6787         * modules/sendto (Depends-on): Likewise.
6788         * modules/setsockopt (Depends-on): Likewise.
6789         * modules/shutdown (Depends-on): Likewise.
6790         * modules/socket (Depends-on): Likewise.
6791         * modules/execute (Depends-on): Likewise.
6792         * modules/spawn-pipe (Depends-on): Likewise.
6793         * modules/flock (Depends-on): Likewise.
6794         * modules/fsync (Depends-on): Likewise.
6795         * modules/isapipe (Depends-on): Likewise.
6796         * tests/test-cloexec.c: Include msvc-nothrow.h.
6797         * tests/test-dup-safer.c: Likewise.
6798         * tests/test-dup2.c: Likewise.
6799         * tests/test-dup3.c: Likewise.
6800         * tests/test-fcntl.c: Likewise.
6801         * tests/test-pipe.c: Likewise.
6802         * tests/test-pipe2.c: Likewise.
6803         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
6804         * modules/unistd-safer-tests (Depends-on): Likewise.
6805         * modules/dup2-tests (Depends-on): Likewise.
6806         * modules/dup3-tests (Depends-on): Likewise.
6807         * modules/fcntl-tests (Depends-on): Likewise.
6808         * modules/pipe-posix-tests (Depends-on): Likewise.
6809         * modules/pipe2-tests (Depends-on): Likewise.
6810
6811 2011-09-23  Bruno Haible  <bruno@clisp.org>
6812
6813         dup2: Make code more maintainable.
6814         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
6815         (rpl_dup2): Use it.
6816         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
6817         * modules/dup2 (configure.ac): Invoke it.
6818         Reported by Paul Eggert.
6819
6820 2011-09-23  Bruno Haible  <bruno@clisp.org>
6821
6822         msvc-inval: Fix compilation error.
6823         * lib/msvc-inval.h: Include <excpt.h>.
6824
6825 2011-09-23  Bruno Haible  <bruno@clisp.org>
6826
6827         mkdir: Tweak for MSVC 9.
6828         * lib/sys_stat.in.h: Update comments.
6829         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
6830
6831         Tests for module 'chdir'.
6832         * modules/chdir-tests: New file.
6833         * tests/test-chdir.c: New file.
6834
6835         New module 'chdir'.
6836         * modules/chdir: New file.
6837         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
6838         (chdir): New declaration.
6839         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
6840         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
6841         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
6842         * tests/test-unistd-c++.cc: Check signature of chdir.
6843         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
6844         * modules/chdir-long (Depends-on): Add chdir.
6845         * modules/fchdir (Depends-on): Likewise.
6846         * modules/rename (Depends-on): Likewise.
6847         * modules/savewd (Depends-on): Likewise.
6848
6849         rmdir: Support for mingw, MSVC 9.
6850         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
6851         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
6852
6853         getcwd: Tweak for MSVC 9.
6854         * lib/unistd.in.h: Update comments.
6855         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
6856
6857 2011-09-22  Bruno Haible  <bruno@clisp.org>
6858
6859         strerror_r-posix: Avoid a link error on MSVC.
6860         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
6861         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
6862
6863 2011-09-22  Bruno Haible  <bruno@clisp.org>
6864
6865         select: Avoid link errors on MSVC.
6866         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
6867         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
6868         * modules/pselect (Link): Likewise.
6869         * NEWS: Mention the change.
6870         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
6871         test-select-stdin against $(LIB_SELECT).
6872         * modules/pselect-tests (Makefile.am): Link test-pselect against
6873         $(LIB_SELECT).
6874
6875 2011-09-22  Bruno Haible  <bruno@clisp.org>
6876
6877         select: Avoid compilation error on MSVC.
6878         * lib/select.c: Don't include <stdbool.h>.
6879
6880 2011-09-21  Bruno Haible  <bruno@clisp.org>
6881
6882         Consolidate all uses of PATH_MAX in *.m4 files.
6883         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
6884         macros.
6885         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
6886         and gl_PATHMAX_SNIPPET.
6887         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6888         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6889         * modules/chdir-long (Files): Add m4/pathmax.m4.
6890         * modules/getcwd (Files): Likewise.
6891
6892 2011-09-21  Bruno Haible  <bruno@clisp.org>
6893
6894         ftruncate: Un-deprecate, concentrate on Win32 support.
6895         * modules/ftruncate (Status, Notice): Remove sections.
6896         (Depends-on): Add largefile.
6897         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
6898         non-mingw platforms.
6899         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
6900         include <io.h>.
6901         * modules/perror-tests (Depends-on): Add ftruncate.
6902         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
6903         'ftruncate' module.
6904
6905 2011-09-21  Bruno Haible  <bruno@clisp.org>
6906
6907         Add dependencies to new dirent related modules.
6908         * modules/opendir (Depends-on): Add closedir.
6909         * modules/getcwd (Depends-on): Add opendir, closedir.
6910         * modules/dirent-safer-tests (Depends-on): Likewise.
6911         * modules/fdopendir-tests (Depends-on): Likewise.
6912         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
6913         * modules/renameat-tests (Depends-on): Likewise.
6914
6915 2011-09-21  Bruno Haible  <bruno@clisp.org>
6916
6917         opendir: Avoid compilation error on mingw.
6918         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
6919         * modules/opendir (Depends-on): Add unistd.
6920
6921 2011-09-21  Bruno Haible  <bruno@clisp.org>
6922
6923         ftruncate tests: Avoid a test failure on mingw.
6924         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
6925
6926 2011-09-21  Bruno Haible  <bruno@clisp.org>
6927
6928         select tests: Avoid test failures on OSF/1 5.1 and mingw.
6929         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
6930         native Windows.
6931
6932 2011-09-21  Bruno Haible  <bruno@clisp.org>
6933
6934         New module 'fdopen'.
6935         * lib/stdio.in.h (fdopen): New declaration.
6936         * lib/fdopen.c: New file.
6937         * m4/fdopen.m4: New file.
6938         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
6939         REPLACE_FDOPEN.
6940         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
6941         REPLACE_FDOPEN.
6942         * modules/fdopen: New file.
6943         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
6944         * tests/test-stdio-c++.cc: Check signature of fdopen.
6945         * doc/posix-functions/fdopen.texi: Mention the new module.
6946
6947 2011-09-21  Bruno Haible  <bruno@clisp.org>
6948
6949         unlockpt tests: Avoid test failure on NetBSD 5.1.
6950         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
6951         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
6952
6953 2011-09-21  Bruno Haible  <bruno@clisp.org>
6954
6955         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
6956         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
6957         * tests/test-getlogin_r.c (main): Likewise.
6958
6959 2011-09-20  Bruno Haible  <bruno@clisp.org>
6960
6961         time tests: Don't require pid_t.
6962         * doc/posix-headers/time.texi: Revert last change.
6963         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
6964         * tests/test-time.c: Comment out the check for pid_t.
6965
6966 2011-09-20  Bruno Haible  <bruno@clisp.org>
6967
6968         fsync tests: Avoid a test failure on mingw.
6969         * tests/test-fsync.c (main): Allow a failure with EIO.
6970
6971 2011-09-20  Bruno Haible  <bruno@clisp.org>
6972
6973         euidaccess: Update comments.
6974         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
6975
6976 2011-09-20  Bruno Haible  <bruno@clisp.org>
6977
6978         Ensure EBADF returns for socket functions on mingw.
6979         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
6980         descriptor is invalid.
6981         * lib/bind.c (rpl_bind): Likewise.
6982         * lib/connect.c (rpl_connect): Likewise.
6983         * lib/getpeername.c (rpl_getpeername): Likewise.
6984         * lib/getsockname.c (rpl_getsockname): Likewise.
6985         * lib/getsockopt.c (rpl_getsockopt): Likewise.
6986         * lib/listen.c (rpl_listen): Likewise.
6987         * lib/recv.c (rpl_recv): Likewise.
6988         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6989         * lib/send.c (rpl_send): Likewise.
6990         * lib/sendto.c (rpl_sendto): Likewise.
6991         * lib/setsockopt.c (rpl_setsockopt): Likewise.
6992         * lib/shutdown.c (rpl_shutdown): Likewise.
6993
6994 2011-09-20  Bruno Haible  <bruno@clisp.org>
6995
6996         select tests: EBADF tests.
6997         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
6998         test_bad_fd): New functions.
6999         (test_function): Invoke also test_bad_fd.
7000
7001 2011-09-20  Bruno Haible  <bruno@clisp.org>
7002
7003         Tests for module 'posix_spawn_file_actions_addopen.
7004         * modules/posix_spawn_file_actions_addopen-tests: New file.
7005         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7006
7007         Tests for module 'posix_spawn_file_actions_adddup2'.
7008         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7009         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7010
7011         Tests for module 'posix_spawn_file_actions_addclose'.
7012         * modules/posix_spawn_file_actions_addclose-tests: New file.
7013         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7014
7015 2011-09-20  Bruno Haible  <bruno@clisp.org>
7016
7017         Tests for module 'unlockpt'.
7018         * modules/unlockpt-tests: New file.
7019         * tests/test-unlockpt.c: New file.
7020         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7021
7022         Tests for module 'grantpt'.
7023         * modules/grantpt-tests: New file.
7024         * tests/test-grantpt.c: New file.
7025         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7026
7027 2011-09-20  Bruno Haible  <bruno@clisp.org>
7028
7029         freopen tests: EBADF tests.
7030         * tests/test-freopen.c: Include errno.h, unistd.h.
7031         (main): Add tests for EBADF, commented out for the moment.
7032
7033         fclose tests: EBADF tests.
7034         * tests/test-fclose.c (main): Add tests for EBADF.
7035
7036         fflush tests: EBADF tests.
7037         * tests/test-fflush.c: Include errno.h, macros.h.
7038         (main): Add tests for EBADF.
7039
7040         ftello tests: EBADF tests.
7041         * tests/test-ftello4.sh: New file.
7042         * tests/test-ftello4.c: New file.
7043         * modules/ftello-tests (Files): Add them.
7044         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7045
7046         fseeko tests: EBADF tests.
7047         * tests/test-fseeko4.sh: New file.
7048         * tests/test-fseeko4.c: New file.
7049         * modules/fseeko-tests (Files): Add them.
7050         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7051
7052         Tests for function fputc().
7053         * modules/fputc-tests: New file.
7054         * tests/test-fputc.c: New file.
7055         * modules/stdio-tests (Depends-on): Add fputc-tests.
7056
7057         Tests for function fgetc().
7058         * modules/fgetc-tests: New file.
7059         * tests/test-fgetc.c: New file.
7060         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7061
7062         Tests for function fdopen().
7063         * modules/fdopen-tests: New file.
7064         * tests/test-fdopen.c: New file.
7065         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7066
7067         Tests for module 'vdprintf'.
7068         * modules/vdprintf-tests: New file.
7069         * tests/test-vdprintf.c: New file.
7070
7071         Tests for module 'dprintf'.
7072         * modules/dprintf-tests: New file.
7073         * tests/test-dprintf.c: New file.
7074
7075 2011-09-20  Bruno Haible  <bruno@clisp.org>
7076
7077         Tests for module 'ioctl'.
7078         * modules/ioctl-tests: New file.
7079         * tests/test-ioctl.c: New file.
7080
7081 2011-09-20  Bruno Haible  <bruno@clisp.org>
7082
7083         fcntl tests: EBADF tests.
7084         * tests/test-fcntl.c (main): Add more tests for EBADF.
7085
7086 2011-09-20  Bruno Haible  <bruno@clisp.org>
7087
7088         utimensat tests: EBADF tests.
7089         * tests/test-utimensat.c (main): Add tests for EBADF.
7090
7091         renameat tests: EBADF tests.
7092         * tests/test-renameat.c (main): Add tests for EBADF.
7093
7094         mkfifoat tests: EBADF tests.
7095         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7096
7097         readlinkat tests: EBADF tests.
7098         * tests/test-readlinkat.c (main): Add tests for EBADF.
7099
7100         symlinkat tests: EBADF tests.
7101         * tests/test-symlinkat.c (main): Add tests for EBADF.
7102
7103         linkat tests: EBADF tests.
7104         * tests/test-linkat.c (main): Add tests for EBADF.
7105
7106         Tests for module 'faccessat'.
7107         * modules/faccessat-tests: New file.
7108         * tests/test-faccessat.c: New file.
7109
7110         fdopendir tests: EBADF tests.
7111         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7112
7113         openat tests: EBADF tests.
7114         * tests/test-fchownat.c (main): Add tests for EBADF.
7115         * tests/test-fstatat.c (main): Likewise.
7116         * tests/test-mkdirat.c (main): Likewise.
7117         * tests/test-openat.c (main): Likewise.
7118         * tests/test-unlinkat.c (main): Likewise.
7119         * tests/test-fchmodat.c: New file.
7120         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7121         (Makefile.am): Also run 'test-fchmodat'.
7122
7123 2011-09-20  Bruno Haible  <bruno@clisp.org>
7124
7125         utimens, futimens, fdutimensat tests: EBADF tests.
7126         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7127
7128         Tests for function fstat().
7129         * modules/fstat-tests: New file.
7130         * tests/test-fstat.c: New file.
7131         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7132
7133 2011-09-20  Bruno Haible  <bruno@clisp.org>
7134
7135         test-ttyname_r tests: EBADF tests.
7136         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7137
7138         Tests for module 'isatty'.
7139         * modules/isatty-tests: New file.
7140         * tests/test-isatty.c: New file.
7141
7142         Tests for module 'write'.
7143         * modules/write-tests: New file.
7144         * tests/test-write.c: New file.
7145
7146         Tests for module 'read'.
7147         * modules/read-tests: New file.
7148         * tests/test-read.c: New file.
7149
7150         pwrite tests: EBADF tests.
7151         * tests/test-pwrite.c (main): Add tests for EBADF.
7152
7153         pread tests: EBADF tests.
7154         * tests/test-pread.c (main): Add tests for EBADF.
7155
7156         lseek tests: EBADF tests.
7157         * tests/test-lseek.c (main): Add more tests for EBADF.
7158
7159         Tests for module 'ftruncate'.
7160         * modules/ftruncate-tests: New file.
7161         * tests/test-ftruncate.sh: New file.
7162         * tests/test-ftruncate.c: New file.
7163
7164         fsync tests: EBADF tests.
7165         * tests/test-fsync.c (main): Add more tests for EBADF.
7166
7167         fdatasync tests: EBADF tests.
7168         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7169
7170         Tests for module 'fchown'.
7171         * modules/fchown-tests: New file.
7172         * tests/test-fchown.c: New file.
7173
7174         Tests for module 'fchmod'.
7175         * modules/fchmod-tests: New file.
7176         * tests/test-fchmod.c: New file.
7177
7178         fchdir tests: EBADF tests.
7179         * tests/test-fchdir.c (main): Add more tests for EBADF.
7180
7181         dup2 tests: EBADF tests.
7182         * tests/test-dup2.c (main): Add more tests for EBADF.
7183
7184         Tests for module 'dup'.
7185         * modules/dup-tests: New file.
7186         * tests/test-dup.c: New file.
7187
7188         Tests for module 'close'.
7189         * modules/close-tests: New file.
7190         * tests/test-close.c: New file.
7191
7192 2011-09-20  Bruno Haible  <bruno@clisp.org>
7193
7194         Tests for module 'shutdown'.
7195         * modules/shutdown-tests: New file.
7196         * tests/test-shutdown.c: New file.
7197
7198         Tests for module 'setsockopt'.
7199         * modules/setsockopt-tests: New file.
7200         * tests/test-setsockopt.c: New file.
7201
7202         Tests for module 'sendto'.
7203         * modules/sendto-tests: New file.
7204         * tests/test-sendto.c: New file.
7205
7206         Tests for module 'send'.
7207         * modules/send-tests: New file.
7208         * tests/test-send.c: New file.
7209
7210         Tests for module 'recvfrom'.
7211         * modules/recvfrom-tests: New file.
7212         * tests/test-recvfrom.c: New file.
7213
7214         Tests for module 'recv'.
7215         * modules/recv-tests: New file.
7216         * tests/test-recv.c: New file.
7217
7218         Tests for module 'listen'.
7219         * modules/listen-tests: New file.
7220         * tests/test-listen.c: New file.
7221
7222         Tests for module 'getsockopt'.
7223         * modules/getsockopt-tests: New file.
7224         * tests/test-getsockopt.c: New file.
7225
7226         Tests for module 'getsockname'.
7227         * modules/getsockname-tests: New file.
7228         * tests/test-getsockname.c: New file.
7229
7230         Tests for module 'getpeername'.
7231         * modules/getpeername-tests: New file.
7232         * tests/test-getpeername.c: New file.
7233
7234         Tests for module 'connect'.
7235         * modules/connect-tests: New file.
7236         * tests/test-connect.c: New file.
7237
7238         Tests for module 'bind'.
7239         * modules/bind-tests: New file.
7240         * tests/test-bind.c: New file.
7241
7242         accept4 tests: Fix for native Windows.
7243         * tests/test-accept4.c: Include sockets.h.
7244         (main): Invoke gl_sockets_startup.
7245         * modules/accept4-tests (Depends-on): Add sockets.
7246
7247         accept tests: Fix for native Windows.
7248         * tests/test-accept.c: Include sockets.h.
7249         (main): Invoke gl_sockets_startup.
7250         * modules/accept-tests (Depends-on): Add sockets.
7251
7252 2011-09-19  Bruno Haible  <bruno@clisp.org>
7253
7254         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7255         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7256         do...while(0).
7257         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7258         Suggested by Paul Eggert.
7259
7260 2011-09-19  Bruno Haible  <bruno@clisp.org>
7261
7262         sched: Ensure pid_t is defined.
7263         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7264         not define pid_t.
7265         * lib/sched.in.h: Include <sys/types.h>.
7266         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7267         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7268
7269 2011-09-19  Bruno Haible  <bruno@clisp.org>
7270
7271         msvc-inval: Ensure the entire expansion is a single statement.
7272         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7273         of braces.
7274
7275 2011-09-19  Jim Meyering  <meyering@redhat.com>
7276
7277         tests: use printf, not echo in init.sh's warn_ function
7278         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7279         misbehave when given strings containing a backslash or starting
7280         with e.g., -n.  James Youngman suggested setting IFS.
7281
7282 2011-09-19  Eric Blake  <eblake@redhat.com>
7283
7284         futimens: enhance test
7285         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7286         closed non-negative fd.
7287
7288         date: accept 'hence' as opposite of 'ago'
7289         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7290         * tests/test-parse-datetime.c (main): Enhance test.
7291         Suggested by Jesse Wilson.
7292
7293 2011-09-19  Jim Meyering  <meyering@redhat.com>
7294
7295         getcwd: don't fail in a deep directory on a system without openat
7296         Before this change, getcwd would fail when called from a directory
7297         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7298         the non-openat implementation used "..", "../..", "../../..", etc.
7299         to access ancestor directories.  With too many, that string would
7300         be longer than PATH_MAX.
7301         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7302         using gnulib's openat replacement.
7303         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7304         we're using the replacement function.
7305
7306 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7307
7308         maint.mk: avoid warnings from perl about missing files
7309         * top/maint.mk (def_sym_regex): Ignore files listed in
7310         $(gl_other_headers_) that do not exist, say because a project
7311         does not use a corresponding module.
7312
7313 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7314
7315         stat: use pathmax.h only if needed
7316         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7317         This is better for Emacs, which does not have a mingw port and
7318         therefore can avoid the pathmax module.
7319
7320         utimens: remove dependency on dup2
7321         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
7322         to work around the Linux kernel bug.
7323         * modules/utimens (Depends-on): Remove dup2.
7324
7325 2011-09-18  Bruno Haible  <bruno@clisp.org>
7326
7327         inet_ntop, inet_pton: Look for it also in libresolv.
7328         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
7329         libnsl, search for it in libresolv.
7330         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7331         Needed on Solaris 7.
7332
7333 2011-09-18  Bruno Haible  <bruno@clisp.org>
7334
7335         accept, accept4 tests: Avoid link error on Solaris.
7336         * modules/accept-tests (Makefile.am): Link test-accept against
7337         $(LIBSOCKET).
7338         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7339         $(LIBSOCKET).
7340
7341         accept4: Avoid link error on Solaris.
7342         * modules/accept4 (Link): New section.
7343
7344         socket functions: Avoid link errors on Solaris.
7345         * modules/accept (Depends-on): Add socketlib.
7346         (Link): New section.
7347         * modules/bind (Depends-on): Add socketlib.
7348         (Link): New section.
7349         * modules/connect (Depends-on): Add socketlib.
7350         (Link): New section.
7351         * modules/getpeername (Depends-on): Add socketlib.
7352         (Link): New section.
7353         * modules/getsockname (Depends-on): Add socketlib.
7354         (Link): New section.
7355         * modules/getsockopt (Depends-on): Add socketlib.
7356         (Link): New section.
7357         * modules/listen (Depends-on): Add socketlib.
7358         (Link): New section.
7359         * modules/recv (Depends-on): Add socketlib.
7360         (Link): New section.
7361         * modules/recvfrom (Depends-on): Add socketlib.
7362         (Link): New section.
7363         * modules/send (Depends-on): Add socketlib.
7364         (Link): New section.
7365         * modules/sendto (Depends-on): Add socketlib.
7366         (Link): New section.
7367         * modules/setsockopt (Depends-on): Add socketlib.
7368         (Link): New section.
7369         * modules/shutdown (Depends-on): Add socketlib.
7370         (Link): New section.
7371         * modules/socket (Depends-on): Add socketlib.
7372         (Link): New section.
7373
7374 2011-09-18  Bruno Haible  <bruno@clisp.org>
7375
7376         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
7377         * tests/test-ptsname.c (main): Terminate the test if it takes longer
7378         than 5 seconds.
7379         * modules/ptsname-tests (configure.ac): Test for alarm.
7380
7381 2011-09-18  Bruno Haible  <bruno@clisp.org>
7382
7383         posix_spawn_file_actions_add*: Fix module dependencies.
7384         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
7385         posix_spawn_file_actions_init.
7386         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
7387         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
7388
7389 2011-09-18  Bruno Haible  <bruno@clisp.org>
7390
7391         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
7392         * tests/test-rename.h (test_rename): Allow error code EEXIST.
7393         * tests/test-renameat.c (main): Likewise.
7394
7395 2011-09-18  Bruno Haible  <bruno@clisp.org>
7396
7397         Tests for module 'accept4'.
7398         * modules/accept4-tests: New file.
7399         * tests/test-accept4.c: New file.
7400
7401 2011-09-18  Bruno Haible  <bruno@clisp.org>
7402
7403         Tests for module 'accept'.
7404         * modules/accept-tests: New file.
7405         * tests/test-accept.c: New file.
7406
7407 2011-09-18  Bruno Haible  <bruno@clisp.org>
7408
7409         dup2: Support for MSVC.
7410         * lib/dup2.c: Include msvc-inval.h.
7411         (rpl_dup2): Handle invalid parameter notifications during dup2 and
7412         _get_osfhandle calls.
7413         * modules/dup2 (Depends-on): Add msvc-inval.
7414         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
7415
7416         New module 'msvc-inval'.
7417         * lib/msvc-inval.h: New file.
7418         * lib/msvc-inval.c: New file.
7419         * m4/msvc-inval.m4: New file.
7420         * modules/msvc-inval: New file.
7421
7422 2011-09-17  Bruno Haible  <bruno@clisp.org>
7423
7424         Tests for module 'pclose'.
7425         * modules/pclose-tests: New file.
7426
7427         New module 'pclose'.
7428         * lib/stdio.in.h (pclose): New declaration.
7429         * lib/pclose.c: New file.
7430         * m4/pclose.m4: New file.
7431         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
7432         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
7433         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
7434         * modules/pclose: New file.
7435         * modules/popen-tests (Depends-on): Add pclose.
7436         * modules/popen-safer-tests (Depends-on): Likewise.
7437         * doc/posix-functions/pclose.texi: Mention the new module.
7438
7439 2011-09-17  Bruno Haible  <bruno@clisp.org>
7440
7441         popen: Support for MSVC.
7442         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
7443         * lib/popen.c (popen): Provide alternate definition for native Windows.
7444         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7445         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
7446         * modules/popen (Depends-on, configure.ac): Update condition.
7447         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
7448         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
7449         fixed.
7450
7451 2011-09-17  Bruno Haible  <bruno@clisp.org>
7452
7453         isnanl, isnand, isnanf: Work around MSVC bug.
7454         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
7455
7456 2011-09-17  Bruno Haible  <bruno@clisp.org>
7457
7458         sys_socket tests: Fix recent mistake.
7459         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
7460
7461 2011-09-17  Bruno Haible  <bruno@clisp.org>
7462
7463         putenv: Support for MSVC.
7464         * modules/putenv (Depends-on): Add environ.
7465         * lib/putenv.c (environ): Disable declaration.
7466         * lib/unistd.in.h: Update comment.
7467
7468 2011-09-17  Bruno Haible  <bruno@clisp.org>
7469
7470         math: Avoid macro redefinition warnings on MSVC.
7471         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
7472         Undefine before redefining.
7473
7474 2011-09-17  Bruno Haible  <bruno@clisp.org>
7475
7476         doc: Mention functions which are declared as macros.
7477         * doc/posix-functions/*[fl].texi: Mention that some functions are
7478         defined as macros with arguments only.
7479
7480 2011-09-17  Bruno Haible  <bruno@clisp.org>
7481
7482         Add dependencies to new dirent related modules.
7483         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
7484         * modules/fts (Depends-on): Likewise.
7485         * modules/glob (Depends-on): Likewise.
7486         * modules/savedir (Depends-on): Likewise.
7487         * modules/scandir (Depends-on): Likewise.
7488         * modules/dirent-safer (Depends-on): Add opendir, closedir.
7489         * modules/fdopendir (Depends-on): Add opendir.
7490
7491 2011-09-17  Bruno Haible  <bruno@clisp.org>
7492
7493         inet_pton: Support for MSVC on Windows Vista or newer.
7494         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
7495         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
7496         HAVE_DECL_INET_PTON is defined.
7497         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7498         On platforms with <winsock2.h>, test whether inet_pton is declared in
7499         <ws2tcpip.h>. If so, arrange to replace it.
7500         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7501         REPLACE_INET_PTON.
7502         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
7503         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
7504         (Depends-on, configure.ac): Update condition.
7505         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
7506
7507 2011-09-17  Bruno Haible  <bruno@clisp.org>
7508
7509         inet_ntop: Support for MSVC on Windows Vista or newer.
7510         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
7511         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
7512         HAVE_DECL_INET_NTOP is defined.
7513         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7514         On platforms with <winsock2.h>, test whether inet_ntop is declared in
7515         <ws2tcpip.h>. If so, arrange to replace it.
7516         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7517         REPLACE_INET_NTOP.
7518         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
7519         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
7520         (Depends-on, configure.ac): Update condition.
7521         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
7522
7523 2011-09-16  Eric Blake  <eblake@redhat.com>
7524
7525         test-fsync: yet another enhancement
7526         * tests/test-fsync.c (main): Also test behavior on read-only text
7527         file.
7528
7529 2011-09-16  Bruno Haible  <bruno@clisp.org>
7530
7531         Enhance fsync, fdatasync tests.
7532         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
7533         * tests/test-fdatasync.c (main): Likewise.
7534
7535 2011-09-16  Bruno Haible  <bruno@clisp.org>
7536
7537         Support for MSVC compiler: Ensure mode_t gets defined.
7538         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
7539         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7540         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7541         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
7542         * tests/test-fcntl-h.c: Check that mode_t is defined.
7543         * tests/test-sys_stat.c: Likewise.
7544         * tests/test-sys_types.c: Likewise.
7545         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
7546         * doc/posix-headers/sys_stat.texi: Likewise.
7547         * doc/posix-headers/sys_types.texi: Likewise.
7548
7549 2011-09-16  Bruno Haible  <bruno@clisp.org>
7550
7551         sys_stat: Support for MSVC.
7552         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
7553         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
7554         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
7555         MSVC.
7556
7557 2011-09-16  Bruno Haible  <bruno@clisp.org>
7558
7559         Support for MSVC compiler: Ensure off_t gets defined.
7560         * lib/unistd.in.h: Include <sys/types.h>.
7561         * tests/test-fcntl-h.c: Check that off_t is defined.
7562         * tests/test-sys_stat.c: Likewise.
7563         * tests/test-sys_types.c: Likewise.
7564
7565 2011-09-16  Eric Blake  <eblake@redhat.com>
7566
7567         fdatasync: port to Solaris
7568         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
7569         * modules/fdatasync (Link): Document it.
7570         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
7571
7572         fdatasync: port to MacOS X 10.7
7573         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
7574         declared.
7575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
7576         * modules/unistd (Makefile.am): Substitute it.
7577         * lib/unistd.in.h (fdatasync): Declare on MacOS.
7578         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
7579
7580         fdatasync: minor improvements
7581         * modules/fdatasync (Depends-on): Add condition for fsync.
7582         * lib/fdatasync.c (fdatasync): Add comment.
7583         * tests/test-unistd-c++.cc: Test fdatasync.
7584
7585         unistd: update refs to newer POSIX
7586         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
7587         Suggested by Bruno Haible.
7588
7589         fdatasync: new module
7590         * modules/fsync (Description): Document difference to fdatasync.
7591         * modules/fdatasync: New module.
7592         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
7593         * lib/fdatasync.c (fdatasync): Likewise.
7594         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
7595         defaults.
7596         * modules/unistd (Makefile.am): Set witnesses.
7597         * lib/unistd.in.h (fdatasync): Declare.
7598         * MODULES.html.sh: Document it.
7599         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
7600         * modules/fdatasync-tests: New test.
7601         * tests/test-fdatasync.c: Likewise.
7602
7603 2011-09-16  Eric Blake  <eblake@redhat.com>
7604
7605         test-fsync: enhance tests
7606         * modules/fsync-tests (Depends-on): Add errno, for mingw.
7607         * tests/test-fsync.c (main): Enhance test.
7608
7609 2011-09-15  Bruno Haible  <bruno@clisp.org>
7610
7611         Support for MSVC compiler: Ensure ssize_t gets defined.
7612         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
7613         * doc/posix-headers/stdio.texi: Likewise.
7614         * modules/stdio (Depends-on): Add ssize_t.
7615         * modules/sys_socket (Depends-on): Likewise.
7616         * modules/sys_types (Depends-on): Likewise.
7617         * modules/sys_uio (Depends-on): Likewise.
7618         * modules/unistd (Depends-on): Likewise.
7619         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
7620         * tests/test-sys_types.c: Check that ssize_t is defined.
7621
7622 2011-09-14  Bruno Haible  <bruno@clisp.org>
7623
7624         Avoid using #, the m4 comment starter character, near brackets.
7625         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
7626         delimiter character in sed expressions.
7627         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7628         Suggested by Eric Blake.
7629
7630         Properly quote AC_CHECK_DECLS' 4th argument.
7631         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
7632         argument.
7633         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
7634         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7635         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7636         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
7637         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
7638         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
7639         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
7640         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
7641         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
7642         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7643         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
7644         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7645         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7646         * m4/isinf.m4 (gl_ISINF): Likewise.
7647         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
7648         * m4/readutmp.m4 (gl_READUTMP): Likewise.
7649         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7650         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7651         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7652         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
7653         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
7654         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7655         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
7656         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
7657         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7658         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7659         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
7660         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7662         Reported by Eric Blake.
7663
7664         Properly quote AC_CHECK_DECL's 4th argument.
7665         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
7666         argument.
7667         * m4/argp.m4 (gl_ARGP): Likewise.
7668         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
7669         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
7670         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
7671         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
7672         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
7673         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
7674         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
7675         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
7676         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7677         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
7678         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
7679         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
7680         Reported by Eric Blake.
7681
7682 2011-09-14  Eric Blake  <eblake@redhat.com>
7683
7684         opendir: avoid compile warning
7685         * lib/opendir.c (includes): Always include errno.h.
7686         Reported by Tatsuro MATSUOKA.
7687
7688 2011-09-14  Jim Meyering  <meyering@redhat.com>
7689
7690         maint.mk: sc_tight_scope: propagate failure from sub-make
7691         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
7692         Reported by Martin von Gagern.
7693
7694 2011-09-13  Bruno Haible  <bruno@clisp.org>
7695
7696         tempname: Support for MSVC.
7697         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
7698         MSVC.
7699         * modules/tempname (Depends-on): Add fcntl-h.
7700
7701 2011-09-13  Bruno Haible  <bruno@clisp.org>
7702
7703         sys_time: Support for MSVC.
7704         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
7705         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
7706         include <winsock2.h>.
7707         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
7708         function declarations that collide with POSIX.
7709         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
7710         (Makefile.am): Substitute HAVE_WINSOCK2_H.
7711
7712 2011-09-13  Bruno Haible  <bruno@clisp.org>
7713
7714         stat: Support for MSVC.
7715         * lib/stat.c: Include pathmax.h.
7716         * modules/stat (Depends-on): Add pathmax.
7717
7718         pathmax: Support for native Windows.
7719         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
7720
7721 2011-09-12  Bruno Haible  <bruno@clisp.org>
7722
7723         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
7724         * lib/dirent.in.h (struct dirent): New type.
7725         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
7726         DT_WHT): New macros.
7727         (DIR): New type.
7728         (opendir, closedir): Declare only if the module 'opendir' is enabled.
7729         (readdir, rewinddir): New declarations.
7730         * lib/dirent-private.h: New file.
7731         * lib/opendir.c: New file.
7732         * lib/readdir.c: New file.
7733         * lib/rewinddir.c: New file.
7734         * lib/closedir.c: New file.
7735         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
7736         * m4/opendir.m4: New file.
7737         * m4/readdir.m4: New file.
7738         * m4/rewinddir.m4: New file.
7739         * m4/closedir.m4: New file.
7740         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
7741         REPLACE_CLOSEDIR here.
7742         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
7743         readdir, rewinddir are declared.
7744         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
7745         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
7746         HAVE_REWINDDIR, HAVE_CLOSEDIR.
7747         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
7748         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
7749         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
7750         * modules/opendir: New file.
7751         * modules/readdir: New file.
7752         * modules/rewinddir: New file.
7753         * modules/closedir: New file.
7754         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
7755         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
7756         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
7757         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
7758         * NEWS: Mention the 'fchdir' change.
7759
7760 2011-09-11  Bruno Haible  <bruno@clisp.org>
7761
7762         asm-underscore.m4: Support for MSVC.
7763         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
7764         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
7765
7766 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
7767
7768         Doc about crypt functions.
7769         * doc/posix-functions/crypt.texi: Expand range of glibc versions
7770         needing for _GNU_SOURCE to get crypt.
7771         * doc/posix-functions/encrypt.texi: Likewise.
7772         * doc/posix-functions/setkey.texi: Likewise.
7773
7774 2011-09-11  Bruno Haible  <bruno@clisp.org>
7775
7776         doc: Update regarding MSVC 9.
7777         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
7778         tested".
7779         * doc/posix-functions/*.texi: Update with info about MSVC 9.
7780         * doc/posix-headers/*.texi: Likewise.
7781         * doc/pastposix-functions/*.texi: Likewise.
7782         * doc/glibc-functions/*.texi: Likewise.
7783         * doc/glibc-headers/*.texi: Likewise.
7784
7785 2011-09-11  Bruno Haible  <bruno@clisp.org>
7786
7787         unistd et al.: Don't assume <unistd.h> exists.
7788         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
7789         does not exist.
7790         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
7791         exist. But include <stdlib.h>.
7792         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
7793         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
7794         symlink() does not exist.
7795         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
7796         include <io.h> instead.
7797         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
7798         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
7799         include <direct.h> instead.
7800         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7801         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7802         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
7803         <io.h> instead.
7804         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
7805         correctly if the system does not have hard links.
7806         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
7807         <direct.h> instead.
7808         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
7809         it when looking for function declarations.
7810         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
7811         <direct.h> and <io.h> instead.
7812         * doc/posix-headers/unistd.texi: More details about MSVC problem.
7813
7814 2011-09-11  Bruno Haible  <bruno@clisp.org>
7815
7816         strcase: Support for MSVC.
7817         * modules/strcase (Status, Notice): Remove obsoletion mark.
7818         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
7819         * doc/posix-functions/strncasecmp.texi: Likewise.
7820
7821         strings: Don't assume <strings.h> exists.
7822         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
7823         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
7824         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
7825         * doc/posix-headers/strings.texi: Mention the MSVC problem.
7826
7827 2011-09-11  Bruno Haible  <bruno@clisp.org>
7828
7829         dirent: Don't assume <dirent.h> exists.
7830         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
7831         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
7832         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
7833         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
7834
7835 2011-09-11  Bruno Haible  <bruno@clisp.org>
7836
7837         Fix wint_t on MSVC.
7838         * lib/wchar.in.h (wint_t): On MSVC, override it.
7839         * lib/wctype.in.h (wint_t): Likewise.
7840         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
7841         MSVC.
7842         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
7843         * doc/posix-headers/wctype.texi: Likewise.
7844
7845 2011-09-11  Bruno Haible  <bruno@clisp.org>
7846
7847         sys_types: Fix typo.
7848         * lib/sys_types.in.h: Fix typo in comment.
7849         Reported by Paul Eggert.
7850
7851         Support for MSVC compiler: Ensure size_t gets defined.
7852         * modules/strings (Depends-on): Add 'sys_types'.
7853         * modules/sys_uio (Depends-on): Likewise.
7854         * lib/sys_uio.in.h: Update comment.
7855
7856         C++ tests for module 'sys_types'.
7857         * modules/sys_types-c++-tests: New file.
7858         * tests/test-sys_types-c++.cc: New file.
7859
7860         Tests for module 'sys_types'.
7861         * modules/sys_types-tests: New file.
7862         * tests/test-sys_types.c: New file.
7863
7864         New module 'sys_types'.
7865         * lib/sys_types.in.h: New file.
7866         * m4/sys_types_h.m4: New file.
7867         * modules/sys_types: New file.
7868         * doc/posix-headers/sys_types.texi: Mention the new module and the
7869         size_t problem on MSVC 9.
7870
7871 2011-09-11  Bruno Haible  <bruno@clisp.org>
7872
7873         Support for MSVC compiler: Avoid division by a literal 0.
7874         * lib/math.in.h (NAN): Define through a function call also on MSVC.
7875         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
7876         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
7877         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
7878         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
7879         * tests/infinity.h: New file.
7880         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
7881         on MSVC.
7882         * tests/test-ceilf1.c: Include infinity.h.
7883         (main): Use Infinityf.
7884         * tests/test-ceil1.c: Include infinity.h.
7885         (main): Use Infinityd.
7886         * tests/test-ceill.c: Include infinity.h.
7887         (main): Use Infinityl.
7888         * tests/test-dprintf-posix.c: Include infinity.h.
7889         (test_function): Use Infinityd.
7890         * tests/test-floorf1.c: Include infinity.h.
7891         (main): Use Infinityf.
7892         * tests/test-floor1.c: Include infinity.h.
7893         (main): Use Infinityd.
7894         * tests/test-floorl.c: Include infinity.h.
7895         (main): Use Infinityl.
7896         * tests/test-fprintf-posix.c: Include infinity.h.
7897         (test_function): Use Infinityd.
7898         * tests/test-frexp.c: Include infinity.h.
7899         (main): Use Infinityd.
7900         * tests/test-frexpl.c: Include infinity.h.
7901         (main): Use Infinityl.
7902         * tests/test-isfinite.c: Include infinity.h.
7903         (test_isfinitef): Use Infinityf.
7904         (test_isfinited): Use Infinityd.
7905         (test_isfinitel): Use Infinityl.
7906         * tests/test-isinf.c: Include infinity.h.
7907         (test_isinff): Use Infinityf.
7908         (test_isinfd): Use Infinityd.
7909         (test_isinfl): Use Infinityl.
7910         * tests/test-isnan.c: Include infinity.h.
7911         (test_float): Use Infinityf.
7912         (test_double): Use Infinityd.
7913         (test_long_double): Use Infinityl.
7914         * tests/test-isnanf.h: Include infinity.h.
7915         (main): Use Infinityf.
7916         * tests/test-isnand.h: Include infinity.h.
7917         (main): Use Infinityd.
7918         * tests/test-isnanl.h: Include infinity.h.
7919         (main): Use Infinityl.
7920         * tests/test-ldexpl.c: Include infinity.h.
7921         (main): Use Infinityl.
7922         * tests/test-printf-posix.h: Include infinity.h.
7923         (test_function): Use Infinityd.
7924         * tests/test-roundf1.c: Include infinity.h.
7925         (main): Use Infinityf.
7926         * tests/test-round1.c: Include infinity.h.
7927         (main): Use Infinityd.
7928         * tests/test-roundl.c: Include infinity.h.
7929         (main): Use Infinityl.
7930         * tests/test-signbit.c: Include infinity.h.
7931         (test_signbitf): Use Infinityf.
7932         (test_signbitd): Use Infinityd.
7933         (test_signbitl): Use Infinityl.
7934         * tests/test-snprintf-posix.h: Include infinity.h.
7935         (test_function): Use Infinityd, Infinityl.
7936         * tests/test-sprintf-posix.h: Include infinity.h.
7937         (test_function): Use Infinityd, Infinityl.
7938         * tests/test-truncf1.c: Include infinity.h.
7939         (main): Use Infinityf.
7940         * tests/test-trunc1.c: Include infinity.h.
7941         (main): Use Infinityd.
7942         * tests/test-truncl.c: Include infinity.h.
7943         (main): Use Infinityl.
7944         * tests/test-vasnprintf-posix.c: Include infinity.h.
7945         (test_function): Use Infinityd, Infinityl.
7946         * tests/test-vasprintf-posix.c: Include infinity.h.
7947         (test_function): Use Infinityd, Infinityl.
7948         * modules/ceilf-tests (Files): Add tests/infinity.h.
7949         * modules/ceil-tests (Files): Likewise.
7950         * modules/ceill-tests (Files): Likewise.
7951         * modules/dprintf-posix-tests (Files): Likewise.
7952         * modules/floorf-tests (Files): Likewise.
7953         * modules/floor-tests (Files): Likewise.
7954         * modules/floorl-tests (Files): Likewise.
7955         * modules/fprintf-posix-tests (Files): Likewise.
7956         * modules/frexp-tests (Files): Likewise.
7957         * modules/frexp-nolibm-tests (Files): Likewise.
7958         * modules/frexpl-tests (Files): Likewise.
7959         * modules/frexpl-nolibm-tests (Files): Likewise.
7960         * modules/isfinite-tests (Files): Likewise.
7961         * modules/isinf-tests (Files): Likewise.
7962         * modules/isnan-tests (Files): Likewise.
7963         * modules/isnanf-tests (Files): Likewise.
7964         * modules/isnanf-nolibm-tests (Files): Likewise.
7965         * modules/isnand-tests (Files): Likewise.
7966         * modules/isnand-nolibm-tests (Files): Likewise.
7967         * modules/isnanl-tests (Files): Likewise.
7968         * modules/isnanl-nolibm-tests (Files): Likewise.
7969         * modules/ldexpl-tests (Files): Likewise.
7970         * modules/printf-posix-tests (Files): Likewise.
7971         * modules/roundf-tests (Files): Likewise.
7972         * modules/round-tests (Files): Likewise.
7973         * modules/roundl-tests (Files): Likewise.
7974         * modules/signbit-tests (Files): Likewise.
7975         * modules/snprintf-posix-tests (Files): Likewise.
7976         * modules/sprintf-posix-tests (Files): Likewise.
7977         * modules/truncf-tests (Files): Likewise.
7978         * modules/trunc-tests (Files): Likewise.
7979         * modules/truncl-tests (Files): Likewise.
7980         * modules/vasnprintf-posix-tests (Files): Likewise.
7981         * modules/vasprintf-posix-tests (Files): Likewise.
7982         * modules/vdprintf-posix-tests (Files): Likewise.
7983         * modules/vfprintf-posix-tests (Files): Likewise.
7984         * modules/vprintf-posix-tests (Files): Likewise.
7985         * modules/vsnprintf-posix-tests (Files): Likewise.
7986         * modules/vsprintf-posix-tests (Files): Likewise.
7987         * modules/xprintf-posix-tests (Files): Likewise.
7988
7989 2011-09-11  Bruno Haible  <bruno@clisp.org>
7990
7991         Ensure pid_t gets defined.
7992         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
7993         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7994         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7995         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7996         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7997         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7998         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
7999         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8000         * tests/test-fcntl-h.c: Check that pid_t is defined.
8001         * tests/test-sched.c: Likewise.
8002         * tests/test-termios.c: Likewise.
8003         * tests/test-time.c: Likewise.
8004         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8005         * doc/posix-headers/signal.texi: Likewise.
8006         * doc/posix-headers/sys_types.texi: Likewise.
8007         * doc/posix-headers/time.texi: Likewise.
8008
8009 2011-09-11  Bruno Haible  <bruno@clisp.org>
8010
8011         acl: Fix compilation on Solaris 10 (older version).
8012         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8013         of ACE_EVERYONE.
8014         * lib/set-mode-acl.c (qset_acl): Likewise.
8015         Reported by Christian Jullien <eligis@orange.fr>.
8016
8017 2011-09-10  Bruno Haible  <bruno@clisp.org>
8018
8019         iconv, unsetenv: Add support for MSVC compiler.
8020         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8021         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8022
8023 2011-09-10  Bruno Haible  <bruno@clisp.org>
8024
8025         *printf: Add support for MSVC compiler.
8026         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8027         handles the exception caused by the %n directive. When cross-compiling,
8028         guess no on native Windows.
8029         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8030         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8031         emulate it through vsnprintf.
8032         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8033         * doc/posix-functions/dprintf.texi: Update documentation regarding
8034         MSVC 9.
8035         * doc/posix-functions/fprintf.texi: Likewise.
8036         * doc/posix-functions/printf.texi: Likewise.
8037         * doc/posix-functions/snprintf.texi: Likewise.
8038         * doc/posix-functions/sprintf.texi: Likewise.
8039         * doc/posix-functions/swprintf.texi: Likewise.
8040         * doc/posix-functions/vdprintf.texi: Likewise.
8041         * doc/posix-functions/vfprintf.texi: Likewise.
8042         * doc/posix-functions/vprintf.texi: Likewise.
8043         * doc/posix-functions/vsnprintf.texi: Likewise.
8044         * doc/posix-functions/vsprintf.texi: Likewise.
8045         * doc/glibc-functions/asprintf.texi: Likewise.
8046         * doc/glibc-functions/obstack_printf.texi: Likewise.
8047         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8048         * doc/glibc-functions/vasprintf.texi: Likewise.
8049
8050 2011-09-10  Bruno Haible  <bruno@clisp.org>
8051
8052         nocrash: Add support for native Windows.
8053         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8054
8055 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8056             Bruno Haible  <bruno@clisp.org>
8057
8058         absolute-header, include-next: Add support for MSVC compiler.
8059         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8060         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8061         directory separator in #line directives.
8062         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8063         recognize also backslash as directory separator in #line directives.
8064
8065 2011-09-08  Jim Meyering  <meyering@redhat.com>
8066
8067         maint.mk: mark the post-release commit log with "maint: " prefix
8068         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8069         one-line commit-log summary.
8070
8071 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8072             Bruno Haible  <bruno@clisp.org>
8073
8074         Doc about crypt functions.
8075         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8076         systems.
8077         * doc/posix-functions/encrypt.texi: Likewise.
8078         * doc/posix-functions/setkey.texi: Likewise.
8079
8080 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8081
8082         * lib/gc.h: Fix copyright header.
8083
8084 2011-09-07  Bruno Haible  <bruno@clisp.org>
8085
8086         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8087         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8088         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8089
8090 2011-09-07  Bruno Haible  <bruno@clisp.org>
8091
8092         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8093         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8094         * lib/freopen.c: Likewise.
8095         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8096         * lib/lstat.c: Likewise.
8097         * lib/stat.c: Likewise.
8098         * lib/open.c: Use different syntax for include of <fcntl.h>.
8099         * lib/openat.c: Include fcntl.h again, explicitly.
8100
8101 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8102
8103         parse-datetime: document the newly accepted format
8104         * doc/parse-datetime.texi (Combined date and time of day items):
8105         New section.
8106
8107 2011-09-06  Bruno Haible  <bruno@clisp.org>
8108
8109         acl: Fix a test failure on newer Solaris 10 with ZFS.
8110         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8111         ENOSYS as no ACL.
8112         Reported by Jim Meyering.
8113
8114 2011-09-06  Bruno Haible  <bruno@clisp.org>
8115
8116         acl: Update for AIX >= 5.3 with NFS.
8117         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8118         ENOSYS as no ACL.
8119
8120         acl: Fix a test failure on AIX >= 5.3 with NFS.
8121         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8122         as no ACL.
8123
8124 2011-09-06  Bruno Haible  <bruno@clisp.org>
8125
8126         acl: Fix a test failure on IRIX 6.5 with NFS.
8127         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8128         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8129         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8130         * lib/copy-acl.c (qcopy_acl): Likewise.
8131
8132 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8133
8134         openat: port to AIX 7.1 with large files
8135         AIX 7.1 does a "#define openat open64at" if large files are in use,
8136         so we can't simply #undef openat.  Use the orig_openat trick (similar
8137         to orig_open in lib/open.c) to work around the problem.  Problem
8138         reported by Kevin Brott for GNU tar, in the thread containing
8139         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8140         * lib/openat.c (__need_system_fcntl_h): Define first.
8141         Include <fcntl.h> and <sys/types.h> before undefining.
8142         (orig_openat) [HAVE_OPENAT]: New inline function.
8143         (openat) [HAVE_OPENAT]: Do not undef.
8144         (rpl_openat): Use orig_openat, not openat.
8145
8146 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8147             Bruno Haible  <bruno@clisp.org>
8148
8149         acl: Avoid errors on NonStop Kernel.
8150         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8151         ENOTSUP errors.
8152
8153 2011-09-05  Bruno Haible  <bruno@clisp.org>
8154
8155         acl: Clean up Solaris code.
8156         * lib/acl-internal.h: Remove no-op #if.
8157         * lib/file-has-acl.c: Likewise.
8158         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8159         * lib/copy-acl.c (qcopy_acl): Likewise.
8160
8161 2011-09-05  Bruno Haible  <bruno@clisp.org>
8162
8163         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8164         binaries built on the original Solaris 10.
8165         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8166         trivial.
8167
8168 2011-09-05  Bruno Haible  <bruno@clisp.org>
8169
8170         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8171         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8172         10.
8173         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8174         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8175         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8176         instead of acl_get, facl_get, acl_set, facl_set.
8177
8178 2011-09-05  Bruno Haible  <bruno@clisp.org>
8179
8180         copy-file: Try unit tests on more file systems.
8181         * tests/test-copy-file-1.sh: New file.
8182         * tests/test-copy-file-2.sh: New file.
8183         * modules/copy-file-tests (Files): Add them.
8184         (Makefile.am): Add them to TESTS.
8185
8186         acl: Try unit tests on more file systems.
8187         * tests/test-file-has-acl-1.sh: New file.
8188         * tests/test-file-has-acl-2.sh: New file.
8189         * tests/test-set-mode-acl-1.sh: New file.
8190         * tests/test-set-mode-acl-2.sh: New file.
8191         * tests/test-copy-acl-1.sh: New file.
8192         * tests/test-copy-acl-2.sh: New file.
8193         * modules/acl-tests (Files): Add them.
8194         (Makefile.am): Add them to TESTS.
8195
8196 2011-09-04  Bruno Haible  <bruno@clisp.org>
8197
8198         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8199         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8200         10.
8201         (OLD_ALLOW, OLD_DENY): New macros.
8202         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8203         ACE_ACCESS_ALLOWED_ACE_TYPE.
8204         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8205         ACE_ACCESS_DENIED_ACE_TYPE.
8206         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8207         (NEW_ACE_EXECUTE): Fix value.
8208         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8209         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8210         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8211         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8212         NEW_ACE_SYNCHRONIZE): New macros.
8213         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8214         instead of acl_fromtext, acl_set, facl_set.
8215         Fixes a coreutils/tests/cp/perm failure.
8216
8217 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8218
8219         openat: test for fstatat (..., 0) bug
8220         Further testing with tar suggests that fstatat (..., 0)
8221         does not work in general, on AIX 7.1; see
8222         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8223         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8224         replacement fstatat (which is what older AIX releases were using
8225         anyway).
8226         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8227         use is now changed to orig_fstatat.  This was probably the right
8228         thing to do anyway.
8229         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8230         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8231         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8232         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8233         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8234         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8235         if the bug is found.
8236
8237         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8238         This tests for another fstatat bug on AIX 7.1:
8239         fstatat (AT_FDCWD, ..., 0) does not work.  See
8240         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8241         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8242         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8243         (rpl_fstatat): Adjust so that it works around either (or both)
8244         bugs if present.
8245         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8246
8247 2011-09-03  Karl Berry  <karl@gnu.org>
8248
8249         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8250         in index entries.
8251
8252 2011-09-02  Bruno Haible  <bruno@clisp.org>
8253
8254         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8255         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8256         values of AR, ARFLAGS, RANLIB.
8257         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8258
8259 2011-09-02  Bruno Haible  <bruno@clisp.org>
8260
8261         Find 'ar' program that fits with --host argument.
8262         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8263
8264 2011-09-02  Bruno Haible  <bruno@clisp.org>
8265
8266         tests: init.sh: Support any non-GNU diff.
8267         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8268         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8269         Solaris 8.
8270
8271 2011-09-02  Bruno Haible  <bruno@clisp.org>
8272
8273         tests: init.sh: work also with any non-GNU diff that supports -u
8274         * tests/init.sh: Relax check for diff -u support.
8275         Rather than checking for GNU diff via --version, simply check
8276         for support for -u itself.  Useful at least on OpenBSD 4.9,
8277         AIX 7.1, IRIX 6.5, and Solaris 10.
8278
8279 2011-09-01  Bruno Haible  <bruno@clisp.org>
8280
8281         strtoimax, strtoumax: Document problem on HP-UX 11.
8282         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8283         * doc/posix-functions/strtoumax.texi: Likewise.
8284
8285 2011-09-01  Bruno Haible  <bruno@clisp.org>
8286
8287         strtoumax: Avoid link error on OSF/1 with DTK cc.
8288         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8289         defined as a function.
8290         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8291         strtoumax is defined, not whether it is declared.
8292
8293 2011-09-01  Bruno Haible  <bruno@clisp.org>
8294
8295         strtoimax: Avoid link error on OSF/1 with DTK cc.
8296         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8297         defined as a function.
8298         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8299         strtoimax is defined, not whether it is declared.
8300
8301 2011-09-01  Bruno Haible  <bruno@clisp.org>
8302
8303         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8304         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8305         as a function.
8306         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8307         whether it is declared.
8308
8309 2011-09-01  Bruno Haible  <bruno@clisp.org>
8310
8311         imaxabs: Avoid link error on OSF/1 with DTK cc.
8312         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8313         as a function.
8314         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8315         whether it is declared.
8316
8317 2011-09-01  Bruno Haible  <bruno@clisp.org>
8318
8319         Tests for module 'strtoumax'.
8320         * modules/strtoumax-tests: New file.
8321         * tests/test-strtoumax.c: New file.
8322
8323         Tests for module 'strtoimax'.
8324         * modules/strtoimax-tests: New file.
8325         * tests/test-strtoimax.c: New file.
8326
8327         Tests for module 'imaxdiv'.
8328         * modules/imaxdiv-tests: New file.
8329         * tests/test-imaxdiv.c: New file.
8330
8331         Tests for module 'imaxabs'.
8332         * modules/imaxabs-tests: New file.
8333         * tests/test-imaxabs.c: New file.
8334
8335 2011-09-01  Bruno Haible  <bruno@clisp.org>
8336
8337         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8338         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8339         pthread_create.
8340
8341 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8342
8343         openat: work around AIX 7.1 fstatat issue
8344         This should fix the problem that was not properly fixed
8345         in the previous change, dated 2011-08-30.
8346         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8347         __need_system_stat_h defined.
8348         (orig_fstatat) [HAVE_FSTATAT]: New function.
8349         (rpl_fstatat): Go back to the old way of doing things,
8350         except call orig_fstatat instead of fstatat.
8351         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8352         Remove unnecessary check whether fstatat fills in st_size etc.
8353
8354 2011-09-01  Bruno Haible  <bruno@clisp.org>
8355
8356         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
8357         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
8358         just include the system's header.
8359
8360 2011-08-31  Jim Meyering  <meyering@redhat.com>
8361
8362         tests: avoid spurious assertion failure in test-float.c on ppc64
8363         * tests/test-float.c (test_long_double): Comment out an assertion,
8364         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
8365         with gcc-4.4.4.
8366
8367         maint: indent with spaces, not TABs
8368         I need to get in the habit of running gnulib's "make check".
8369         Both of these would have been caught.
8370         * m4/largefile.m4: Indent with spaces, not TABs.
8371         * lib/parse-datetime.y (iso_8601_time): Likewise.
8372         Spotted by Pádraig Brady.
8373
8374         test-parse-datetime.c: accommodate a relatively strict gcc warning
8375         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
8376         to avoid a warning from gcc's -Werror=missing-declarations.
8377         Insert a few spaces-before-funcall-parenthesis.
8378
8379 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
8380
8381         parse-datetime: accept ISO 8601 date and time rep with "T" separator
8382         The parser now accepts ISO 8601 date-time strings with "T" as the
8383         separator.  It has long parsed dates like "2004-02-29 16:21:42"
8384         with a space between the date and time strings.  Now it also parses
8385         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
8386         variants like "2004-02-29T16:21:42.333-07:00"
8387         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
8388         of day representation using the 'T' separator character.
8389         * doc/parse-datetime.texi (General date syntax): replace use of
8390         deprecated --iso-8601 option with --rfc-3339 in example of date
8391         command output formats that can be parsed.
8392         * tests/test-parse-datetime.c (tm_diff): New function, taken from
8393         lib/parse-datetime.y.
8394         (gmt_offset): New function.
8395         (main): Add additional test cases to validate ISO8601 extended
8396         date and time of day parsing.
8397
8398 2011-08-31  Bruno Haible  <bruno@clisp.org>
8399
8400         freopen: Documentation.
8401         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
8402         name.
8403         Reported by Claudio Bley <claudio.bley@gmail.com>.
8404
8405 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
8406
8407         freopen: Don't crash if the filename argument is NULL.
8408         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
8409         NULL.
8410
8411 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8412
8413         openat: work around AIX 7.1 fstatat bug
8414         Problem reported by Kevin Brott for GNU tar, in the thread containing
8415         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
8416         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
8417         FSTATAT_ST_SIZE_ETC_BROKEN.
8418         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
8419         rpl_fstatat.
8420         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
8421         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
8422         AC_CHECK_FUNCS_ONCE for fstatat.
8423         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
8424         fchmodat, mkdirat, openat and unlinkat.
8425
8426 2011-08-30  Bruno Haible  <bruno@clisp.org>
8427
8428         Avoid endless recursions if config.h includes some header files.
8429         * lib/fopen.c (__need_FILE): Define already before including config.h.
8430         * lib/freopen.c (__need_FILE): Likewise.
8431         * lib/open.c (__need_system_fcntl_h): Likewise.
8432         * lib/stat.c (__need_system_sys_stat_h): Likewise.
8433         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
8434         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8435
8436 2011-08-25  Karl Berry  <karl@gnu.org>
8437
8438         * config/srclist.txt (ylwrap): new try.
8439         * build-aux/ylwrap: new file.
8440
8441 2011-08-23  Bruno Haible  <bruno@clisp.org>
8442
8443         tmpdir: Use a good default directory on native Windows.
8444         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
8445         (P_tmpdir): Default to _P_tmpdir on native Windows.
8446         (path_search): On native Windows, try the value returned by GetTempPath
8447         before trying P_tmpdir.
8448         * modules/tmpdir (Depends-on): Add pathmax.
8449         Suggested by John Darrington <john@darrington.wattle.id.au>.
8450
8451 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
8452
8453         doc: fix typo in README-release
8454         * top/README-release: Capitalize first word of a sentence.
8455
8456 2011-08-19  Jim Meyering  <meyering@redhat.com>
8457
8458         fts: do not exhaust memory when processing million-entry directories
8459         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
8460         directory would require about 256*N bytes of memory.  Thus, it was
8461         easy to construct a directory too large to be processed by any of
8462         those tools.  With this change, fts' maximum memory utilization is
8463         now limited to around 30MB.
8464         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
8465         (fts_read): When we've processed the final entry (i.e., when
8466         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
8467         using the parent entry to read any remaining entries.  Dispatch
8468         depending on what fts_build returns:
8469         - NULL+stop, aka failure: stop
8470         - NULL otherwise: move up in the dir hierarchy
8471         - non-NULL: handle this new entry
8472         (fts_build): Declare and use new local, continue_readdir.
8473         Prepare to be called from fts_read, when the entries
8474         from a partially-read directory have just been exhausted.
8475         In that case, we'll skip the opendir and instead use the parent's
8476         fts_dirp and derive dir_fd from that.
8477         Finally, in the readdir loop, if we read max_entries entries,
8478         exit the loop ensuring *not* to call closedir.  This is required
8479         so that fts_dirp can be reused on a subsequent call.
8480         Prompted by Ben England's report of memory exhaustion in find
8481         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
8482
8483         maint: fts: move decl of `dp' down into while loop; split a long line
8484         * lib/fts.c (fts_build): No semantic change.
8485
8486         fts: add/use new struct member, fts_dirp
8487         We are about to use this to manage any directory with
8488         too many entries to read all of them into memory at once.
8489         To do that, we'll need to save the DIR* pointer in each
8490         affected FTSENT struct.
8491         * lib/fts_.h: Include <dirent.h>.
8492         (struct FTSENT) [fts_dirp]: New member.
8493         * lib/fts.c (closedir_and_clear): Define.
8494         Use it in place of closedir so that we are sure to
8495         clear the new fts_dirp member when done with it.
8496         (fts_alloc): Initialize the new member.
8497         (fts_lfree): Free, if needed.
8498
8499         maint: fts: give __opendir2 a new parameter and rename
8500         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
8501         than surreptitiously using sole caller's "dir_fd".
8502         (fts_opendir): Rename from __opendir2.
8503
8504         maint: fts.c: remove __opendir2's now-unused parameter, oflag
8505         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
8506
8507         maint: fts.c: correct off-by-one indentation
8508         * lib/fts.c (fts_build): Correct indentation, change style
8509         of a couple of block comments, and bracing style.
8510
8511         maint: fts.c: move __opendir2 #define "up" out of function body
8512         * lib/fts.c (__opendir2): Move "up".  No semantic change.
8513
8514         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
8515         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
8516         out for a long time and besides was useful only on BSD systems.
8517
8518 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
8519
8520         regex: port to Stratus OpenVOS
8521         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
8522         define to empty, rather than attempting nonportable optimizations.
8523         Problem reported by Paul Green in:
8524         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
8525         and fix suggested by Eric Blake in:
8526         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
8527
8528 2011-08-17  Eric Blake  <eblake@redhat.com>
8529
8530         getcwd: fix test failures on mingw
8531         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
8532         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
8533         test if long directory cannot be created, and allow mingw errno.
8534
8535         getcwd-lgpl: fix m4 to match relaxed test for BSD
8536         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
8537         (gl_FUNC_GETCWD_SIGNATURE): New macro.
8538         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
8539         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
8540         signature problem.
8541
8542         getcwd: fix compilation on mingw64
8543         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
8544         getcwd.
8545         Reported by Marc-André Lureau.
8546
8547         pipe2: silence compiler warning
8548         * lib/pipe2.c (pipe2): Hide label if it is not used.
8549
8550 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
8551
8552         relocatable-prog: fix link error
8553         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
8554         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
8555         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
8556         into modules/relocatable-lib without noticing that
8557         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
8558         also needs to build relocatable.c.
8559
8560 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
8561
8562         getaddrinfo: fix sh typo in gai_strerrorA decl checking
8563         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
8564         shell code: it contained a 'break' that was not in a loop.
8565         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
8566         via a shell-language loop; this may have been true in old Autoconf
8567         versions, but it's not true in Autoconf 2.68.  I found this bug
8568         when testing coreutils git on Solaris 8, whose shell complains
8569         about the syntax error.
8570
8571 2011-08-12  Simon Josefsson  <simon@josefsson.org>
8572
8573         * lib/base64.c: Fix comment to reference RFC 4648.
8574         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
8575         <gvtulder@gmail.com>.
8576
8577 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
8578
8579         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
8580
8581         po/Makefile.in.in: fix make -q problem
8582         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
8583         rule, since there's no file named 'check-macro-version' and its
8584         use as a file breaks make -q.
8585         (all): Don't depend on check-macro-version.
8586         (CHECK_MACRO_VERSION): New macro.
8587         (stamp-po): Use it.
8588
8589         configmake: fix make -q problem
8590         * modules/configmake (configmake.h): Update configmake.h's time stamp
8591         even if the file does not change.  Otherwise, 'make -q' fails.
8592         Problem reported by Simon Josefsson in
8593         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
8594
8595 2011-08-11  Jim Meyering  <meyering@redhat.com>
8596
8597         git-version-gen: correct the advice in a comment
8598         * build-aux/git-version-gen: Correct comment.
8599         Don't recommend to list .tarball-version in .gitignore.
8600
8601 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8602
8603         base64: fix off-by-one buffer size bug
8604         Problem and (trivial) fix reported by Gijs van Tulder in
8605         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
8606         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
8607         * tests/test-base64.c (main): Catch the bug.
8608
8609 2011-08-10  Eric Blake  <eblake@redhat.com>
8610
8611         closein: correct comments
8612         * lib/closein.c (close_stdin): Improve comments.
8613
8614 2011-08-09  Bruno Haible  <bruno@clisp.org>
8615
8616         More tests for 'fseeko'.
8617         * tests/test-fseeko3.c: New file, from Eric Blake.
8618         * tests/test-fseeko3.sh: New file.
8619         * modules/fseeko-tests (Files): Add them.
8620         (TESTS): Add test-fseeko3.sh.
8621         (check_PROGRAMS): Add test-fseeko3.
8622
8623 2011-08-09  Eric Blake  <eblake@redhat.com>
8624
8625         fseeko: remove unneeded hack
8626         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
8627
8628         fseeko: fix bug on glibc
8629         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
8630         Reported by John W. Eaton.
8631
8632 2011-08-08  Bruno Haible  <bruno@clisp.org>
8633
8634         unictype/base: Fix interoperability with preinstalled libunistring.
8635         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
8636         Reported by Simon Josefsson.
8637
8638 2011-08-08  Bruno Haible  <bruno@clisp.org>
8639
8640         iswblank: Detect declaration correctly.
8641         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
8642         AC_CHECK_DECLS invocation.
8643
8644 2011-08-08  Bruno Haible  <bruno@clisp.org>
8645
8646         tcgetsid: Detect declaration correctly.
8647         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
8648         AC_CHECK_DECLS invocation.
8649         Reported by Simon Josefsson.
8650
8651 2011-08-08  Eric Blake  <eblake@redhat.com>
8652
8653         largefile: fix typo that regressed large file support
8654         * modules/largefile (configure.ac-early): Fix section name.
8655
8656 2011-08-06  Karl Berry  <karl@gnu.org>
8657
8658         * MODULES.html.sh (func_all_files): _Noreturn is no longer
8659         a separate module.
8660
8661 2011-08-05  Simon Josefsson  <simon@josefsson.org>
8662
8663         openat: Fix warnings and commens when building unlinkat.c on Hurd.
8664         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
8665         get prototype for free.
8666
8667 2011-08-04  Bruno Haible  <bruno@clisp.org>
8668
8669         Tests for module 'pathmax'.
8670         * modules/pathmax-tests: New file.
8671         * tests/test-pathmax.c: New file.
8672
8673         canonicalize-lgpl: Support larger filenames on the Hurd.
8674         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
8675         Reported by Paul Eggert.
8676
8677         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
8678         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
8679         * lib/chdir-long.h: Include pathmax.h.
8680         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
8681         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
8682         (PATH_MAX): Remove code that is done by pathmax.h.
8683         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
8684         * lib/tmpfile.c: Add a comment.
8685         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
8686         * modules/chdir-long (Depends-on): Add pathmax.
8687         * modules/getcwd (Depends-on): Add pathmax.
8688         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
8689         is not defined.
8690         * doc/posix-headers/limits.texi: Mention the pathmax module.
8691         * NEWS: Mention the change.
8692
8693 2011-08-02  Bruno Haible  <bruno@clisp.org>
8694
8695         pthread_sigmask: Actually use results of gl_THREADLIB.
8696         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
8697         gl_THREADLIB, not gl_[]THREADLIB.
8698         Reported by Eric Blake.
8699
8700 2011-08-02  Jim Meyering  <meyering@redhat.com>
8701
8702         maint.mk: relax the default _gl_TS_function_match regexp
8703         * top/maint.mk (_gl_TS_function_match): Don't require at least one
8704         space between function name and "(" in an "extern" declaration.
8705         That would fail to match a decl with no space there: extern void foo();
8706
8707 2011-07-31  Iain Nicol  <iain@thenicols.net>
8708
8709         git-version-gen: document that EXTRA_DIST must include .version
8710         * build-aux/git-version-gen: In the how-to-use comment, document
8711         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
8712         will fail when run from an unpacked distribution tarball.
8713
8714 2011-08-01  Bruno Haible  <bruno@clisp.org>
8715
8716         wctype-h: Fix last change.
8717         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
8718         REPLACE_TOWLOWER to 0.
8719         Reported by Sam Steingold <sds@gnu.org>.
8720
8721 2011-07-31  Bruno Haible  <bruno@clisp.org>
8722
8723         frexpl: Update autoconf test.
8724         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
8725         according to changes of 2011-06-20.
8726
8727 2011-07-31  Bruno Haible  <bruno@clisp.org>
8728
8729         sys_utsname: Add support for Minix.
8730         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
8731         <sys/utsname.h>.
8732         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8733         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
8734
8735 2011-07-31  Bruno Haible  <bruno@clisp.org>
8736
8737         strings: Add support for Minix.
8738         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
8739         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
8740         * doc/posix-headers/strings.texi: Document the Minix problem.
8741
8742 2011-07-31  Bruno Haible  <bruno@clisp.org>
8743
8744         wctype-h: Add support for Minix.
8745         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
8746         REPLACE_TOWLOWER.
8747         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
8748         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
8749         REPLACE_ISWCNTRL.
8750
8751 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
8752
8753         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
8754         This is a performance improvement for 64-bit hosts: it causes the
8755         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
8756
8757 2011-07-31  Bruno Haible  <bruno@clisp.org>
8758
8759         stdioext: Add support for Minix.
8760         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
8761         * lib/fpurge.c (fpurge): Likewise.
8762         * lib/freadahead.c (freadahead): Likewise.
8763         * lib/freadable.c (freadable): Likewise.
8764         * lib/freading.c (freading): Likewise.
8765         * lib/freadptr.c (freadptr): Likewise.
8766         * lib/freadseek.c (freadptrinc): Likewise.
8767         * lib/fseeko.c (rpl_fseeko): Likewise.
8768         * lib/fseterr.c (fseterr): Likewise.
8769         * lib/fwritable.c (fwritable): Likewise.
8770         * lib/fwriting.c (fwriting): Likewise.
8771         * lib/fflush.c (clear_ungetc_buffer): Update comment.
8772         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
8773
8774 2011-07-31  Bruno Haible  <bruno@clisp.org>
8775
8776         errno: Port to Minix.
8777         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
8778         ECONNABORTED are defined.
8779         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
8780         GNULIB_defined_ECONNABORTED): New macros.
8781         * lib/strerror-override.h (strerror_override): Test also
8782         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
8783         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
8784         ECONNABORTED.
8785         * doc/posix-headers/errno.texi: Mention the Minix problem.
8786
8787 2011-07-31  Bruno Haible  <bruno@clisp.org>
8788
8789         Work around declaration collisions on Minix.
8790         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
8791         defined, set REPLACE_MBSINIT.
8792         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
8793         defined, set REPLACE_MBRTOWC.
8794         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
8795         set REPLACE_MBRLEN.
8796         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
8797         defined, set REPLACE_MBSRTOWCS.
8798         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
8799         defined, set REPLACE_WCRTOMB.
8800         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
8801         defined, set REPLACE_WCSRTOMBS.
8802
8803 2011-07-31  Bruno Haible  <bruno@clisp.org>
8804
8805         Add support for Minix with ACK compiler.
8806         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
8807         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
8808         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
8809
8810 2011-07-31  Bruno Haible  <bruno@clisp.org>
8811
8812         Documentation about Minix.
8813         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
8814         * doc/glibc-headers/*.texi: Likewise.
8815         * doc/posix-functions/*.texi: Likewise.
8816         * doc/glibc-functions/*.texi: Likewise.
8817
8818 2011-07-31  Bruno Haible  <bruno@clisp.org>
8819
8820         snippet/warn-on-use: Fix indentation.
8821         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
8822
8823 2011-07-25  Jim Meyering  <meyering@redhat.com>
8824
8825         tests: test-update-copyright.sh: remove unnecessary "rm" commands
8826         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
8827         commands.
8828
8829 2011-07-27  Jim Meyering  <meyering@redhat.com>
8830
8831         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
8832         * top/maint.mk (gl_extract_significant_defines_): Now that
8833         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
8834         gnulib/lib/signal.in.h, and now that we recommend to
8835         define-if-undefined those two symbols in application code,
8836         we must filter them out of the "significant" list.
8837         This avoids a "make syntax-check" failure in coreutils.
8838
8839 2011-07-26  Eric Blake  <eblake@redhat.com>
8840
8841         warnings: add comments about previous patch
8842         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
8843         * m4/include_next.m4: Likewise.
8844         * m4/warn-on-use.m4: Likewise.
8845         * m4/warnings.m4: Likewise, and simplify use.
8846         Suggested by Stefano Lattarini.
8847
8848         include-next, warnings: support older autoconf
8849         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
8850         AS_VAR_PUSHDEF in a way that works with older autoconf.
8851         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
8852         Reported by Daniel P. Berrange.
8853
8854 2011-07-25  Bruno Haible  <bruno@clisp.org>
8855
8856         fseek, ftell: Fix doc.
8857         * doc/posix-functions/fseek.texi: Reword statement about
8858         AC_SYS_LARGEFILE.
8859         * doc/posix-functions/ftell.texi: Likewise.
8860
8861 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8862             Bruno Haible  <bruno@clisp.org>
8863
8864         Add dependencies to the 'largefile' module.
8865         * modules/fopen (Depends-on): Add 'largefile'.
8866         * modules/freopen (Depends-on): Likewise.
8867         * modules/fseeko (Depends-on): Likewise.
8868         * modules/ftello (Depends-on): Likewise.
8869         * modules/glob (Depends-on): Likewise.
8870         * modules/lseek (Depends-on): Likewise.
8871         * modules/lstat (Depends-on): Likewise.
8872         * modules/mkostemp (Depends-on): Likewise.
8873         * modules/mkostemps (Depends-on): Likewise.
8874         * modules/mkstemp (Depends-on): Likewise.
8875         * modules/mkstemps (Depends-on): Likewise.
8876         * modules/open (Depends-on): Likewise.
8877         * modules/openat (Depends-on): Likewise.
8878         * modules/pread (Depends-on): Likewise.
8879         * modules/pwrite (Depends-on): Likewise.
8880         * modules/scandir (Depends-on): Likewise.
8881         * modules/stat (Depends-on): Likewise.
8882         * modules/tmpfile (Depends-on): Likewise.
8883         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
8884         since the containing module now depends on the largefile module.
8885         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
8886         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
8887         off_t is fixed by gnulib.
8888         * doc/posix-functions/freopen.texi: Likewise.
8889         * doc/posix-functions/fseeko.texi: Likewise.
8890         * doc/posix-functions/fstatat.texi: Likewise.
8891         * doc/posix-functions/ftello.texi: Likewise.
8892         * doc/posix-functions/glob.texi: Likewise.
8893         * doc/posix-functions/lseek.texi: Likewise.
8894         * doc/posix-functions/lstat.texi: Likewise.
8895         * doc/posix-functions/mkstemp.texi: Likewise.
8896         * doc/posix-functions/open.texi: Likewise.
8897         * doc/posix-functions/openat.texi: Likewise.
8898         * doc/posix-functions/pread.texi: Likewise.
8899         * doc/posix-functions/pwrite.texi: Likewise.
8900         * doc/posix-functions/scandir.texi: Likewise.
8901         * doc/posix-functions/stat.texi: Likewise.
8902         * doc/posix-functions/tmpfile.texi: Likewise.
8903         * doc/glibc-functions/mkostemp.texi: Likewise.
8904         * doc/glibc-functions/mkostemps.texi: Likewise.
8905         * doc/glibc-functions/mkstemps.texi: Likewise.
8906
8907 2011-07-25  Bruno Haible  <bruno@clisp.org>
8908
8909         fcntl: Move AC_LIBOBJ invocation to module description.
8910         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
8911         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
8912
8913         fcntl: Remove call-in from fchdir.m4.
8914         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
8915         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
8916
8917         dup3: Remove potential call-in from fchdir.m4.
8918         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
8919         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
8920
8921         dup2: Move AC_LIBOBJ invocation to module description.
8922         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
8923         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
8924         Don't invoke AC_LIBOBJ.
8925         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
8926
8927         dup2: Remove call-in from fchdir.m4.
8928         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
8929         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
8930
8931         fclose: Move AC_LIBOBJ invocation to module description.
8932         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
8933         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
8934         to 1.
8935         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
8936
8937         fclose: Remove call-in from close.m4.
8938         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
8939         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
8940
8941         close: Move AC_LIBOBJ invocation to module description.
8942         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
8943         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
8944         1.
8945         * modules/close (configure.ac): Invoke AC_LIBOBJ.
8946
8947         close: Remove call-in from fchdir.m4.
8948         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
8949         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
8950
8951         open: Move AC_LIBOBJ invocation to module description.
8952         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
8953         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
8954         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
8955
8956         open: Remove call-in from fchdir.m4.
8957         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
8958         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
8959
8960         fchdir: Start to remove gl_REPLACE_* idiom.
8961         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
8962         (gl_FUNC_FCHDIR): Invoke it.
8963
8964 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8965
8966         * lib/ftell.c (ftell): Comment out cast.
8967
8968         close: use gl_REPLACE_FCLOSE only if defined
8969         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
8970         is defined.  The close module doesn't depend on the fclose module
8971         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
8972         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
8973         I reproduced the problem with "./gnulib-tool --test close sys_socket".
8974
8975 2011-07-24  Jim Meyering  <meyering@redhat.com>
8976
8977         test-select.h: avoid warning when using gcc's -Wmissing-declarations
8978         * tests/test-select.h (test_function): Declare as "static".
8979
8980 2011-07-24  Bruno Haible  <bruno@clisp.org>
8981
8982         doc: Mention the effects of AC_SYS_LARGEFILE.
8983         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
8984         on this function.
8985         * doc/posix-functions/aio_error.texi: Likewise.
8986         * doc/posix-functions/aio_fsync.texi: Likewise.
8987         * doc/posix-functions/aio_read.texi: Likewise.
8988         * doc/posix-functions/aio_return.texi: Likewise.
8989         * doc/posix-functions/aio_suspend.texi: Likewise.
8990         * doc/posix-functions/aio_write.texi: Likewise.
8991         * doc/posix-functions/fgetpos.texi: Likewise.
8992         * doc/posix-functions/fopen.texi: Likewise.
8993         * doc/posix-functions/freopen.texi: Likewise.
8994         * doc/posix-functions/fsetpos.texi: Likewise.
8995         * doc/posix-functions/fstatvfs.texi: Likewise.
8996         * doc/posix-functions/ftruncate.texi: Likewise.
8997         * doc/posix-functions/ftw.texi: Likewise.
8998         * doc/posix-functions/getrlimit.texi: Likewise.
8999         * doc/posix-functions/glob.texi: Likewise.
9000         * doc/posix-functions/lio_listio.texi: Likewise.
9001         * doc/posix-functions/lockf.texi: Likewise.
9002         * doc/posix-functions/mkstemp.texi: Likewise.
9003         * doc/posix-functions/mmap.texi: Likewise.
9004         * doc/posix-functions/nftw.texi: Likewise.
9005         * doc/posix-functions/openat.texi: Likewise.
9006         * doc/posix-functions/opendir.texi: Likewise.
9007         * doc/posix-functions/posix_fadvise.texi: Likewise.
9008         * doc/posix-functions/posix_fallocate.texi: Likewise.
9009         * doc/posix-functions/pread.texi: Likewise.
9010         * doc/posix-functions/pwrite.texi: Likewise.
9011         * doc/posix-functions/readdir.texi: Likewise.
9012         * doc/posix-functions/readdir_r.texi: Likewise.
9013         * doc/posix-functions/rewinddir.texi: Likewise.
9014         * doc/posix-functions/scandir.texi: Likewise.
9015         * doc/posix-functions/seekdir.texi: Likewise.
9016         * doc/posix-functions/setrlimit.texi: Likewise.
9017         * doc/posix-functions/statvfs.texi: Likewise.
9018         * doc/posix-functions/telldir.texi: Likewise.
9019         * doc/posix-functions/tmpfile.texi: Likewise.
9020         * doc/posix-functions/truncate.texi: Likewise.
9021         * doc/glibc-functions/fallocate.texi: Likewise.
9022         * doc/glibc-functions/fstatfs.texi: Likewise.
9023         * doc/glibc-functions/fts_children.texi: Likewise.
9024         * doc/glibc-functions/fts_read.texi: Likewise.
9025         * doc/glibc-functions/getdirentries.texi: Likewise.
9026         * doc/glibc-functions/mkostemp.texi: Likewise.
9027         * doc/glibc-functions/mkostemps.texi: Likewise.
9028         * doc/glibc-functions/mkstemps.texi: Likewise.
9029         * doc/glibc-functions/preadv.texi: Likewise.
9030         * doc/glibc-functions/pwritev.texi: Likewise.
9031         * doc/glibc-functions/sendfile.texi: Likewise.
9032         * doc/glibc-functions/statfs.texi: Likewise.
9033
9034 2011-07-24  Bruno Haible  <bruno@clisp.org>
9035
9036         doc: Fix typo.
9037         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9038
9039 2011-07-24  Bruno Haible  <bruno@clisp.org>
9040
9041         doc: Mention fsusage.
9042         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9043
9044 2011-07-24  Bruno Haible  <bruno@clisp.org>
9045
9046         doc: Mention new glibc headers and functions.
9047         * doc/glibc-headers/gshadow.texi: New file.
9048         * doc/glibc-functions/endsgent.texi: New file.
9049         * doc/glibc-functions/fgetsgent.texi: New file.
9050         * doc/glibc-functions/fgetsgent_r.texi: New file.
9051         * doc/glibc-functions/getsgent.texi: New file.
9052         * doc/glibc-functions/getsgent_r.texi: New file.
9053         * doc/glibc-functions/getsgnam.texi: New file.
9054         * doc/glibc-functions/getsgnam_r.texi: New file.
9055         * doc/glibc-functions/putsgent.texi: New file.
9056         * doc/glibc-functions/setsgent.texi: New file.
9057         * doc/glibc-functions/sgetsgent.texi: New file.
9058         * doc/glibc-functions/sgetsgent_r.texi: New file.
9059         * doc/glibc-functions/malloc_info.texi: New file.
9060         * doc/glibc-functions/preadv.texi: New file.
9061         * doc/glibc-functions/pwritev.texi: New file.
9062         * doc/glibc-functions/register_printf_modifier.texi: New file.
9063         * doc/glibc-functions/register_printf_specifier.texi: New file.
9064         * doc/glibc-functions/register_printf_type.texi: New file.
9065         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9066         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9067         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9068         * doc/glibc-functions/pthread_getname_np.texi: New file.
9069         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9070         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9071         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9072         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9073         * doc/glibc-functions/pthread_setname_np.texi: New file.
9074         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9075         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9076         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9077         * doc/glibc-functions/qsort_r.texi: New file.
9078         * doc/glibc-functions/quick_exit.texi: New file.
9079         * doc/glibc-functions/syncfs.texi: New file.
9080         * doc/gnulib.texi: Include them.
9081         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9082         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9083         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9084         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9085         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9086         * doc/glibc-functions/execvpe.texi: Likewise.
9087
9088 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9089
9090         ftell: don't include <unistd.h>
9091         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9092         guaranteed to define off_t, and the ftell module depends on the
9093         stdio module.
9094
9095         ftell: do not assume wraparound signed arithmetic
9096         * lib/ftell.c: Include <limits.h>.
9097         (ftell): Don't assume wraparound signed arithmetic.
9098
9099 2011-07-24  Bruno Haible  <bruno@clisp.org>
9100
9101         close: No longer depend on module 'fclose'.
9102         * modules/close (Depends-on): Remove fclose.
9103         * NEWS: Mention the change.
9104         Suggested by Sam Steingold <sds@gnu.org>.
9105
9106 2011-07-24  Bruno Haible  <bruno@clisp.org>
9107
9108         fsusage: Enable large volume support on AIX >= 5.2.
9109         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9110         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9111         instead of STAT_STATVFS.
9112         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9113
9114         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9115         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9116         f_blocks field only on MacOS X.
9117
9118         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9119         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9120         * modules/fsusage (Depends-on): Add largefile.
9121
9122 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9123
9124         * README: Modernize discussion of signed integers.
9125         Assuming overflow wraparound is no longer safe.
9126         Mention ones' complement and signed magnitude.
9127
9128 2011-07-22  Bruno Haible  <bruno@clisp.org>
9129
9130         select tests, pselect tests: Refactor.
9131         * tests/test-select.h: New file, extracted from tests/test-select.c.
9132         (select_fn): New type.
9133         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9134         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9135         test_pipe): Add my_select argument.
9136         (test_function): Renamed from main. Add my_select argument.
9137         * tests/test-select.c: Move most code to tests/test-select.h. Include
9138         test-select.h.
9139         * modules/select-tests (Files): Add tests/test-select.h.
9140         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9141         (my_select, main): New functions.
9142         * modules/pselect-tests (Files): Add tests/test-select.h,
9143         tests/macros.h, tests/signature.h.
9144         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9145         (configure.ac): Check for <sys/wait.h>.
9146
9147 2011-07-22  Bruno Haible  <bruno@clisp.org>
9148
9149         sys_select tests: Check the signature of FD_*.
9150         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9151         signature tests from here...
9152         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9153         here.
9154         * modules/sys_select-tests (Files): Add tests/signature.h.
9155
9156 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9157
9158         largefile: new module, replacing large-inode
9159         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9160         * MODULES.html.sh: Add largefile, remove large-inode.
9161         * modules/largefile, m4/largefile.m4: New files.
9162         * modules/large-inode, m4/large-inode.m4: Remove.
9163
9164         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9165         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9166         implementations that use only 32 bits to count blocks.
9167         On typical hosts with 1024-byte blocks, this fails with file
9168         systems as small as 4 TiB.  Problem reported by Herb Wartens
9169         <http://debbugs.gnu.org/9140> and this should also fix a similar
9170         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9171
9172         large-inode: New module
9173         * MODULES.html.sh: Add it.
9174         * modules/large-inode, m4/large-inode.m4: New files.
9175
9176         extensions: Enable extensions on MacOS X 10.5 and later.
9177         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9178
9179 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9180
9181         file-has-acl: use acl_extended_file_nofollow if available
9182         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9183         (acl_extended_file): New macro.
9184         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9185         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9186
9187 2011-07-21  Bruno Haible  <bruno@clisp.org>
9188
9189         Declare system functions in a way that works with C++.
9190         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9191         declare fdopendir as extern "C".
9192         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9193         declare frexpl as extern "C".
9194         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9195         declare gai_strerror as extern "C".
9196         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9197         programs, declare gai_strerror as extern "C".
9198         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9199         declare getlogin_r as extern "C".
9200         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9201         as extern "C".
9202         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9203         declare ldexpl as extern "C".
9204         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9205         as extern "C".
9206         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9207         program, declare getmntinfo as extern "C".
9208         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9209         stpncpy as extern "C".
9210         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9211         program, declare __xpg_strerror_r as extern "C".
9212         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9213         strndup as extern "C".
9214         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9215         declare memset and bzero as extern "C".
9216         Reported by Sam Steingold <sds@gnu.org>.
9217
9218 2011-07-12  Jim Meyering  <meyering@redhat.com>
9219
9220         maint.mk: prohibit inclusion of "verify.h" without use
9221         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9222
9223 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9224
9225         timer-time: A new module to check for timer_settime()
9226         * m4/timer_time.m4: Check for the posix function.
9227         * modules/timer-time: Add the new module.
9228         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9229         Mention it.
9230
9231 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9232             Bruno Haible  <bruno@clisp.org>
9233
9234         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9235         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9236         not defined, assume POSIX threads and look for pthread_sigmask in
9237         $LIBS, without changing $CPPFLAGS.
9238
9239 2011-07-19  Bruno Haible  <bruno@clisp.org>
9240
9241         strstr: Update cross-compilation guess.
9242         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9243         CPUs, guess no, in view of glibc
9244         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9245         Suggested by Eric Blake. Reported by Reuben Thomas.
9246
9247 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9248
9249         getopt-gnu: suppress core dumps from detection code
9250         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9251         to suppress core dumps that may well occur on glibc systems.
9252         * modules/getopt-gnu: Depend on nocrash.
9253
9254 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9255
9256         pthread_sigmask: ensure usleep is declared
9257         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9258         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9259
9260 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9261
9262         doc: Document NonStop portability issues.
9263         * doc/posix-functions/sigaction.texi (sigaction):
9264         * doc/posix-headers/signal.texi (signal.h):
9265         Document NonStop.  See Joachim Schmitz in
9266         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9267
9268 2011-07-15  Bruno Haible  <bruno@clisp.org>
9269
9270         ffsl, ffsll: Avoid unportable behaviour.
9271         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9272
9273 2011-07-15  Bruno Haible  <bruno@clisp.org>
9274
9275         ffs: More tests.
9276         * tests/test-ffs.c (NBITS): New macro.
9277         (main): Add more tests.
9278         * tests/test-ffsl.c (NBITS): New macro.
9279         (main): Add more tests.
9280         * tests/test-ffsll.c (NBITS): New macro.
9281         (main): Add more tests.
9282
9283 2011-07-15  Eric Blake  <eblake@redhat.com>
9284
9285         ffsl, ffsll: new modules
9286         * modules/ffsl: New file.
9287         * modules/ffsll: Likewise.
9288         * m4/ffsl.m4: Likewise.
9289         * m4/ffsll.m4: Likewise.
9290         * lib/ffsl.c: Likewise.
9291         * lib/ffsl.h: Likewise.
9292         * lib/ffsll.c: Likewise.
9293         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9294         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9295         * modules/string (Makefile.am): Substitute witnesses.
9296         * lib/strings.in.h (ffsl, ffsll): Declare.
9297         * modules/ffsl-tests: New test file.
9298         * modules/ffsll-tests: Likewise.
9299         * tests/test-ffsl.c: Likewise.
9300         * tests/test-ffsll.c: Likewise.
9301         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9302         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9303         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9304
9305         ffs: fix m4 prerequisite
9306         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9307
9308         ffs: avoid undefined behavior
9309         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9310         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9311         Reported by Bruno Haible.
9312
9313 2011-07-12  Bruno Haible  <bruno@clisp.org>
9314
9315         pthread_sigmask: Rely on module 'threadlib'.
9316         * modules/pthread_sigmask (Depends-on): Add threadlib.
9317         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9318         is defined.
9319
9320 2011-07-12  Bruno Haible  <bruno@clisp.org>
9321
9322         regex: Depend on module 'strcase'.
9323         * modules/regex (Depends-on): Add strcase, for strcasecmp().
9324
9325 2011-07-12  Jim Meyering  <meyering@redhat.com>
9326
9327         warn-on-use: fix typo in file name
9328         * modules/snippet/warn-on-use (Files): Correct file name:
9329         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
9330
9331 2011-07-12  Bruno Haible  <bruno@clisp.org>
9332
9333         strings: Document module.
9334         * doc/posix-headers/strings.texi: Mention module 'strings'.
9335
9336 2011-07-12  Bruno Haible  <bruno@clisp.org>
9337
9338         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9339         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9340         (Files, Makefile.am): Update.
9341         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9342         * modules/stdlib (Depends-on): Update.
9343
9344 2011-07-12  Bruno Haible  <bruno@clisp.org>
9345
9346         * NEWS: Mention the changes.
9347
9348         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9349         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9350         (Files, Makefile.am): Update.
9351         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9352         * modules/arpa_inet (Depends-on): Update.
9353         * modules/ctype (Depends-on): Update.
9354         * modules/dirent (Depends-on): Update.
9355         * modules/fcntl-h (Depends-on): Update.
9356         * modules/glob (Depends-on): Update.
9357         * modules/iconv-h (Depends-on): Update.
9358         * modules/inttypes-incomplete (Depends-on): Update.
9359         * modules/langinfo (Depends-on): Update.
9360         * modules/locale (Depends-on): Update.
9361         * modules/math (Depends-on): Update.
9362         * modules/netdb (Depends-on): Update.
9363         * modules/poll-h (Depends-on): Update.
9364         * modules/pty (Depends-on): Update.
9365         * modules/search (Depends-on): Update.
9366         * modules/signal (Depends-on): Update.
9367         * modules/spawn (Depends-on): Update.
9368         * modules/stdio (Depends-on): Update.
9369         * modules/stdlib (Depends-on): Update.
9370         * modules/string (Depends-on): Update.
9371         * modules/strings (Depends-on): Update.
9372         * modules/sys_file (Depends-on): Update.
9373         * modules/sys_ioctl (Depends-on): Update.
9374         * modules/sys_select (Depends-on): Update.
9375         * modules/sys_socket (Depends-on): Update.
9376         * modules/sys_stat (Depends-on): Update.
9377         * modules/sys_time (Depends-on): Update.
9378         * modules/sys_times (Depends-on): Update.
9379         * modules/sys_utsname (Depends-on): Update.
9380         * modules/sys_wait (Depends-on): Update.
9381         * modules/termios (Depends-on): Update.
9382         * modules/time (Depends-on): Update.
9383         * modules/unistd (Depends-on): Update.
9384         * modules/wchar (Depends-on): Update.
9385         * modules/wctype-h (Depends-on): Update.
9386         * MODULES.html.sh (Support for building libraries and executables):
9387         Update.
9388
9389         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
9390         * modules/snippet/unused-parameter: Renamed from
9391         modules/unused-parameter.
9392         (Files, Makefile.am): Update.
9393         * build-aux/snippet/unused-parameter.h: Renamed from
9394         build-aux/unused-parameter.h.
9395         * modules/selinux-h (Depends-on): Update.
9396         * modules/unistr/base (Depends-on): Update.
9397         * MODULES.html.sh (Core language properties): Update.
9398
9399         Rename module 'link-warning' to 'snippet/link-warning'.
9400         * modules/snippet/link-warning: Renamed from modules/link-warning.
9401         (Files, Makefile.am): Update.
9402         * build-aux/snippet/link-warning.h: Renamed from
9403         build-aux/link-warning.h.
9404         * MODULES.html.sh (Support for building libraries and executables):
9405         Update.
9406
9407         Rename module 'c++defs' to 'snippet/c++defs'.
9408         * modules/snippet/c++defs: Renamed from modules/c++defs.
9409         (Files, Makefile.am): Update.
9410         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
9411         * modules/arpa_inet (Depends-on): Update.
9412         * modules/ctype (Depends-on): Update.
9413         * modules/dirent (Depends-on): Update.
9414         * modules/fcntl-h (Depends-on): Update.
9415         * modules/glob (Depends-on): Update.
9416         * modules/iconv-h (Depends-on): Update.
9417         * modules/langinfo (Depends-on): Update.
9418         * modules/locale (Depends-on): Update.
9419         * modules/math (Depends-on): Update.
9420         * modules/netdb (Depends-on): Update.
9421         * modules/poll-h (Depends-on): Update.
9422         * modules/pty (Depends-on): Update.
9423         * modules/search (Depends-on): Update.
9424         * modules/signal (Depends-on): Update.
9425         * modules/spawn (Depends-on): Update.
9426         * modules/stdio (Depends-on): Update.
9427         * modules/stdlib (Depends-on): Update.
9428         * modules/string (Depends-on): Update.
9429         * modules/strings (Depends-on): Update.
9430         * modules/sys_ioctl (Depends-on): Update.
9431         * modules/sys_select (Depends-on): Update.
9432         * modules/sys_socket (Depends-on): Update.
9433         * modules/sys_stat (Depends-on): Update.
9434         * modules/sys_time (Depends-on): Update.
9435         * modules/sys_wait (Depends-on): Update.
9436         * modules/termios (Depends-on): Update.
9437         * modules/time (Depends-on): Update.
9438         * modules/unistd (Depends-on): Update.
9439         * modules/wchar (Depends-on): Update.
9440         * modules/wctype-h (Depends-on): Update.
9441
9442         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
9443         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
9444         (Files, Makefile.am): Update.
9445         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
9446         * modules/argv-iter (Depends-on): Update.
9447         * modules/arpa_inet (Depends-on): Update.
9448         * modules/dirent (Depends-on): Update.
9449         * modules/fcntl-h (Depends-on): Update.
9450         * modules/fnmatch (Depends-on): Update.
9451         * modules/getopt-posix (Depends-on): Update.
9452         * modules/glob (Depends-on): Update.
9453         * modules/iconv-h (Depends-on): Update.
9454         * modules/inttypes-incomplete (Depends-on): Update.
9455         * modules/locale (Depends-on): Update.
9456         * modules/math (Depends-on): Update.
9457         * modules/netdb (Depends-on): Update.
9458         * modules/search (Depends-on): Update.
9459         * modules/signal (Depends-on): Update.
9460         * modules/spawn (Depends-on): Update.
9461         * modules/stdio (Depends-on): Update.
9462         * modules/stdlib (Depends-on): Update.
9463         * modules/string (Depends-on): Update.
9464         * modules/strings (Depends-on): Update.
9465         * modules/sys_socket (Depends-on): Update.
9466         * modules/sys_stat (Depends-on): Update.
9467         * modules/sys_time (Depends-on): Update.
9468         * modules/sys_times (Depends-on): Update.
9469         * modules/sys_utsname (Depends-on): Update.
9470         * modules/time (Depends-on): Update.
9471         * modules/unistd (Depends-on): Update.
9472         * modules/wchar (Depends-on): Update.
9473         * MODULES.html.sh (Support for building libraries and executables):
9474         Update.
9475
9476 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9477
9478         Improvements on _Noreturn and related modules.
9479
9480         modules/_Exit-tests: test _Noreturn too
9481         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
9482         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
9483         (main): Use them.
9484
9485         stdnoreturn, stdnoreturn-tests: remove modules
9486         They're not needed here and a bit premature for use elsewhere.  See
9487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
9488         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
9489         * tests/test-stdnoreturn.c: Remove files.
9490         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
9491         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
9492         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
9493         and using noreturn.
9494         * modules/openat, modules/sigpipe-die, modules/xalloc:
9495         * modules/xmemdup0, modules/xstrtol:
9496         Remove dependency on stdnoreturn.
9497
9498         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
9499         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
9500         Reparenthesize to avoid GCC warning.
9501         Support Microsoft's syntax.
9502         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
9503
9504         _Noreturn-tests: remove module
9505         * modules/_Noreturn-tests: Remove.
9506         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
9507         * tests/test-_Noreturn.c: Remove.
9508         * tests/test-stdnoreturn.c: Merge from the old
9509         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
9510
9511 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9512
9513         _Noreturn, stdnoreturn, and related modules.
9514
9515         * top/maint.mk: Adjust to new noreturn support.
9516         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
9517         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
9518
9519         xalloc: use stdnoreturn.h
9520         * lib/xalloc.h: Include <stdnoreturn.h>.
9521         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9522         * modules/xalloc (Depends-on): Add stdnoreturn.
9523
9524         xstrtol: use stdnoreturn.h
9525         * lib/xstrtol.h: Include <stdnoreturn.h>.
9526         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9527         * modules/xstrtol (Depends-on): Add stdnoreturn.
9528
9529         xmemdup0: use stdnoreturn.h
9530         * lib/xmemdup0.h: Include <stdnoreturn.h>.
9531         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9532         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
9533
9534         sigpipe-die: use stdnoreturn.h
9535         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
9536         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9537         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
9538
9539         openat: use stdnoreturn.h
9540         * lib/openat.h: Include <stdnoreturn.h>.
9541         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9542         * modules/openat (Depends-on): Add stdnoreturn.
9543
9544         * lib/openat-die.c (openat_save_fail): Modernize comment.
9545
9546         * lib/xalloc-die.c (xalloc_die): Modernize comment.
9547
9548         * lib/glthread/thread.h: Modernize comment.
9549
9550         obstack: use _Noreturn
9551         * lib/obstack.c (__attribute__): Remove macro.
9552         (print_and_abort): Use _Noreturn.
9553
9554         c-stack: use _Noreturn
9555         * lib/c-stack.c (die, overflow_handler, segv_handler):
9556         Use _Noreturn rather than __attribute__((noreturn)).
9557
9558         argmatch-tests, exclude_tests: use _Noreturn
9559         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
9560         Remove.
9561         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
9562
9563         stdlib: use _Noreturn
9564         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
9565         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
9566         * modules/stdlib (Depends-on): Add _Noreturn.
9567         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
9568
9569         stdnoreturn-tests: new module
9570         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
9571
9572         stdnoreturn: new module
9573         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
9574         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
9575
9576         _Noreturn-tests: new module
9577         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
9578
9579         _Noreturn: new module
9580         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
9581         New section, mentioning it.
9582         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
9583
9584         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
9585
9586 2011-07-11  Eric Blake  <eblake@redhat.com>
9587
9588         ffs: new module
9589         * modules/ffs: New file.
9590         * m4/ffs.m4: Likewise.
9591         * lib/ffs.c: Likewise.
9592         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
9593         * modules/strings (Makefile.am): Substitute witness.
9594         (Depends-on): Add c++defs.
9595         * lib/strings.in.h (ffs): Declare.
9596         * modules/ffs-tests: New test file.
9597         * tests/test-ffs.c: Test new module.
9598         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9599         * doc/posix-functions/ffs.texi (ffs): Likewise.
9600
9601         regex: avoid compiler warning
9602         * lib/regex.c (includes): Include <strings.h>, for use of
9603         strcasecmp in regcomp.c.
9604         Reported by Joachim Schmitz.
9605
9606 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
9607
9608         stdint: respect system's intmax_t if INTMAX_MAX
9609         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
9610         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
9611         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
9612         long but int64_t is long long, and where we will clash with the
9613         system intmax_t if we override it.  See
9614         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
9615         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
9616         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
9617         similarly for UINTMAX_C.
9618
9619 2011-07-08  Bruno Haible  <bruno@clisp.org>
9620
9621         pthread_sigmask tests: Avoid a compiler warning.
9622         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
9623         non-zero.
9624
9625         sigprocmask tests: A better way to avoid a compiler warning.
9626         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
9627         (main): Complain if system() returns non-zero.
9628         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
9629
9630 2011-07-08  Bruno Haible  <bruno@clisp.org>
9631
9632         pthread_sigmask: Work around IRIX bug.
9633         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
9634         bug.
9635         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
9636         there may be unblocked pending signals.
9637         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
9638
9639 2011-07-08  Bruno Haible  <bruno@clisp.org>
9640
9641         pthread_sigmask: Work around Cygwin bug.
9642         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
9643         bug.
9644         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
9645         the system's pthread_sigmask function.
9646         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
9647
9648 2011-07-08  Bruno Haible  <bruno@clisp.org>
9649
9650         pthread_sigmask: Work around bug in single-threaded implementation.
9651         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
9652         FreeBSD, HP-UX, Solaris bug.
9653         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
9654         * lib/pthread_sigmask.c: Include <stddef.h>.
9655         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
9656         the system's pthread_sigmask function.
9657         * modules/pthread_sigmask (configure.ac): Invoke
9658         gl_PREREQ_PTHREAD_SIGMASK.
9659         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
9660         HP-UX, Solaris.
9661
9662 2011-07-08  Eric Blake  <eblake@redhat.com>
9663
9664         test-sigprocmask: avoid compiler warning
9665         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
9666         * tests/test-sigprocmask.c (main): Use it to silence warning.
9667         Reported by Jim Meyering.
9668
9669         test-snprintf: avoid compiler warning
9670         * tests/test-snprintf.c (main): Avoid shadowed declaration.
9671         * tests/test-vsnprintf.c (main): Likewise.
9672         Reported by Jim Meyering.
9673
9674 2011-07-08  Bruno Haible  <bruno@clisp.org>
9675
9676         Tests for module 'pthread_sigmask'.
9677         * modules/pthread_sigmask-tests: New file.
9678         * tests/test-pthread_sigmask1.c: New file, based on
9679         tests/test-sigprocmask.c.
9680         * tests/test-pthread_sigmask2.c: New file.
9681
9682 2011-07-08  Jim Meyering  <meyering@redhat.com>
9683
9684         test-getopt.h: avoid warning about an unused variable
9685         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
9686
9687 2011-07-07  Jim Meyering  <meyering@redhat.com>
9688
9689         maint: reduce list of files exempt from sc_prohibit_leading_TABs
9690         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
9691         now that it no longer contains leading TABs.
9692         Remove unused "url=FIXME" statement.
9693
9694 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9695
9696         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
9697         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9698         When gl_THREADLIB is not in use, assume that the POSIX sematics
9699         are desired.  This is better for Emacs, which uses POSIX semantics
9700         on GNUish and/or POSIXish platforms, and does not use threads at
9701         all otherwise.
9702
9703         pthread_sigmask: fix typo when testing for libraries
9704         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9705         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
9706
9707 2011-07-08  Eric Blake  <eblake@redhat.com>
9708
9709         fts: introduce FTS_NOATIME
9710         * lib/fts_.h (FTS_NOATIME): New bit flag.
9711         (FTS_OPTIONMASK): Adjust.
9712         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
9713         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
9714
9715 2011-07-08  Bruno Haible  <bruno@clisp.org>
9716
9717         Tests for module 'thread'.
9718         * modules/thread-tests: New file.
9719         * tests/test-thread_self.c: New file.
9720         * tests/test-thread_create.cc: New file.
9721
9722 2011-07-08  Bruno Haible  <bruno@clisp.org>
9723
9724         thread: Avoid gcc warnings when using gl_thread_self().
9725         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
9726         'void *'.
9727         (gl_thread_self_pointer): Update.
9728
9729 2011-07-07  Bruno Haible  <bruno@clisp.org>
9730
9731         signal-c++-tests: Check declaration of pthread_sigmask.
9732         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
9733         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
9734         $(LIB_PTHREAD_SIGMASK).
9735
9736 2011-07-07  Bruno Haible  <bruno@clisp.org>
9737
9738         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
9739         * lib/signal.in.h (pthread_sigmask): Override if
9740         REPLACE_PTHREAD_SIGMASK is 1.
9741         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9742         REPLACE_PTHREAD_SIGMASK.
9743         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
9744         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
9745         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
9746         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9747         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
9748
9749 2011-07-07  Bruno Haible  <bruno@clisp.org>
9750
9751         pthread_sigmask: Ensure declaration in <signal.h>.
9752         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
9753         include <pthread.h>.
9754         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
9755         problem.
9756
9757 2011-07-07  Bruno Haible  <bruno@clisp.org>
9758
9759         pthread_sigmask: Document the module.
9760         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
9761
9762 2011-07-07  Bruno Haible  <bruno@clisp.org>
9763
9764         pthread_sigmask: Follow gnulib conventions.
9765         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
9766         gl_PTHREAD_SIGMASK.
9767         * modules/pthread_sigmask (configure.ac): Update.
9768
9769 2011-07-07  Bruno Haible  <bruno@clisp.org>
9770
9771         pthread_sigmask: Make declaration C++ safe.
9772         * lib/signal.in.h: In two special conditions, just do an #include_next.
9773         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
9774         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
9775         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9776         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
9777         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
9778         not REPLACE_PTHREAD_MASK.
9779         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
9780         not REPLACE_PTHREAD_MASK.
9781         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9782
9783 2011-07-07  Bruno Haible  <bruno@clisp.org>
9784
9785         pthread_sigmask: Fix return value.
9786         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
9787         * lib/pthread_sigmask.c: New file.
9788         * modules/pthread_sigmask (Files): Add it.
9789         (configure.ac): Invoke AC_LIBOBJ.
9790
9791 2011-07-07  Eric Blake  <eblake@redhat.com>
9792
9793         getopt: more portable argv creation
9794         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
9795         const, use char arrays rather than strings.
9796         Suggested by Paul Eggert.
9797
9798 2011-07-07  Bruno Haible  <bruno@clisp.org>
9799
9800         Tests for module 'sigprocmask'.
9801         * modules/sigprocmask-tests: New file.
9802         * tests/test-sigprocmask.c: New file.
9803
9804 2011-07-07  Bruno Haible  <bruno@clisp.org>
9805
9806         float tests: Tweak.
9807         * tests/test-float.c (main): Tweak skip message.
9808
9809 2011-07-07  Eric Blake  <eblake@redhat.com>
9810
9811         getopt: avoid compiler warning during configure
9812         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
9813         assigning string literals to non-const pointer.
9814
9815         getopt-gnu: avoid crash in glibc getopt
9816         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
9817         * tests/test-getopt.h (test_getopt): Enhance test.
9818         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9819         * doc/posix-functions/getopt.texi (getopt): Document it.
9820         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
9821         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9822         Likewise.
9823
9824 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
9825
9826         getopt: handle W; without long options in getopt [BZ #12922]
9827         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
9828         but no long options are defined, just return 'W'.
9829
9830 2011-07-07  Bruno Haible  <bruno@clisp.org>
9831
9832         Avoid literal tabs.
9833         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
9834         variable containing a tab instead of a literal tab.
9835         Reported by Jim Meyering.
9836
9837 2011-07-07  Bruno Haible  <bruno@clisp.org>
9838
9839         Comments.
9840         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
9841
9842 2011-07-06  Bruno Haible  <bruno@clisp.org>
9843
9844         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
9845         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
9846         <winsock2.h>.
9847         (rpl_fd_isset, FD_ISSET): New definitions, copied from
9848         lib/sys_socket.in.h.
9849         (close, gethostname): Hide declarations from <winsock2.h>.
9850         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
9851         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
9852         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
9853         (select): Don't override if gnulib's <sys/select.h> was already
9854         included.
9855         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
9856         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
9857         setsockopt, shutdown, select): Tweak indentation.
9858
9859 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9860
9861         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
9862         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
9863         in an application that does not use the sys_select module.
9864
9865 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
9866
9867         poll: do not return 0 on timeout=-1
9868         * lib/poll.c: Loop with yield if no events occured
9869
9870 2011-07-06  Eric Blake  <eblake@redhat.com>
9871
9872         pthread_sigmask: always replace when not using pthread
9873         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
9874         replacement when using some threading other than pthread.  Fix
9875         logic bug.
9876
9877 2011-07-06  Bruno Haible  <bruno@clisp.org>
9878
9879         Comments.
9880         * m4/printf.m4: Update comments about mingw.
9881
9882 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9883
9884         sys_select: define sigset_t more portably
9885         * lib/sys_select.in.h: Always include <sys/types.h>, since
9886         we now need sigset_t and mingw defines it there.
9887         Include <signal.h> before split inclusion guard, to avoid
9888         mishaps on Solaris, whose <signal.h> eventually includes us.
9889         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
9890         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
9891         which come from ...
9892         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
9893         gl_CHECK_TYPE_SIGSET_T.
9894         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
9895         does the real work.
9896         * modules/sys_select (Depends-on): Add 'signal'.
9897
9898         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
9899         Suggested by Bruno Haible.
9900
9901         pselect: Use pthread_sigmask, not sigprocmask.
9902         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
9903         multithreaded apps better than sigprocmask does.
9904         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
9905         sigprocmask directly.
9906
9907 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9908
9909         * lib/pselect.c (pselect): Use plain name, without "rpl_".
9910         Don't #undef,  since we don't need any underlying pselect.
9911         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
9912         (Depends-on): Add select.
9913         (Link): Add $(LIBSOCKET).
9914         These changes suggested by Bruno Haible.
9915
9916         pselect: document better
9917         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9918         * doc/posix-functions/pselect.texi (pselect): Document new module.
9919
9920         pthread_sigmask: new module
9921         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9922         * doc/posix-functions/pthread_sigmask.texi: Document new module.
9923         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
9924         This is done only as a macro; I don't know how well that'll
9925         work for C++.  Move <sys/types.h> include before the include_next,
9926         to avoid mishap on Solaris.
9927         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
9928         * modules/signal (Makefile.am): Substitute the check's results.
9929         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
9930
9931         test-pselect: new module
9932         * modules/pselect-tests, tests/test-pselect.c: New files.
9933         * tests/test-select.c, tests/test-sys_select-c++.cc:
9934         If TEST_PSELECT is defined, test pselect instead of testing select.
9935
9936         * tests/test-sys_select.c (sigset_t): Test for it, too.
9937         Suggested by Bruno Haible.
9938
9939 2011-07-05  Eric Blake  <eblake@redhat.com>
9940
9941         snprintf: guarantee %1$d, for libintl
9942         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
9943         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
9944         * doc/posix-functions/snprintf.texi (snprintf): Update.
9945         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9946         * tests/test-snprintf.c (main): Enhance test.
9947         * tests/test-vsnprintf.c (main): Likewise.
9948
9949 2011-07-05  Jim Meyering  <meyering@redhat.com>
9950
9951         maint: exempt stdio-read.c and stdio-write.c from the cppi check
9952         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
9953         per Bruno's request, to accommodate this idiom (no space after "#")
9954         even when the function is inside an #if block:
9955         char *
9956         gets (char *s)
9957         #undef gets
9958         {
9959           ...
9960         }
9961
9962 2011-07-04  Jim Meyering  <meyering@redhat.com>
9963
9964         maint: indent with spaces, not TABs, and add a rule to check this
9965         * tests/test-userspec.c: Indent with spaces, not TABs.
9966         * tests/test-argp.c: Likewise.
9967         * tests/test-c-stack2.sh: Likewise.
9968         * tests/test-parse-duration.sh: Likewise
9969         * m4/strtod.m4: Likewise.
9970         * m4/alloca.m4: Likewise.
9971         * m4/pselect.m4: Likewise.
9972         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
9973
9974 2011-07-03  Jim Meyering  <meyering@redhat.com>
9975
9976         maint.mk: correct omissions in prohibit_argmatch_without_use check
9977         This rule would mistakenly report that argmatch.h is included without
9978         use even when both the argmatch and invalid_arg macro were used.
9979         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
9980         of argmatch and invalid_arg.
9981
9982 2011-07-03  Bruno Haible  <bruno@clisp.org>
9983
9984         Comments about EINTR.
9985         * lib/safe-read.h: Explain the purpose of this module.
9986         * lib/safe-write.h: Likewise.
9987         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
9988         module.
9989         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
9990         module.
9991         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9992
9993 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9994
9995         xnanosleep: Rewrite to use new dtotimespec module.
9996         It has the conversion code that used to be in xnanosleep.
9997         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
9998         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
9999         (TIME_T_MAX): Remove.
10000         (xnanosleep): Rewrite in terms of dtotimespec.
10001         * modules/xnanosleep (Depends-on): Add dtotimespec.
10002         Remove intprops, stdbool.
10003
10004         timespec-add, timespec-sub: new modules
10005         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10006         * lib/timespec-add.c, lib/timespec-sub.c:
10007         * modules/timespec-add, modules/timespec-sub: New files.
10008
10009         dtotimespec: new module
10010         * lib/timespec.h (dtotimespec): New decl.
10011         * lib/dtotimespec.c, modules/dtotimespec: New files.
10012
10013         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10014
10015         pselect: new module
10016         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10017         (pselect): New decls.
10018         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10019         since the standard pselect decl uses 'restrict'.
10020         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10021         HAVE_PSELECT, REPLACE_PSELECT.
10022         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10023         HAVE_PSELECT, REPLACE_PSELECT.
10024         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10025
10026         sys_select: don't depend on sys_socket
10027         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10028         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10029         This fix works on GNU and GNU-like platforms, but has not been tested
10030         on native Windows.
10031         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10032         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10033         gl_HEADER_SYS_SOCKET.
10034         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10035         gl_PREREQ_SYS_H_WINSOCK2.
10036
10037 2011-06-29  Eric Blake  <eblake@redhat.com>
10038
10039         pipe2: fix C89 compile problem
10040         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10041         Reported by Bruno Haible.
10042
10043         pipe, pipe2: don't corrupt fd on error
10044         * lib/pipe.c (pipe): Leave fd unchanged on error.
10045         * lib/pipe2.c (pipe2): Likewise.
10046         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10047         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10048
10049 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10050
10051         mmap-anon: do not use regular expressions inadvertently
10052         * m4/mmap-anon.m4: Remove trailing period from strings sought
10053         in the output.
10054
10055 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10056
10057         nanosleep: fix integer overflow problem
10058         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10059         arithmetic wraps around on overflow.
10060
10061         nanosleep: simplify carrying
10062         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10063         first call to the underyling nanosleep, not for the last one.
10064         This doesn't fix any bugs, but it simplifies the computation of
10065         the remaining delay.  Found while auditing integer overflow issues.
10066
10067         dup2: remove test for existence of fcntl
10068         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10069         "#if HAVE_FCNTL", in the configure-time test program.
10070         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10071         and therefore speeds up "configure" a bit.  Found while
10072         adding the dup2 module to Emacs.
10073
10074 2011-06-24  Eric Blake  <eblake@redhat.com>
10075
10076         maint.mk: enhance useless header checks
10077         * top/maint.mk (_sc_header_without_use): Check both include
10078         styles.
10079         (sc_prohibit_assert_without_use)
10080         (sc_prohibit_close_stream_without_use)
10081         (sc_prohibit_getopt_without_use)
10082         (sc_prohibit_quotearg_without_use)
10083         (sc_prohibit_quote_without_use)
10084         (sc_prohibit_long_options_without_use)
10085         (sc_prohibit_inttostr_without_use)
10086         (sc_prohibit_ignore_value_without_use)
10087         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10088         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10089         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10090         (sc_prohibit_hash_pjw_without_use)
10091         (sc_prohibit_safe_read_without_use)
10092         (sc_prohibit_argmatch_without_use)
10093         (sc_prohibit_canonicalize_without_use)
10094         (sc_prohibit_root_dev_ino_without_use)
10095         (sc_prohibit_openat_without_use)
10096         (sc_prohibit_c_ctype_without_use)
10097         (sc_prohibit_signal_without_use)
10098         (sc_prohibit_stdio--_without_use)
10099         (sc_prohibit_stdio-safer_without_use)
10100         (sc_prohibit_strings_without_use)
10101         (sc_prohibit_intprops_without_use)
10102         (sc_prohibit_stddef_without_use)
10103         (sc_prohibit_xfreopen_without_use): Update clients.
10104
10105 2011-06-24  Jim Meyering  <meyering@redhat.com>
10106
10107         syntax-check: keep one maint.mk rule in sync with its header
10108         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10109         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10110         I prefer to avoid temporary files here, so use <(...), but that
10111         is not supported by /bin/sh, so...
10112         (SHELL): Define to /bin/bash.
10113
10114 2011-06-24  Eric Blake  <eblake@redhat.com>
10115
10116         maint.mk: update sc_prohibit_intprops_without_use
10117         * top/maint.mk (_intprops_names): Match recent changes.
10118
10119 2011-06-24  Bruno Haible  <bruno@clisp.org>
10120
10121         strerror-override: No-op tweak.
10122         * lib/strerror-override.h (strerror_override): Reorder conditions,
10123         for consistency with lib/strerror-override.c.
10124
10125 2011-06-23  Eric Blake  <eblake@redhat.com>
10126
10127         maint.mk: test further PATH_MAX issues
10128         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10129         (sc_prohibit_path_max_allocation): ...and also test alloca.
10130         Suggested by Jim Meyering.
10131
10132 2011-06-22  Eric Blake  <eblake@redhat.com>
10133
10134         maint.mk: add syntax-check to avoid char[PATH_MAX]
10135         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10136
10137         stat: be robust to PATH_MAX definition
10138         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10139         * modules/stat (Depends-on): Add verify.
10140
10141         link: work around IRIX bug
10142         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10143         * lib/link.c (rpl_link): Work around it.
10144         * tests/test-link.h (test_link): Enhance test.
10145         * doc/posix-functions/link.texi (link): Document the bug.
10146
10147         getopt: silence clang warning
10148         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10149         dereference.
10150         Reported by Gustavo Martin Domato.
10151
10152 2011-06-22  Jim Meyering  <meyering@redhat.com>
10153
10154         bootstrap: do not insert a blank line into each .gitignore file
10155         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10156
10157 2011-06-21  Eric Blake  <eblake@redhat.com>
10158
10159         perror: test for output mismatch
10160         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10161         perror on IRIX.
10162
10163         strerror_r: fix OpenBSD behavior on out-of-range
10164         * lib/strerror_r.c (strerror_r): Always use maximal string.
10165         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10166
10167         strerror_r: fix OpenBSD behavior on 0
10168         * lib/strerror-override.c (strerror_override): Also override 0
10169         when needed.
10170         * lib/strerror-override.h (strerror_override): Likewise.
10171         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10172         earlier.
10173         * lib/strerror_r.c (strerror_r): Likewise.
10174         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10175         behavior...
10176         (gl_FUNC_STRERROR_0): ...into new macro.
10177         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10178         is overridden.
10179         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10180         * modules/strerror-override (Files): Add strerror.m4.
10181         (configure.ac): Also provide override for 0 when needed.
10182         * doc/posix-functions/strerror.texi (strerror): Document this.
10183         * doc/posix-functions/perror.texi (perror): Likewise.
10184
10185         perror: adjust array size
10186         * modules/perror (Depends-on): Add strerror-override.
10187         * lib/perror.c (perror): Use it to avoid magic number.
10188
10189         strerror-override: reduce size
10190         * lib/strerror-override.c (strerror_override): Use fewer lines.
10191
10192 2011-06-20  Bruno Haible  <bruno@clisp.org>
10193
10194         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10195         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10196
10197 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10198
10199         alloca: port to compilers that can optimize like GCC 4.6.0
10200         * lib/alloca.c (find_stack_direction): New signature, taken from
10201         Autoconf git.  This works with GCC 4.6.0.  This code should never
10202         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10203         be used with other compilers that optimize as well as GCC 4.6.0 does.
10204         (alloca): Adjust to new signature.
10205         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10206         New macro, which patches Autoconf in a similar way.
10207
10208         c-stack: stop worrying about stack direction
10209         * lib/c-stack.c (find_stack_direction): Remove.
10210         (segv_handler): Don't worry about stack direction growth, as it's
10211         too much of a pain to configure this correctly, given how compilers
10212         are optimizing-away our stack-growth detection code.  Instead, assume
10213         that any access to just before or just after the stack is OK.
10214         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10215         Don't require AC_FUNC_ALLOCA; no longer needed.
10216
10217 2011-06-20  Eric Blake  <eblake@redhat.com>
10218
10219         test-stat: don't allocate PATH_MAX bytes
10220         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10221         PATH_MAX-sized buffer.
10222         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10223         * modules/stat-tests (Depends-on): Likewise.
10224         * tests/test-fstatat.c (includes): Drop pathmax.h.
10225         * tests/test-stat.c (includes): Likewise.
10226         Reported by Bruno Haible.
10227
10228 2011-06-20  Bruno Haible  <bruno@clisp.org>
10229
10230         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10231         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10232         * lib/float.c: New file.
10233         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10234         REPLACE_FLOAT_LDBL.
10235         * modules/float (Files): Add lib/float.c.
10236         (configure.ac): Invoke AC_LIBOBJ.
10237         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10238
10239 2011-06-20  Bruno Haible  <bruno@clisp.org>
10240
10241         Tests for module 'float'.
10242         * modules/float-tests: New file.
10243         * tests/test-float.c: New file.
10244
10245 2011-06-19  Bruno Haible  <bruno@clisp.org>
10246
10247         isinf: Coding style.
10248         * lib/isinf.c: Use GNU coding style.
10249
10250 2011-06-19  Bruno Haible  <bruno@clisp.org>
10251
10252         linkat test: Avoid test failure on AIX 7.1.
10253         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10254         * tests/test-link.h (test_link): Likewise.
10255
10256 2011-06-19  Bruno Haible  <bruno@clisp.org>
10257
10258         pread test: Avoid test failure on OpenBSD 4.9.
10259         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10260
10261 2011-06-19  Bruno Haible  <bruno@clisp.org>
10262
10263         sprintf-posix: Fix test failure on AIX 7.1.
10264         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10265         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10266         on AIX.
10267         * doc/posix-functions/fprintf.texi: Likewise.
10268         * doc/posix-functions/printf.texi: Likewise.
10269         * doc/posix-functions/snprintf.texi: Likewise.
10270         * doc/posix-functions/sprintf.texi: Likewise.
10271         * doc/posix-functions/vdprintf.texi: Likewise.
10272         * doc/posix-functions/vfprintf.texi: Likewise.
10273         * doc/posix-functions/vprintf.texi: Likewise.
10274         * doc/posix-functions/vsnprintf.texi: Likewise.
10275         * doc/posix-functions/vsprintf.texi: Likewise.
10276
10277 2011-06-19  Bruno Haible  <bruno@clisp.org>
10278
10279         roundl-ieee: Fix test failure on AIX 7.1.
10280         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10281         * doc/posix-functions/roundl.texi: Mention problem with negative
10282         arguments.
10283
10284 2011-06-19  Bruno Haible  <bruno@clisp.org>
10285
10286         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10287         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10288         * doc/posix-functions/round.texi: Mention problem with negative
10289         arguments.
10290         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10291
10292 2011-06-19  Bruno Haible  <bruno@clisp.org>
10293
10294         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10295         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10296         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10297         * doc/posix-functions/roundf.texi: Mention problem with negative
10298         arguments.
10299         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10300
10301 2011-06-19  Bruno Haible  <bruno@clisp.org>
10302
10303         ceilf-ieee: Work around bug on MacOS X 10.5.
10304         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10305
10306         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10307         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10308         IEEE compliant, avoid compiler optimizations.
10309         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10310         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10311         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10312         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10313         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10314         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10315         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10316         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10317         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10318         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10319
10320 2011-06-19  Bruno Haible  <bruno@clisp.org>
10321
10322         ceilf-ieee: Work around bug on AIX 7.1.
10323         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
10324         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
10325
10326 2011-06-19  Bruno Haible  <bruno@clisp.org>
10327
10328         ceil-ieee: Work around bug on AIX 7.1.
10329         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
10330         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
10331
10332 2011-06-18  Bruno Haible  <bruno@clisp.org>
10333
10334         fsync test: Avoid test failure on MacOS X and AIX.
10335         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10336         EINVAL.
10337
10338 2011-06-18  Bruno Haible  <bruno@clisp.org>
10339
10340         openat, fdopendir tests: Fix link errors.
10341         * modules/openat-tests (Depends-on): Add progname.
10342         * modules/fdopendir-tests (Depends-on): Likewise.
10343         * tests/test-fchownat.c: Include progname.h.
10344         (main): Call set_program_name.
10345         * tests/test-fstatat.c: Include progname.h.
10346         (main): Call set_program_name.
10347         * tests/test-mkdirat.c: Include progname.h.
10348         (main): Call set_program_name.
10349         * tests/test-openat.c: Include progname.h.
10350         (main): Call set_program_name.
10351         * tests/test-unlinkat.c: Include progname.h.
10352         (main): Call set_program_name.
10353         * tests/test-fdopendir.c: Include progname.h.
10354         (main): Call set_program_name.
10355
10356 2011-06-18  Bruno Haible  <bruno@clisp.org>
10357
10358         Doc update.
10359         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
10360         HP-UX.
10361         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
10362
10363 2011-06-18  Bruno Haible  <bruno@clisp.org>
10364
10365         getcwd tests: Avoid compilation error on HP-UX 11.31.
10366         * modules/getcwd-tests (Depends-on): Add pathmax.
10367         * tests/test-getcwd.c: Include pathmax.h.
10368
10369 2011-06-18  Bruno Haible  <bruno@clisp.org>
10370
10371         isfinite, isinf: Fix link error on AIX 6 and 7.
10372         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
10373         needed, also test the macro with a 'float' argument.
10374         * m4/isinf.m4 (gl_ISINF): Likewise.
10375
10376 2011-06-18  Bruno Haible  <bruno@clisp.org>
10377
10378         getloadavg: Don't clobber LIBS. Regression from previous commit.
10379         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
10380         AC_CHECK_LIB from here...
10381         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
10382         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
10383         gl_func_getloadavg_done.
10384         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10385
10386 2011-06-18  Bruno Haible  <bruno@clisp.org>
10387
10388         clean-temp: Improve documentation.
10389         * lib/clean-temp.h: Explain better how to use this module.
10390         Reported by John Darrington <john@darrington.wattle.id.au>.
10391
10392 2011-06-17  Bruno Haible  <bruno@clisp.org>
10393
10394         pread, pwrite: Avoid cc warning on AIX.
10395         * lib/unistd.in.h (pread): Undefine before defining as a macro.
10396         (pwrite): Likewise.
10397
10398 2011-06-17  Bruno Haible  <bruno@clisp.org>
10399
10400         spawn-pipe tests: Fix link error.
10401         * tests/test-spawn-pipe-child.c: Undefine fprintf.
10402         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10403
10404 2011-06-17  Bruno Haible  <bruno@clisp.org>
10405
10406         Tests: Remove unnecessary dependency.
10407         * modules/canonicalize-tests (Depends-on): Remove progname.
10408         * modules/chown-tests (Depends-on): Likewise.
10409         * modules/dirname-tests (Depends-on): Likewise.
10410         * modules/fdopendir-tests (Depends-on): Likewise.
10411         * modules/fdutimensat-tests (Depends-on): Likewise.
10412         * modules/hash-tests (Depends-on): Likewise.
10413         * modules/lchown-tests (Depends-on): Likewise.
10414         * modules/linkat-tests (Depends-on): Likewise.
10415         * modules/renameat-tests (Depends-on): Likewise.
10416         * modules/spawn-pipe-tests (Depends-on): Likewise.
10417         * modules/utimensat-tests (Depends-on): Likewise.
10418
10419 2011-06-17  Bruno Haible  <bruno@clisp.org>
10420
10421         spawn-pipe tests: Fix link error.
10422         * tests/test-spawn-pipe-child.c: Undefine fflush.
10423
10424 2011-06-17  Bruno Haible  <bruno@clisp.org>
10425
10426         Fix tests link errors.
10427         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
10428         * modules/chown-tests (Makefile.am): Don't link test-chown with
10429         LIBINTL.
10430         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
10431         LIBINTL.
10432         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
10433         LIBINTL.
10434         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
10435         LIBINTL.
10436
10437 2011-06-16  Bruno Haible  <bruno@clisp.org>
10438
10439         crypto/gc-sha1: Fix recent regression.
10440         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
10441         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
10442
10443         crypto/gc-md5: Fix recent regression.
10444         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
10445
10446         crypto/gc-md4: Fix recent regression.
10447         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
10448         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
10449
10450         crypto/gc-arctwo: Fix recent regression.
10451         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
10452         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
10453
10454         crypto/gc-rijndael: Fix recent regression.
10455         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
10456         (configure.ac): Invoke AC_LIBOBJ here.
10457         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
10458         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10459
10460         crypto/gc-hmac-sha1: Fix recent regression.
10461         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
10462         (configure.ac): Invoke AC_LIBOBJ here.
10463         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
10464         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10465
10466         crypto/gc-hmac-md5: Fix recent regression.
10467         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
10468         (configure.ac): Invoke AC_LIBOBJ here.
10469         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
10470         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10471
10472         crypto/gc-des: Fix recent regression.
10473         * modules/crypto/gc-des (Files): Remove m4/des.m4.
10474         (configure.ac): Invoke AC_LIBOBJ here.
10475         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
10476         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10477
10478         crypto/gc-arcfour: Fix recent regression.
10479         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
10480         (configure.ac): Invoke AC_LIBOBJ here.
10481         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
10482         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10483
10484 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
10485
10486         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
10487         After the 2011-05-21 change, this macro requires
10488         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
10489         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10490
10491 2011-06-16  Bruno Haible  <bruno@clisp.org>
10492
10493         fprintftime: Move AC_LIBOBJ invocations to module description.
10494         * m4/fprintftime.m4: Remove file.
10495         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
10496         (configure.ac): Remove gl_FPRINTFTIME call.
10497         (Makefile.am): Augment lib_SOURCES.
10498         Reported by Jim Meyering.
10499
10500 2011-06-16  Bruno Haible  <bruno@clisp.org>
10501
10502         tmpfile-safer: Finish 2011-05-23 commit.
10503         * m4/stdio-safer.m4: Really remove file.
10504         Reported by Jim Meyering.
10505
10506 2011-06-16  Bruno Haible  <bruno@clisp.org>
10507
10508         syntax-check: Fix typo.
10509         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
10510         printf-posix.m4.
10511         Reported by Jim Meyering.
10512
10513 2011-06-13  Jim Meyering  <meyering@redhat.com>
10514
10515         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
10516         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
10517
10518 2011-05-23  Bruno Haible  <bruno@clisp.org>
10519
10520         yesno: Move AC_LIBOBJ invocations to module description.
10521         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
10522         * modules/yesno (Makefile.am): Augment lib_SOURCES.
10523
10524 2011-05-23  Bruno Haible  <bruno@clisp.org>
10525
10526         xstrtol: Move AC_LIBOBJ invocations to module description.
10527         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
10528         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
10529
10530 2011-05-23  Bruno Haible  <bruno@clisp.org>
10531
10532         xstrtold: Move AC_LIBOBJ invocations to module description.
10533         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
10534         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
10535
10536 2011-05-23  Bruno Haible  <bruno@clisp.org>
10537
10538         xstrtod: Move AC_LIBOBJ invocations to module description.
10539         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
10540         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
10541
10542 2011-05-23  Bruno Haible  <bruno@clisp.org>
10543
10544         xnanosleep: Move AC_LIBOBJ invocations to module description.
10545         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
10546         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
10547
10548 2011-05-23  Bruno Haible  <bruno@clisp.org>
10549
10550         xgetcwd: Move AC_LIBOBJ invocations to module description.
10551         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
10552         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
10553
10554 2011-05-23  Bruno Haible  <bruno@clisp.org>
10555
10556         xalloc: Move AC_LIBOBJ invocations to module description.
10557         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
10558         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
10559
10560 2011-05-23  Bruno Haible  <bruno@clisp.org>
10561
10562         write-any-file: Move AC_LIBOBJ invocations to module description.
10563         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
10564         invocation.
10565         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
10566
10567 2011-05-23  Bruno Haible  <bruno@clisp.org>
10568
10569         utimens: Move AC_LIBOBJ invocations to module description.
10570         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
10571         * modules/utimens (Makefile.am): Augment lib_SOURCES.
10572
10573 2011-05-23  Bruno Haible  <bruno@clisp.org>
10574
10575         utimecmp: Move AC_LIBOBJ invocations to module description.
10576         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
10577         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
10578
10579 2011-05-23  Bruno Haible  <bruno@clisp.org>
10580
10581         userspec: Move AC_LIBOBJ invocations to module description.
10582         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
10583         * modules/userspec (Makefile.am): Augment lib_SOURCES.
10584
10585 2011-05-23  Bruno Haible  <bruno@clisp.org>
10586
10587         unlinkdir: Move AC_LIBOBJ invocations to module description.
10588         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
10589         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
10590
10591 2011-05-23  Bruno Haible  <bruno@clisp.org>
10592
10593         unistd-safer: Move AC_LIBOBJ invocations to module description.
10594         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
10595         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
10596
10597 2011-05-23  Bruno Haible  <bruno@clisp.org>
10598
10599         tempname: Move AC_LIBOBJ invocations to module description.
10600         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
10601         * modules/tempname (Makefile.am): Augment lib_SOURCES.
10602
10603 2011-05-23  Bruno Haible  <bruno@clisp.org>
10604
10605         strftime: Move AC_LIBOBJ invocations to module description.
10606         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
10607         * modules/strftime (Makefile.am): Augment lib_SOURCES.
10608
10609 2011-05-23  Bruno Haible  <bruno@clisp.org>
10610
10611         stdlib-safer: Move AC_LIBOBJ invocations to module description.
10612         * m4/stdlib-safer.m4: Remove file.
10613         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
10614         (configure.ac): Remove gl_STDLIB_SAFER call.
10615         (Makefile.am): Augment lib_SOURCES.
10616
10617 2011-05-23  Bruno Haible  <bruno@clisp.org>
10618
10619         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
10620         * m4/stdio-safer.m4: Remove file.
10621         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
10622         (configure.ac): Remove gl_TMPFILE_SAFER call.
10623         (Makefile.am): Augment lib_SOURCES.
10624
10625 2011-05-23  Bruno Haible  <bruno@clisp.org>
10626
10627         popen-safer: Move AC_LIBOBJ invocations to module description.
10628         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
10629         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
10630         (configure.ac): Remove gl_POPEN_SAFER call.
10631         (Makefile.am): Augment lib_SOURCES.
10632
10633 2011-05-23  Bruno Haible  <bruno@clisp.org>
10634
10635         freopen-safer: Move AC_LIBOBJ invocations to module description.
10636         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
10637         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
10638         (configure.ac): Remove gl_FREOPEN_SAFER call.
10639         (Makefile.am): Augment lib_SOURCES.
10640
10641 2011-05-23  Bruno Haible  <bruno@clisp.org>
10642
10643         fopen-safer: Move AC_LIBOBJ invocations to module description.
10644         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
10645         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
10646         (configure.ac): Remove gl_FOPEN_SAFER call.
10647         (Makefile.am): Augment lib_SOURCES.
10648
10649 2011-05-23  Bruno Haible  <bruno@clisp.org>
10650
10651         crypto/sha512: Move AC_LIBOBJ invocations to module description.
10652         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
10653         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
10654
10655 2011-05-23  Bruno Haible  <bruno@clisp.org>
10656
10657         crypto/sha256: Move AC_LIBOBJ invocations to module description.
10658         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
10659         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
10660
10661 2011-05-23  Bruno Haible  <bruno@clisp.org>
10662
10663         crypto/sha1: Move AC_LIBOBJ invocations to module description.
10664         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
10665         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
10666
10667 2011-05-23  Bruno Haible  <bruno@clisp.org>
10668
10669         settime: Move AC_LIBOBJ invocations to module description.
10670         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
10671         * modules/settime (Makefile.am): Augment lib_SOURCES.
10672
10673 2011-05-23  Bruno Haible  <bruno@clisp.org>
10674
10675         savedir: Move AC_LIBOBJ invocations to module description.
10676         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
10677         * modules/savedir (Makefile.am): Augment lib_SOURCES.
10678
10679 2011-05-23  Bruno Haible  <bruno@clisp.org>
10680
10681         save-cwd: Move AC_LIBOBJ invocations to module description.
10682         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
10683         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
10684
10685 2011-05-23  Bruno Haible  <bruno@clisp.org>
10686
10687         same: Move AC_LIBOBJ invocations to module description.
10688         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
10689         * modules/same (Makefile.am): Augment lib_SOURCES.
10690
10691 2011-05-23  Bruno Haible  <bruno@clisp.org>
10692
10693         safe-write: Move AC_LIBOBJ invocations to module description.
10694         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
10695         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
10696         instead of gl_SAFE_WRITE.
10697         (Makefile.am): Augment lib_SOURCES.
10698
10699 2011-05-23  Bruno Haible  <bruno@clisp.org>
10700
10701         safe-read: Move AC_LIBOBJ invocations to module description.
10702         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
10703         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
10704         of gl_SAFE_READ.
10705         (Makefile.am): Augment lib_SOURCES.
10706
10707 2011-05-23  Bruno Haible  <bruno@clisp.org>
10708
10709         safe-alloc: Move AC_LIBOBJ invocations to module description.
10710         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
10711         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
10712
10713 2011-05-23  Bruno Haible  <bruno@clisp.org>
10714
10715         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
10716         * m4/rijndael.m4: Remove file.
10717         * modules/crypto/rijndael (Files): Remove it.
10718         (configure.ac): Remove gl_RIJNDAEL call.
10719         (Makefile.am): Augment lib_SOURCES.
10720
10721 2011-05-23  Bruno Haible  <bruno@clisp.org>
10722
10723         readtokens: Move AC_LIBOBJ invocations to module description.
10724         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
10725         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
10726
10727 2011-05-23  Bruno Haible  <bruno@clisp.org>
10728
10729         read-file: Move AC_LIBOBJ invocations to module description.
10730         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
10731         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
10732         of gl_FUNC_READ_FILE.
10733         (Makefile.am): Augment lib_SOURCES.
10734
10735 2011-05-23  Bruno Haible  <bruno@clisp.org>
10736
10737         quotearg: Move AC_LIBOBJ invocations to module description.
10738         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
10739         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
10740
10741 2011-05-23  Bruno Haible  <bruno@clisp.org>
10742
10743         quote: Move AC_LIBOBJ invocations to module description.
10744         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
10745         * modules/quote (Makefile.am): Augment lib_SOURCES.
10746
10747 2011-05-23  Bruno Haible  <bruno@clisp.org>
10748
10749         posixver: Move AC_LIBOBJ invocations to module description.
10750         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
10751         * modules/posixver (Makefile.am): Augment lib_SOURCES.
10752
10753 2011-05-23  Bruno Haible  <bruno@clisp.org>
10754
10755         posixtm: Move AC_LIBOBJ invocations to module description.
10756         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
10757         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
10758
10759 2011-05-23  Bruno Haible  <bruno@clisp.org>
10760
10761         physmem: Move AC_LIBOBJ invocations to module description.
10762         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
10763         * modules/physmem (Makefile.am): Augment lib_SOURCES.
10764
10765 2011-05-23  Bruno Haible  <bruno@clisp.org>
10766
10767         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
10768         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
10769         invocation.
10770         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
10771
10772 2011-05-23  Bruno Haible  <bruno@clisp.org>
10773
10774         mpsort: Move AC_LIBOBJ invocations to module description.
10775         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
10776         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
10777
10778 2011-05-23  Bruno Haible  <bruno@clisp.org>
10779
10780         modechange: Move AC_LIBOBJ invocations to module description.
10781         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
10782         * modules/modechange (Makefile.am): Augment lib_SOURCES.
10783
10784 2011-05-23  Bruno Haible  <bruno@clisp.org>
10785
10786         mkdir-p: Move AC_LIBOBJ invocations to module description.
10787         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
10788         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
10789
10790 2011-05-23  Bruno Haible  <bruno@clisp.org>
10791
10792         mkancesdirs: Move AC_LIBOBJ invocations to module description.
10793         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
10794         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
10795
10796 2011-05-23  Bruno Haible  <bruno@clisp.org>
10797
10798         mgetgroups: Move AC_LIBOBJ invocations to module description.
10799         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
10800         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
10801
10802 2011-05-23  Bruno Haible  <bruno@clisp.org>
10803
10804         memxor: Move AC_LIBOBJ invocations to module description.
10805         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
10806         * modules/memxor (Makefile.am): Augment lib_SOURCES.
10807
10808 2011-05-23  Bruno Haible  <bruno@clisp.org>
10809
10810         memcoll: Move AC_LIBOBJ invocations to module description.
10811         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
10812         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
10813
10814 2011-05-23  Bruno Haible  <bruno@clisp.org>
10815
10816         memcasecmp: Move AC_LIBOBJ invocations to module description.
10817         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
10818         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
10819
10820 2011-05-23  Bruno Haible  <bruno@clisp.org>
10821
10822         crypto/md5: Move AC_LIBOBJ invocations to module description.
10823         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
10824         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
10825
10826 2011-05-23  Bruno Haible  <bruno@clisp.org>
10827
10828         crypto/md4: Move AC_LIBOBJ invocations to module description.
10829         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
10830         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
10831
10832 2011-05-23  Bruno Haible  <bruno@clisp.org>
10833
10834         crypto/md2: Move AC_LIBOBJ invocations to module description.
10835         * m4/md2.m4: Remove file.
10836         * modules/crypto/md2 (Files): Remove it.
10837         (configure.ac): Remove gl_MD2 call.
10838         (Makefile.am): Augment lib_SOURCES.
10839
10840 2011-05-23  Bruno Haible  <bruno@clisp.org>
10841
10842         long-options: Move AC_LIBOBJ invocations to module description.
10843         * m4/long-options.m4: Remove file.
10844         * modules/long-options (Files): Remove it.
10845         (configure.ac): Remove gl_LONG_OPTIONS call.
10846         (Makefile.am): Augment lib_SOURCES.
10847
10848 2011-05-23  Bruno Haible  <bruno@clisp.org>
10849
10850         i-ring: Move AC_LIBOBJ invocations to module description.
10851         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
10852         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
10853
10854 2011-05-23  Bruno Haible  <bruno@clisp.org>
10855
10856         idcache: Move AC_LIBOBJ invocations to module description.
10857         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
10858         * modules/idcache (Makefile.am): Augment lib_SOURCES.
10859
10860 2011-05-23  Bruno Haible  <bruno@clisp.org>
10861
10862         human: Move AC_LIBOBJ invocations to module description.
10863         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
10864         * modules/human (Makefile.am): Augment lib_SOURCES.
10865
10866 2011-05-23  Bruno Haible  <bruno@clisp.org>
10867
10868         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
10869         * m4/hmac-sha1.m4: Remove file.
10870         * modules/crypto/hmac-sha1 (Files): Remove it.
10871         (configure.ac): Remove gl_HMAC_SHA1 call.
10872         (Makefile.am): Augment lib_SOURCES.
10873
10874 2011-05-23  Bruno Haible  <bruno@clisp.org>
10875
10876         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
10877         * m4/hmac-md5.m4: Remove file.
10878         * modules/crypto/hmac-md5 (Files): Remove it.
10879         (configure.ac): Remove gl_HMAC_MD5 call.
10880         (Makefile.am): Augment lib_SOURCES.
10881
10882 2011-05-23  Bruno Haible  <bruno@clisp.org>
10883
10884         hash: Move AC_LIBOBJ invocations to module description.
10885         * m4/hash.m4: Remove file.
10886         * modules/hash (Files): Remove it.
10887         (configure.ac): Remove gl_HASH call.
10888         (Makefile.am): Augment lib_SOURCES.
10889
10890 2011-05-23  Bruno Haible  <bruno@clisp.org>
10891
10892         hard-locale: Move AC_LIBOBJ invocations to module description.
10893         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
10894         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
10895
10896 2011-05-23  Bruno Haible  <bruno@clisp.org>
10897
10898         getugroups: Move AC_LIBOBJ invocations to module description.
10899         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
10900         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
10901
10902 2011-05-23  Bruno Haible  <bruno@clisp.org>
10903
10904         gettime: Move AC_LIBOBJ invocations to module description.
10905         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
10906         * modules/gettime (Makefile.am): Augment lib_SOURCES.
10907
10908 2011-05-23  Bruno Haible  <bruno@clisp.org>
10909
10910         getndelim2: Move AC_LIBOBJ invocations to module description.
10911         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
10912         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
10913
10914 2011-05-23  Bruno Haible  <bruno@clisp.org>
10915
10916         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
10917         * m4/gc-pbkdf2-sha1.m4: Remove file.
10918         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
10919         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
10920         (Makefile.am): Augment lib_SOURCES.
10921
10922 2011-05-23  Bruno Haible  <bruno@clisp.org>
10923
10924         fts: Move AC_LIBOBJ invocations to module description.
10925         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
10926         * modules/fts (configure.ac): ... to here.
10927
10928 2011-05-23  Bruno Haible  <bruno@clisp.org>
10929
10930         file-type: Move AC_LIBOBJ invocations to module description.
10931         * m4/file-type.m4: Remove file.
10932         * modules/file-type (Files): Remove it.
10933         (configure.ac): Remove gl_FILE_TYPE call.
10934         (Makefile.am): Augment lib_SOURCES.
10935
10936 2011-05-23  Bruno Haible  <bruno@clisp.org>
10937
10938         filenamecat*: Respect rules for use of AC_LIBOBJ.
10939         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
10940         Remove AC_LIBOBJ invocation.
10941         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
10942         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
10943
10944 2011-05-23  Bruno Haible  <bruno@clisp.org>
10945
10946         filemode: Move AC_LIBOBJ invocations to module description.
10947         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
10948         * modules/filemode (Makefile.am): Augment lib_SOURCES.
10949
10950 2011-05-23  Bruno Haible  <bruno@clisp.org>
10951
10952         openat-safer: Move AC_LIBOBJ invocations to module description.
10953         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
10954         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
10955
10956 2011-05-23  Bruno Haible  <bruno@clisp.org>
10957
10958         fcntl-safer: Move AC_LIBOBJ invocations to module description.
10959         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
10960         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
10961
10962 2011-05-23  Bruno Haible  <bruno@clisp.org>
10963
10964         exclude: Move AC_LIBOBJ invocations to module description.
10965         * m4/exclude.m4: Remove file.
10966         * modules/exclude (Files): Remove it.
10967         (configure.ac): Remove gl_EXCLUDE call.
10968         (Makefile.am): Augment lib_SOURCES.
10969
10970 2011-05-23  Bruno Haible  <bruno@clisp.org>
10971
10972         dirname*: Respect rules for use of AC_LIBOBJ.
10973         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
10974         invocations.
10975         * modules/dirname (Makefile.am): Augment lib_SOURCES.
10976         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
10977
10978 2011-05-23  Bruno Haible  <bruno@clisp.org>
10979
10980         dirent-safer: Move AC_LIBOBJ invocations to module description.
10981         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
10982         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
10983
10984 2011-05-23  Bruno Haible  <bruno@clisp.org>
10985
10986         crypto/des: Move AC_LIBOBJ invocations to module description.
10987         * m4/des.m4: Remove file.
10988         * modules/crypto/des (Files): Remove it.
10989         (configure.ac): Remove gl_DES call.
10990         (Makefile.am): Augment lib_SOURCES.
10991
10992 2011-05-23  Bruno Haible  <bruno@clisp.org>
10993
10994         cycle-check: Move AC_LIBOBJ invocations to module description.
10995         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
10996         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
10997
10998 2011-05-23  Bruno Haible  <bruno@clisp.org>
10999
11000         c-strtold: Move AC_LIBOBJ invocations to module description.
11001         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11002         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11003
11004 2011-05-23  Bruno Haible  <bruno@clisp.org>
11005
11006         c-strtod: Move AC_LIBOBJ invocations to module description.
11007         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11008         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11009
11010 2011-05-23  Bruno Haible  <bruno@clisp.org>
11011
11012         crc: Move AC_LIBOBJ invocations to module description.
11013         * m4/crc.m4: Remove file.
11014         * modules/crc (Files): Remove it.
11015         (configure.ac): Remove gl_CRC call.
11016         (Makefile.am): Augment lib_SOURCES.
11017
11018 2011-05-23  Bruno Haible  <bruno@clisp.org>
11019
11020         close-stream: Move AC_LIBOBJ invocations to module description.
11021         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11022         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11023
11024 2011-05-23  Bruno Haible  <bruno@clisp.org>
11025
11026         closeout: Move AC_LIBOBJ invocations to module description.
11027         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11028         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11029
11030 2011-05-23  Bruno Haible  <bruno@clisp.org>
11031
11032         closein: Move AC_LIBOBJ invocations to module description.
11033         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11034         * modules/closein (Makefile.am): Augment lib_SOURCES.
11035
11036 2011-05-23  Bruno Haible  <bruno@clisp.org>
11037
11038         cloexec: Move AC_LIBOBJ invocations to module description.
11039         * m4/cloexec.m4: Remove file.
11040         * modules/cloexec (Files): Remove it.
11041         (configure.ac): Remove gl_CLOEXEC call.
11042         (Makefile.am): Augment lib_SOURCES.
11043
11044 2011-05-23  Bruno Haible  <bruno@clisp.org>
11045
11046         check-version: Move AC_LIBOBJ invocations to module description.
11047         * m4/check-version.m4: Remove file.
11048         * modules/check-version (Files): Remove it.
11049         (configure.ac): Remove gl_CHECK_VERSION call.
11050         (Makefile.am): Augment lib_SOURCES.
11051
11052 2011-05-23  Bruno Haible  <bruno@clisp.org>
11053
11054         chdir-safer: Move AC_LIBOBJ invocations to module description.
11055         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11056         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11057
11058 2011-05-23  Bruno Haible  <bruno@clisp.org>
11059
11060         canonicalize: Move AC_LIBOBJ invocations to module description.
11061         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11062         AC_LIBOBJ invocation.
11063         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11064
11065 2011-05-23  Bruno Haible  <bruno@clisp.org>
11066
11067         canon-host: Move AC_LIBOBJ invocations to module description.
11068         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11069         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11070         instead of gl_CANON_HOST.
11071         (Makefile.am): Augment lib_SOURCES.
11072
11073 2011-05-23  Bruno Haible  <bruno@clisp.org>
11074
11075         backupfile: Move AC_LIBOBJ invocations to module description.
11076         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11077         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11078
11079 2011-05-23  Bruno Haible  <bruno@clisp.org>
11080
11081         argmatch: Move AC_LIBOBJ invocations to module description.
11082         * m4/argmatch.m4: Remove file.
11083         * modules/argmatch (Files): Remove it.
11084         (configure.ac): Remove gl_ARGMATCH call.
11085         (Makefile.am): Augment lib_SOURCES.
11086
11087 2011-05-23  Bruno Haible  <bruno@clisp.org>
11088
11089         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11090         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11091         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11092
11093 2011-05-23  Bruno Haible  <bruno@clisp.org>
11094
11095         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11096         * m4/arcfour.m4: Remove file.
11097         * modules/crypto/arcfour (Files): Remove it.
11098         (configure.ac): Remove gl_ARCFOUR call.
11099         (Makefile.am): Augment lib_SOURCES.
11100
11101 2011-05-22  Bruno Haible  <bruno@clisp.org>
11102
11103         write: Move AC_LIBOBJ invocations to module description.
11104         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11105         * modules/write (configure.ac): ... to here.
11106
11107 2011-05-22  Bruno Haible  <bruno@clisp.org>
11108
11109         wmemset: Move AC_LIBOBJ invocations to module description.
11110         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11111         here...
11112         * modules/wmemset (configure.ac): ... to here.
11113
11114 2011-05-22  Bruno Haible  <bruno@clisp.org>
11115
11116         wmemmove: Move AC_LIBOBJ invocations to module description.
11117         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11118         here...
11119         * modules/wmemmove (configure.ac): ... to here.
11120
11121 2011-05-22  Bruno Haible  <bruno@clisp.org>
11122
11123         wmemcpy: Move AC_LIBOBJ invocations to module description.
11124         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11125         here...
11126         * modules/wmemcpy (configure.ac): ... to here.
11127
11128 2011-05-22  Bruno Haible  <bruno@clisp.org>
11129
11130         wmemcmp: Move AC_LIBOBJ invocations to module description.
11131         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11132         here...
11133         * modules/wmemcmp (configure.ac): ... to here.
11134
11135 2011-05-22  Bruno Haible  <bruno@clisp.org>
11136
11137         wmemchr: Move AC_LIBOBJ invocations to module description.
11138         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11139         here...
11140         * modules/wmemchr (configure.ac): ... to here.
11141
11142 2011-05-22  Bruno Haible  <bruno@clisp.org>
11143
11144         wcswidth: Move AC_LIBOBJ invocations to module description.
11145         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11146         here...
11147         * modules/wcswidth (configure.ac): ... to here.
11148
11149 2011-05-22  Bruno Haible  <bruno@clisp.org>
11150
11151         wcwidth: Respect rules for use of AC_LIBOBJ.
11152         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11153         invocation from here...
11154         * modules/wcwidth (configure.ac): ... to here.
11155         (Depends-on): Update conditions.
11156
11157 2011-05-22  Bruno Haible  <bruno@clisp.org>
11158
11159         wctype: Move AC_LIBOBJ invocations to module description.
11160         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11161         invocation from here...
11162         * modules/wctype (configure.ac): ... to here.
11163         (Depends-on): Update conditions.
11164
11165 2011-05-22  Bruno Haible  <bruno@clisp.org>
11166
11167         wctrans: Move AC_LIBOBJ invocations to module description.
11168         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11169         invocation from here...
11170         * modules/wctrans (configure.ac): ... to here.
11171
11172 2011-05-22  Bruno Haible  <bruno@clisp.org>
11173
11174         wctomb: Move AC_LIBOBJ invocations to module description.
11175         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11176         invocations from here...
11177         * modules/wctomb (configure.ac): ... to here.
11178
11179 2011-05-22  Bruno Haible  <bruno@clisp.org>
11180
11181         wctob: Move AC_LIBOBJ invocations to module description.
11182         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11183         gl_PREREQ_WCTOB invocations from here...
11184         * modules/wctob (configure.ac): ... to here.
11185         (Depends-on): Update conditions.
11186
11187 2011-05-22  Bruno Haible  <bruno@clisp.org>
11188
11189         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11190         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11191         here...
11192         * modules/wcsxfrm (configure.ac): ... to here.
11193
11194 2011-05-22  Bruno Haible  <bruno@clisp.org>
11195
11196         wcstok: Move AC_LIBOBJ invocations to module description.
11197         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11198         * modules/wcstok (configure.ac): ... to here.
11199
11200 2011-05-22  Bruno Haible  <bruno@clisp.org>
11201
11202         wcsstr: Move AC_LIBOBJ invocations to module description.
11203         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11204         * modules/wcsstr (configure.ac): ... to here.
11205
11206 2011-05-22  Bruno Haible  <bruno@clisp.org>
11207
11208         wcsspn: Move AC_LIBOBJ invocations to module description.
11209         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11210         * modules/wcsspn (configure.ac): ... to here.
11211
11212 2011-05-22  Bruno Haible  <bruno@clisp.org>
11213
11214         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11215         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11216         gl_PREREQ_WCSRTOMBS invocations from here...
11217         * modules/wcsrtombs (configure.ac): ... to here.
11218
11219 2011-05-22  Bruno Haible  <bruno@clisp.org>
11220
11221         wcsrchr: Move AC_LIBOBJ invocations to module description.
11222         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11223         here...
11224         * modules/wcsrchr (configure.ac): ... to here.
11225
11226 2011-05-22  Bruno Haible  <bruno@clisp.org>
11227
11228         wcspbrk: Move AC_LIBOBJ invocations to module description.
11229         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11230         here...
11231         * modules/wcspbrk (configure.ac): ... to here.
11232
11233 2011-05-22  Bruno Haible  <bruno@clisp.org>
11234
11235         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11236         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11237         gl_PREREQ_WCSNRTOMBS invocations from here...
11238         * modules/wcsnrtombs (configure.ac): ... to here.
11239
11240 2011-05-22  Bruno Haible  <bruno@clisp.org>
11241
11242         wcsnlen: Move AC_LIBOBJ invocations to module description.
11243         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11244         here...
11245         * modules/wcsnlen (configure.ac): ... to here.
11246
11247 2011-05-22  Bruno Haible  <bruno@clisp.org>
11248
11249         wcsncpy: Move AC_LIBOBJ invocations to module description.
11250         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11251         here...
11252         * modules/wcsncpy (configure.ac): ... to here.
11253
11254 2011-05-22  Bruno Haible  <bruno@clisp.org>
11255
11256         wcsncmp: Move AC_LIBOBJ invocations to module description.
11257         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11258         here...
11259         * modules/wcsncmp (configure.ac): ... to here.
11260
11261 2011-05-22  Bruno Haible  <bruno@clisp.org>
11262
11263         wcsncat: Move AC_LIBOBJ invocations to module description.
11264         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11265         here...
11266         * modules/wcsncat (configure.ac): ... to here.
11267
11268 2011-05-22  Bruno Haible  <bruno@clisp.org>
11269
11270         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11271         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11272         from here...
11273         * modules/wcsncasecmp (configure.ac): ... to here.
11274
11275 2011-05-22  Bruno Haible  <bruno@clisp.org>
11276
11277         wcslen: Move AC_LIBOBJ invocations to module description.
11278         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11279         * modules/wcslen (configure.ac): ... to here.
11280
11281 2011-05-22  Bruno Haible  <bruno@clisp.org>
11282
11283         wcsdup: Move AC_LIBOBJ invocations to module description.
11284         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11285         * modules/wcsdup (configure.ac): ... to here.
11286
11287 2011-05-22  Bruno Haible  <bruno@clisp.org>
11288
11289         wcscspn: Move AC_LIBOBJ invocations to module description.
11290         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11291         here...
11292         * modules/wcscspn (configure.ac): ... to here.
11293
11294 2011-05-22  Bruno Haible  <bruno@clisp.org>
11295
11296         wcscpy: Move AC_LIBOBJ invocations to module description.
11297         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11298         * modules/wcscpy (configure.ac): ... to here.
11299
11300 2011-05-22  Bruno Haible  <bruno@clisp.org>
11301
11302         wcscoll: Move AC_LIBOBJ invocations to module description.
11303         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11304         here...
11305         * modules/wcscoll (configure.ac): ... to here.
11306
11307 2011-05-22  Bruno Haible  <bruno@clisp.org>
11308
11309         wcscmp: Move AC_LIBOBJ invocations to module description.
11310         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11311         * modules/wcscmp (configure.ac): ... to here.
11312
11313 2011-05-22  Bruno Haible  <bruno@clisp.org>
11314
11315         wcschr: Move AC_LIBOBJ invocations to module description.
11316         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11317         * modules/wcschr (configure.ac): ... to here.
11318
11319 2011-05-22  Bruno Haible  <bruno@clisp.org>
11320
11321         wcscat: Move AC_LIBOBJ invocations to module description.
11322         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
11323         * modules/wcscat (configure.ac): ... to here.
11324
11325 2011-05-22  Bruno Haible  <bruno@clisp.org>
11326
11327         wcscasecmp: Move AC_LIBOBJ invocations to module description.
11328         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
11329         here...
11330         * modules/wcscasecmp (configure.ac): ... to here.
11331
11332 2011-05-22  Bruno Haible  <bruno@clisp.org>
11333
11334         wcrtomb: Move AC_LIBOBJ invocations to module description.
11335         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11336         invocations from here...
11337         * modules/wcrtomb (configure.ac): ... to here.
11338
11339 2011-05-22  Bruno Haible  <bruno@clisp.org>
11340
11341         wcpncpy: Move AC_LIBOBJ invocations to module description.
11342         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11343         here...
11344         * modules/wcpncpy (configure.ac): ... to here.
11345
11346 2011-05-22  Bruno Haible  <bruno@clisp.org>
11347
11348         wcpcpy: Move AC_LIBOBJ invocations to module description.
11349         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11350         * modules/wcpcpy (configure.ac): ... to here.
11351
11352 2011-05-22  Bruno Haible  <bruno@clisp.org>
11353
11354         waitpid: Move AC_LIBOBJ invocations to module description.
11355         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
11356         invocation from here...
11357         * modules/waitpid (configure.ac): ... to here.
11358
11359 2011-05-22  Bruno Haible  <bruno@clisp.org>
11360
11361         utimensat: Move AC_LIBOBJ invocations to module description.
11362         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
11363         here...
11364         * modules/utimensat (configure.ac): ... to here.
11365
11366 2011-05-22  Bruno Haible  <bruno@clisp.org>
11367
11368         usleep: Move AC_LIBOBJ invocations to module description.
11369         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
11370         here...
11371         * modules/usleep (configure.ac): ... to here.
11372
11373 2011-05-22  Bruno Haible  <bruno@clisp.org>
11374
11375         unlockpt: Move AC_LIBOBJ invocations to module description.
11376         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
11377         gl_PREREQ_UNLOCKPT invocations from here...
11378         * modules/unlockpt (configure.ac): ... to here.
11379
11380 2011-05-22  Bruno Haible  <bruno@clisp.org>
11381
11382         unlink: Respect rules for use of AC_LIBOBJ.
11383         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
11384         * modules/unlink (configure.ac): ... to here.
11385
11386 2011-05-22  Bruno Haible  <bruno@clisp.org>
11387
11388         uname: Move AC_LIBOBJ invocations to module description.
11389         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
11390         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
11391         here...
11392         * modules/uname (configure.ac): ... to here.
11393
11394 2011-05-22  Bruno Haible  <bruno@clisp.org>
11395
11396         ttyname_r: Move AC_LIBOBJ invocations to module description.
11397         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
11398         gl_PREREQ_TTYNAME_R invocations from here...
11399         * modules/ttyname_r (configure.ac): ... to here.
11400
11401 2011-05-22  Bruno Haible  <bruno@clisp.org>
11402
11403         tsearch: Move AC_LIBOBJ invocations to module description.
11404         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
11405         invocations from here...
11406         * modules/tsearch (configure.ac): ... to here.
11407
11408 2011-05-22  Bruno Haible  <bruno@clisp.org>
11409
11410         towctrans: Move AC_LIBOBJ invocations to module description.
11411         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
11412         AC_LIBOBJ invocation from here...
11413         * modules/towctrans (configure.ac): ... to here.
11414
11415 2011-05-22  Bruno Haible  <bruno@clisp.org>
11416
11417         tmpfile: Move AC_LIBOBJ invocations to module description.
11418         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
11419         invocations from here...
11420         * modules/tmpfile (configure.ac): ... to here.
11421
11422 2011-05-22  Bruno Haible  <bruno@clisp.org>
11423
11424         times: Move AC_LIBOBJ invocations to module description.
11425         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
11426         * modules/times (configure.ac): ... to here.
11427
11428 2011-05-22  Bruno Haible  <bruno@clisp.org>
11429
11430         time_r: Move AC_LIBOBJ invocations to module description.
11431         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
11432         invocations from here...
11433         * modules/time_r (configure.ac): ... to here.
11434
11435 2011-05-22  Bruno Haible  <bruno@clisp.org>
11436
11437         timegm: Move AC_LIBOBJ invocations to module description.
11438         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
11439         invocations from here...
11440         * modules/timegm (configure.ac): ... to here.
11441
11442 2011-05-22  Bruno Haible  <bruno@clisp.org>
11443
11444         tcgetsid: Move AC_LIBOBJ invocations to module description.
11445         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
11446         and gl_PREREQ_TCGETSID invocations from here...
11447         * modules/tcgetsid (configure.ac): ... to here.
11448         (Depends-on): Update conditions.
11449
11450 2011-05-22  Bruno Haible  <bruno@clisp.org>
11451
11452         symlinkat: Move AC_LIBOBJ invocations to module description.
11453         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
11454         here...
11455         * modules/symlinkat (configure.ac): ... to here.
11456
11457 2011-05-22  Bruno Haible  <bruno@clisp.org>
11458
11459         symlink: Move AC_LIBOBJ invocations to module description.
11460         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
11461         here...
11462         * modules/symlink (configure.ac): ... to here.
11463
11464 2011-05-22  Bruno Haible  <bruno@clisp.org>
11465
11466         strverscmp: Move AC_LIBOBJ invocations to module description.
11467         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
11468         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
11469         from here...
11470         * modules/strverscmp (configure.ac): ... to here.
11471
11472 2011-05-22  Bruno Haible  <bruno@clisp.org>
11473
11474         strtok_r: Move AC_LIBOBJ invocations to module description.
11475         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
11476         and gl_PREREQ_STRTOK_R invocations from here...
11477         * modules/strtok_r (configure.ac): ... to here.
11478         (Depends-on): Update conditions.
11479
11480 2011-05-22  Bruno Haible  <bruno@clisp.org>
11481
11482         strtoumax: Move AC_LIBOBJ invocations to module description.
11483         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
11484         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
11485         from here...
11486         * modules/strtoumax (configure.ac): ... to here.
11487
11488 2011-05-22  Bruno Haible  <bruno@clisp.org>
11489
11490         strtoimax: Move AC_LIBOBJ invocations to module description.
11491         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
11492         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
11493         from here...
11494         * modules/strtoimax (configure.ac): ... to here.
11495
11496 2011-05-22  Bruno Haible  <bruno@clisp.org>
11497
11498         strtoull: Move AC_LIBOBJ invocations to module description.
11499         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
11500         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
11501         from here...
11502         * modules/strtoull (configure.ac): ... to here.
11503
11504 2011-05-22  Bruno Haible  <bruno@clisp.org>
11505
11506         strtoll: Move AC_LIBOBJ invocations to module description.
11507         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
11508         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
11509         here...
11510         * modules/strtoll (configure.ac): ... to here.
11511
11512 2011-05-22  Bruno Haible  <bruno@clisp.org>
11513
11514         strtoul: Move AC_LIBOBJ invocations to module description.
11515         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
11516         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11517         * modules/strtoul (configure.ac): ... to here.
11518
11519 2011-05-22  Bruno Haible  <bruno@clisp.org>
11520
11521         strtol: Move AC_LIBOBJ invocations to module description.
11522         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
11523         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11524         * modules/strtol (configure.ac): ... to here.
11525
11526 2011-05-22  Bruno Haible  <bruno@clisp.org>
11527
11528         strtod: Move AC_LIBOBJ invocations to module description.
11529         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
11530         invocations from here...
11531         * modules/strtod (configure.ac): ... to here.
11532
11533 2011-05-22  Bruno Haible  <bruno@clisp.org>
11534
11535         strstr*: Move AC_LIBOBJ invocations to module description.
11536         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
11537         invocations from here...
11538         * modules/strstr-simple (configure.ac): ... to here.
11539         * modules/strstr (configure.ac): ... and here.
11540
11541 2011-05-22  Bruno Haible  <bruno@clisp.org>
11542
11543         strsignal: Move AC_LIBOBJ invocations to module description.
11544         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
11545         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
11546         * modules/strsignal (configure.ac): ... to here.
11547         (Depends-on): Update conditions.
11548
11549 2011-05-22  Bruno Haible  <bruno@clisp.org>
11550
11551         strsep: Move AC_LIBOBJ invocations to module description.
11552         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
11553         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
11554         here...
11555         * modules/strsep (configure.ac): ... to here.
11556
11557 2011-05-22  Bruno Haible  <bruno@clisp.org>
11558
11559         strptime: Move AC_LIBOBJ invocations to module description.
11560         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
11561         gl_PREREQ_STRPTIME invocations from here...
11562         * modules/strptime (configure.ac): ... to here.
11563
11564 2011-05-22  Bruno Haible  <bruno@clisp.org>
11565
11566         strpbrk: Move AC_LIBOBJ invocations to module description.
11567         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
11568         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
11569         here...
11570         * modules/strpbrk (configure.ac): ... to here.
11571
11572 2011-05-22  Bruno Haible  <bruno@clisp.org>
11573
11574         strnlen: Move AC_LIBOBJ invocations to module description.
11575         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
11576         invocations from here...
11577         * modules/strnlen (configure.ac): ... to here.
11578
11579 2011-05-22  Bruno Haible  <bruno@clisp.org>
11580
11581         strndup: Move AC_LIBOBJ invocations to module description.
11582         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
11583         invocations from here...
11584         * modules/strndup (configure.ac): ... to here.
11585         (Depends-on): Update conditions.
11586
11587 2011-05-22  Bruno Haible  <bruno@clisp.org>
11588
11589         strncat: Move AC_LIBOBJ invocations to module description.
11590         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
11591         invocations from here...
11592         * modules/strncat (configure.ac): ... to here.
11593
11594 2011-05-22  Bruno Haible  <bruno@clisp.org>
11595
11596         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
11597         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
11598         invocations from here...
11599         * modules/strdup (configure.ac): ... to here.
11600         * modules/strdup-posix (configure.ac): ... and here.
11601
11602 2011-05-22  Bruno Haible  <bruno@clisp.org>
11603
11604         strcspn: Move AC_LIBOBJ invocations to module description.
11605         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
11606         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
11607         here...
11608         * modules/strcspn (configure.ac): ... to here.
11609
11610 2011-05-22  Bruno Haible  <bruno@clisp.org>
11611
11612         strchrnul: Move AC_LIBOBJ invocations to module description.
11613         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
11614         gl_PREREQ_STRCHRNUL invocations from here...
11615         * modules/strchrnul (configure.ac): ... to here.
11616
11617 2011-05-22  Bruno Haible  <bruno@clisp.org>
11618
11619         strcasestr*: Move AC_LIBOBJ invocations to module description.
11620         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11621         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
11622         * modules/strcasestr-simple (configure.ac): ... to here.
11623         * modules/strcasestr (configure.ac): ... and here.
11624
11625 2011-05-22  Bruno Haible  <bruno@clisp.org>
11626
11627         strcase: Move AC_LIBOBJ invocations to module description.
11628         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
11629         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
11630         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
11631         gl_PREREQ_STRNCASECMP invocations from here...
11632         * modules/strcase (configure.ac): ... to here.
11633
11634 2011-05-22  Bruno Haible  <bruno@clisp.org>
11635
11636         stpncpy: Move AC_LIBOBJ invocations to module description.
11637         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
11638         here...
11639         * modules/stpncpy (configure.ac): ... to here.
11640
11641 2011-05-22  Bruno Haible  <bruno@clisp.org>
11642
11643         stpcpy: Move AC_LIBOBJ invocations to module description.
11644         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
11645         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
11646         here...
11647         * modules/stpcpy (configure.ac): ... to here.
11648
11649 2011-05-21  Bruno Haible  <bruno@clisp.org>
11650
11651         stat: Move AC_LIBOBJ invocations to module description.
11652         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
11653         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
11654         here...
11655         * modules/stat (configure.ac): ... to here.
11656
11657 2011-05-21  Bruno Haible  <bruno@clisp.org>
11658
11659         sleep: Move AC_LIBOBJ invocations to module description.
11660         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
11661         * modules/sleep (configure.ac): ... to here.
11662
11663 2011-05-21  Bruno Haible  <bruno@clisp.org>
11664
11665         signbit: Move AC_LIBOBJ invocations to module description.
11666         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
11667         * modules/signbit (configure.ac): ... to here.
11668
11669 2011-05-21  Bruno Haible  <bruno@clisp.org>
11670
11671         sigprocmask: Move AC_LIBOBJ invocations to module description.
11672         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
11673         gl_PREREQ_SIGPROMASK invocations from here...
11674         * modules/sigprocmask (configure.ac): ... to here.
11675
11676 2011-05-21  Bruno Haible  <bruno@clisp.org>
11677
11678         sigaction: Move AC_LIBOBJ invocations to module description.
11679         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
11680         gl_PREREQ_SIGACTION invocations from here...
11681         * modules/sigaction (configure.ac): ... to here.
11682
11683 2011-05-21  Bruno Haible  <bruno@clisp.org>
11684
11685         sig2str: Move AC_LIBOBJ invocations to module description.
11686         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
11687         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
11688         here...
11689         * modules/sig2str (configure.ac): ... to here.
11690
11691 2011-05-21  Bruno Haible  <bruno@clisp.org>
11692
11693         setlocale: Move AC_LIBOBJ invocations to module description.
11694         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
11695         gl_PREREQ_SETLOCALE invocations from here...
11696         * modules/setlocale (configure.ac): ... to here.
11697
11698 2011-05-21  Bruno Haible  <bruno@clisp.org>
11699
11700         unsetenv: Move AC_LIBOBJ invocations to module description.
11701         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
11702         and gl_PREREQ_UNSETENV invocations from here...
11703         * modules/unsetenv (configure.ac): ... to here.
11704         (Depends-on): Update.
11705
11706 2011-05-21  Bruno Haible  <bruno@clisp.org>
11707
11708         setenv: Move AC_LIBOBJ invocations to module description.
11709         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
11710         here...
11711         * modules/setenv (configure.ac): ... to here.
11712
11713 2011-05-21  Bruno Haible  <bruno@clisp.org>
11714
11715         selinux-h: Move AC_LIBOBJ invocations to module description.
11716         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
11717         AC_LIBOBJ invocation from here...
11718         * modules/selinux-h (configure.ac): ... to here.
11719
11720 2011-05-21  Bruno Haible  <bruno@clisp.org>
11721
11722         select: Respect rules for use of AC_LIBOBJ.
11723         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
11724         here...
11725         * modules/select (configure.ac): ... to here.
11726
11727 2011-05-21  Bruno Haible  <bruno@clisp.org>
11728
11729         scandir: Move AC_LIBOBJ invocations to module description.
11730         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
11731         invocations from here...
11732         * modules/scandir (configure.ac): ... to here.
11733
11734 2011-05-21  Bruno Haible  <bruno@clisp.org>
11735
11736         rpmatch: Move AC_LIBOBJ invocations to module description.
11737         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
11738         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
11739         here...
11740         * modules/rpmatch (configure.ac): ... to here.
11741
11742 2011-05-21  Bruno Haible  <bruno@clisp.org>
11743
11744         rmdir: Respect rules for use of AC_LIBOBJ.
11745         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
11746         * modules/rmdir (configure.ac): ... to here.
11747
11748 2011-05-21  Bruno Haible  <bruno@clisp.org>
11749
11750         renameat: Move AC_LIBOBJ invocations to module description.
11751         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
11752         here...
11753         * modules/renameat (configure.ac): ... to here.
11754
11755 2011-05-21  Bruno Haible  <bruno@clisp.org>
11756
11757         rename: Respect rules for use of AC_LIBOBJ.
11758         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
11759         here...
11760         * modules/rename (configure.ac): ... to here.
11761
11762 2011-05-21  Bruno Haible  <bruno@clisp.org>
11763
11764         remove: Move AC_LIBOBJ invocations to module description.
11765         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
11766         here...
11767         * modules/remove (configure.ac): ... to here.
11768
11769 2011-05-21  Bruno Haible  <bruno@clisp.org>
11770
11771         relocatable-lib: Move AC_LIBOBJ invocations to module description.
11772         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
11773         macro.
11774         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
11775         * modules/relocatable-lib (configure.ac): ... to here.
11776         * modules/relocatable-prog-wrapper (configure.ac): Invoke
11777         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
11778
11779 2011-05-21  Bruno Haible  <bruno@clisp.org>
11780
11781         relocatable-prog: Move AC_LIBOBJ invocations to module description.
11782         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
11783         here...
11784         * modules/relocatable-prog (configure.ac): ... to here.
11785
11786 2011-05-21  Bruno Haible  <bruno@clisp.org>
11787
11788         regex: Move AC_LIBOBJ invocations to module description.
11789         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
11790         invocations from here...
11791         * modules/regex (configure.ac): ... to here.
11792
11793 2011-05-21  Bruno Haible  <bruno@clisp.org>
11794
11795         realloc-*: Move AC_LIBOBJ invocations to module description.
11796         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
11797         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
11798         AC_LIBOBJ invocations from here...
11799         * modules/realloc-gnu (configure.ac): ... to here.
11800         * modules/realloc-posix (configure.ac): ... and here.
11801
11802 2011-05-21  Bruno Haible  <bruno@clisp.org>
11803
11804         readutmp: Move AC_LIBOBJ invocations to module description.
11805         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
11806         * modules/readutmp (configure.ac): ... to here.
11807
11808 2011-05-21  Bruno Haible  <bruno@clisp.org>
11809
11810         readlinkat: Move AC_LIBOBJ invocations to module description.
11811         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
11812         here...
11813         * modules/readlinkat (configure.ac): ... to here.
11814
11815 2011-05-21  Bruno Haible  <bruno@clisp.org>
11816
11817         readlink: Move AC_LIBOBJ invocations to module description.
11818         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
11819         gl_PREREQ_READLINK invocations from here...
11820         * modules/readlink (configure.ac): ... to here.
11821
11822 2011-05-21  Bruno Haible  <bruno@clisp.org>
11823
11824         readline: Move AC_LIBOBJ invocations to module description.
11825         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
11826         gl_PREREQ_READLINE invocations from here...
11827         * modules/readline (configure.ac): ... to here.
11828
11829 2011-05-21  Bruno Haible  <bruno@clisp.org>
11830
11831         read: Move AC_LIBOBJ invocations to module description.
11832         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
11833         * modules/read (configure.ac): ... to here.
11834
11835 2011-05-21  Bruno Haible  <bruno@clisp.org>
11836
11837         rawmemchr: Move AC_LIBOBJ invocations to module description.
11838         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
11839         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
11840         from here...
11841         * modules/rawmemchr (configure.ac): ... to here.
11842
11843 2011-05-21  Bruno Haible  <bruno@clisp.org>
11844
11845         random_r: Move AC_LIBOBJ invocations to module description.
11846         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
11847         gl_PREREQ_RANDOM_R invocations from here...
11848         * modules/random_r (configure.ac): ... to here.
11849
11850 2011-05-21  Bruno Haible  <bruno@clisp.org>
11851
11852         pwrite: Move AC_LIBOBJ invocations to module description.
11853         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
11854         * modules/pwrite (configure.ac): ... to here.
11855
11856 2011-05-21  Bruno Haible  <bruno@clisp.org>
11857
11858         putenv: Move AC_LIBOBJ invocations to module description.
11859         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
11860         * modules/putenv (configure.ac): ... to here.
11861
11862 2011-05-21  Bruno Haible  <bruno@clisp.org>
11863
11864         login_tty: Move AC_LIBOBJ invocations to module description.
11865         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
11866         * modules/login_tty (configure.ac): ... to here.
11867
11868 2011-05-21  Bruno Haible  <bruno@clisp.org>
11869
11870         openpty: Move AC_LIBOBJ invocations to module description.
11871         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
11872         * modules/openpty (configure.ac): ... to here.
11873
11874 2011-05-21  Bruno Haible  <bruno@clisp.org>
11875
11876         forkpty: Move AC_LIBOBJ invocations to module description.
11877         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
11878         * modules/forkpty (configure.ac): ... to here.
11879
11880 2011-05-21  Bruno Haible  <bruno@clisp.org>
11881
11882         ptsname: Move AC_LIBOBJ invocations to module description.
11883         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
11884         invocations from here...
11885         * modules/ptsname (configure.ac): ... to here.
11886
11887 2011-05-21  Bruno Haible  <bruno@clisp.org>
11888
11889         pread: Move AC_LIBOBJ invocations to module description.
11890         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
11891         * modules/pread (configure.ac): ... to here.
11892
11893 2011-05-21  Bruno Haible  <bruno@clisp.org>
11894
11895         posix_spawn*: Move AC_LIBOBJ invocations to module description.
11896         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
11897         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
11898         * modules/posix_spawn (configure.ac): ... to here.
11899         * modules/posix_spawnp (configure.ac): ... and here.
11900
11901 2011-05-21  Bruno Haible  <bruno@clisp.org>
11902
11903         popen: Move AC_LIBOBJ invocations to module description.
11904         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
11905         invocations from here...
11906         * modules/popen (configure.ac): ... to here.
11907
11908 2011-05-21  Bruno Haible  <bruno@clisp.org>
11909
11910         poll: Move AC_LIBOBJ invocations to module description.
11911         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
11912         invocations from here...
11913         * modules/poll (configure.ac): ... to here.
11914
11915 2011-05-21  Bruno Haible  <bruno@clisp.org>
11916
11917         pipe-posix: Move AC_LIBOBJ invocations to module description.
11918         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
11919         * modules/pipe-posix (configure.ac): ... to here.
11920
11921 2011-05-21  Bruno Haible  <bruno@clisp.org>
11922
11923         openat: Respect rules for use of AC_LIBOBJ.
11924         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
11925         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11926         * modules/openat (configure.ac): ... to here.
11927
11928 2011-05-21  Bruno Haible  <bruno@clisp.org>
11929
11930         obstack-printf*: Move AC_LIBOBJ invocations to module description.
11931         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
11932         invocation from here...
11933         * modules/obstack-printf (configure.ac): ... to here.
11934         * modules/obstack-printf-posix (configure.ac): ... and here.
11935
11936 2011-05-21  Bruno Haible  <bruno@clisp.org>
11937
11938         nl_langinfo: Move AC_LIBOBJ invocations to module description.
11939         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
11940         from here...
11941         * modules/nl_langinfo (configure.ac): ... to here.
11942
11943 2011-05-21  Bruno Haible  <bruno@clisp.org>
11944
11945         nanosleep: Move AC_LIBOBJ invocations to module description.
11946         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
11947         gl_PREREQ_NANOSLEEP invocations from here...
11948         * modules/nanosleep (configure.ac): ... to here.
11949
11950 2011-05-21  Bruno Haible  <bruno@clisp.org>
11951
11952         mountlist: Move AC_LIBOBJ invocations to module description.
11953         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
11954         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
11955         * modules/mountlist (configure.ac): ... to here.
11956
11957 2011-05-21  Bruno Haible  <bruno@clisp.org>
11958
11959         mktime: Respect rules for use of AC_LIBOBJ.
11960         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
11961         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
11962         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
11963         (gl_FUNC_MKTIME_INTERNAL): ... and here...
11964         * modules/mktime (configure.ac): ... to here.
11965         * modules/mktime-internal (configure.ac): ... and here.
11966         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
11967
11968 2011-05-21  Bruno Haible  <bruno@clisp.org>
11969
11970         mkstemps: Move AC_LIBOBJ invocations to module description.
11971         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
11972         here...
11973         * modules/mkstemps (configure.ac): ... to here.
11974
11975 2011-05-21  Bruno Haible  <bruno@clisp.org>
11976
11977         mkstemp: Move AC_LIBOBJ invocations to module description.
11978         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
11979         gl_PREREQ_MKSTEMP invocations from here...
11980         * modules/mkstemp (configure.ac): ... to here.
11981
11982 2011-05-21  Bruno Haible  <bruno@clisp.org>
11983
11984         mkostemps: Move AC_LIBOBJ invocations to module description.
11985         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
11986         here...
11987         * modules/mkostemps (configure.ac): ... to here.
11988
11989 2011-05-21  Bruno Haible  <bruno@clisp.org>
11990
11991         mkostemp: Move AC_LIBOBJ invocations to module description.
11992         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
11993         gl_PREREQ_MKOSTEMP invocations from here...
11994         * modules/mkostemp (configure.ac): ... to here.
11995
11996 2011-05-21  Bruno Haible  <bruno@clisp.org>
11997
11998         mknod: Move AC_LIBOBJ invocations to module description.
11999         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12000         * modules/mknod (configure.ac): ... to here.
12001
12002 2011-05-21  Bruno Haible  <bruno@clisp.org>
12003
12004         mkfifoat: Move AC_LIBOBJ invocations to module description.
12005         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12006         here...
12007         * modules/mkfifoat (configure.ac): ... to here.
12008
12009 2011-05-21  Bruno Haible  <bruno@clisp.org>
12010
12011         mkfifo: Respect rules for use of AC_LIBOBJ.
12012         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12013         here...
12014         * modules/mkfifo (configure.ac): ... to here.
12015
12016 2011-05-21  Bruno Haible  <bruno@clisp.org>
12017
12018         mkdtemp: Move AC_LIBOBJ invocations to module description.
12019         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12020         invocations from here...
12021         * modules/mkdtemp (configure.ac): ... to here.
12022
12023 2011-05-21  Bruno Haible  <bruno@clisp.org>
12024
12025         mkdir: Move AC_LIBOBJ invocations to module description.
12026         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12027         * modules/mkdir (configure.ac): ... to here.
12028
12029 2011-05-21  Bruno Haible  <bruno@clisp.org>
12030
12031         memset: Move AC_LIBOBJ invocations to module description.
12032         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12033         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12034         here...
12035         * modules/memset (configure.ac): ... to here.
12036
12037 2011-05-21  Bruno Haible  <bruno@clisp.org>
12038
12039         memrchr: Move AC_LIBOBJ invocations to module description.
12040         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12041         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12042         here...
12043         * modules/memrchr (configure.ac): ... to here.
12044
12045 2011-05-21  Bruno Haible  <bruno@clisp.org>
12046
12047         mempcpy: Move AC_LIBOBJ invocations to module description.
12048         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12049         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12050         here...
12051         * modules/mempcpy (configure.ac): ... to here.
12052
12053 2011-05-21  Bruno Haible  <bruno@clisp.org>
12054
12055         memmove: Move AC_LIBOBJ invocations to module description.
12056         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12057         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12058         here...
12059         * modules/memmove (configure.ac): ... to here.
12060
12061 2011-05-21  Bruno Haible  <bruno@clisp.org>
12062
12063         memmem*: Move AC_LIBOBJ invocations to module description.
12064         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12065         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12066         here...
12067         (gl_FUNC_MEMMEM): ... and here...
12068         * modules/memmem-simple (configure.ac): ... to here.
12069         * modules/memmem (configure.ac): ... and here.
12070
12071 2011-05-21  Bruno Haible  <bruno@clisp.org>
12072
12073         memcpy: Move AC_LIBOBJ invocations to module description.
12074         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12075         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12076         here...
12077         * modules/memcpy (configure.ac): ... to here.
12078
12079 2011-05-21  Bruno Haible  <bruno@clisp.org>
12080
12081         memcmp: Simplify autoconf macro.
12082         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12083         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12084         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12085
12086 2011-05-21  Bruno Haible  <bruno@clisp.org>
12087
12088         memcmp: Move AC_LIBOBJ invocations to module description.
12089         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12090         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12091         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12092         * modules/memcmp (configure.ac): ... to here.
12093         (Depends-on): Update conditions.
12094
12095 2011-05-21  Bruno Haible  <bruno@clisp.org>
12096
12097         memchr: Respect rules for use of AC_LIBOBJ.
12098         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12099         invocations from here...
12100         * modules/memchr (configure.ac): ... to here.
12101
12102 2011-05-21  Bruno Haible  <bruno@clisp.org>
12103
12104         mbtowc: Move AC_LIBOBJ invocations to module description.
12105         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12106         invocations from here...
12107         * modules/mbtowc (configure.ac): ... to here.
12108
12109 2011-05-21  Bruno Haible  <bruno@clisp.org>
12110
12111         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12112         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12113         gl_PREREQ_MBSRTOWCS invocations from here...
12114         * modules/mbsrtowcs (configure.ac): ... to here.
12115
12116 2011-05-21  Bruno Haible  <bruno@clisp.org>
12117
12118         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12119         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12120         gl_PREREQ_MBSNRTOWCS invocations from here...
12121         * modules/mbsnrtowcs (configure.ac): ... to here.
12122
12123 2011-05-21  Bruno Haible  <bruno@clisp.org>
12124
12125         mbsinit: Move AC_LIBOBJ invocations to module description.
12126         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12127         invocations from here...
12128         * modules/mbsinit (configure.ac): ... to here.
12129
12130 2011-05-21  Bruno Haible  <bruno@clisp.org>
12131
12132         mbrlen: Move AC_LIBOBJ invocations to module description.
12133         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12134         invocations from here...
12135         * modules/mbrlen (configure.ac): ... to here.
12136
12137 2011-05-21  Bruno Haible  <bruno@clisp.org>
12138
12139         mbrtowc: Respect rules for use of AC_LIBOBJ.
12140         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12141         invocations from here...
12142         * modules/mbrtowc (configure.ac): ... to here.
12143
12144 2011-05-21  Bruno Haible  <bruno@clisp.org>
12145
12146         malloc-*: Move AC_LIBOBJ invocations to module description.
12147         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12148         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12149         AC_LIBOBJ invocations from here...
12150         * modules/malloc-gnu (configure.ac): ... to here.
12151         * modules/malloc-posix (configure.ac): ... and here.
12152
12153 2011-05-21  Bruno Haible  <bruno@clisp.org>
12154
12155         lstat, openat: Respect rules for use of AC_LIBOBJ.
12156         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12157         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12158         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12159         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12160         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12161         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12162         here.
12163         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12164
12165 2011-05-21  Bruno Haible  <bruno@clisp.org>
12166
12167         lseek: Move AC_LIBOBJ invocations to module description.
12168         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12169         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12170         * modules/lseek (configure.ac): ... to here.
12171
12172 2011-05-21  Bruno Haible  <bruno@clisp.org>
12173
12174         linkat: Move AC_LIBOBJ invocations to module description.
12175         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12176         here...
12177         * modules/linkat (configure.ac): ... to here.
12178
12179 2011-05-21  Bruno Haible  <bruno@clisp.org>
12180
12181         link: Respect rules for use of AC_LIBOBJ.
12182         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12183         * modules/link (configure.ac): ... to here.
12184
12185 2011-05-21  Bruno Haible  <bruno@clisp.org>
12186
12187         lchown: Move AC_LIBOBJ invocations to module description.
12188         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12189         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12190         * modules/lchown (configure.ac): ... to here.
12191
12192 2011-05-21  Bruno Haible  <bruno@clisp.org>
12193
12194         iswctype: Move AC_LIBOBJ invocations to module description.
12195         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12196         here...
12197         * modules/iswctype (configure.ac): ... to here.
12198
12199 2011-05-21  Bruno Haible  <bruno@clisp.org>
12200
12201         iswblank: Move AC_LIBOBJ invocations to module description.
12202         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12203         here...
12204         * modules/iswblank (configure.ac): ... to here.
12205
12206 2011-05-21  Bruno Haible  <bruno@clisp.org>
12207
12208         atanl: Move AC_LIBOBJ invocations to module description.
12209         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12210         * modules/atanl (configure.ac): ... to here.
12211
12212 2011-05-21  Bruno Haible  <bruno@clisp.org>
12213
12214         acosl: Move AC_LIBOBJ invocations to module description.
12215         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12216         * modules/acosl (configure.ac): ... to here.
12217
12218 2011-05-21  Bruno Haible  <bruno@clisp.org>
12219
12220         asinl: Respect rules for use of AC_LIBOBJ.
12221         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12222         * modules/asinl (configure.ac): ... to here.
12223
12224 2011-05-21  Bruno Haible  <bruno@clisp.org>
12225
12226         tanl: Move AC_LIBOBJ invocations to module description.
12227         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12228         * modules/tanl (configure.ac): ... to here.
12229
12230 2011-05-21  Bruno Haible  <bruno@clisp.org>
12231
12232         cosl: Move AC_LIBOBJ invocations to module description.
12233         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12234         * modules/cosl (configure.ac): ... to here.
12235
12236 2011-05-21  Bruno Haible  <bruno@clisp.org>
12237
12238         sinl: Move AC_LIBOBJ invocations to module description.
12239         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12240         * modules/sinl (configure.ac): ... to here.
12241
12242 2011-05-21  Bruno Haible  <bruno@clisp.org>
12243
12244         logl: Move AC_LIBOBJ invocations to module description.
12245         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12246         * modules/logl (configure.ac): ... to here.
12247
12248 2011-05-21  Bruno Haible  <bruno@clisp.org>
12249
12250         expl: Move AC_LIBOBJ invocations to module description.
12251         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12252         * modules/expl (configure.ac): ... to here.
12253
12254 2011-05-21  Bruno Haible  <bruno@clisp.org>
12255
12256         roundl: Move AC_LIBOBJ invocations to module description.
12257         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12258         * modules/roundl (configure.ac): ... to here.
12259
12260 2011-05-21  Bruno Haible  <bruno@clisp.org>
12261
12262         round: Move AC_LIBOBJ invocations to module description.
12263         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12264         * modules/round (configure.ac): ... to here.
12265
12266 2011-05-21  Bruno Haible  <bruno@clisp.org>
12267
12268         roundf: Move AC_LIBOBJ invocations to module description.
12269         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12270         * modules/roundf (configure.ac): ... to here.
12271
12272 2011-05-21  Bruno Haible  <bruno@clisp.org>
12273
12274         truncl: Move AC_LIBOBJ invocations to module description.
12275         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12276         * modules/truncl (configure.ac): ... to here.
12277
12278 2011-05-21  Bruno Haible  <bruno@clisp.org>
12279
12280         trunc: Move AC_LIBOBJ invocations to module description.
12281         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12282         * modules/trunc (configure.ac): ... to here.
12283
12284 2011-05-21  Bruno Haible  <bruno@clisp.org>
12285
12286         truncf: Move AC_LIBOBJ invocations to module description.
12287         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12288         * modules/truncf (configure.ac): ... to here.
12289
12290 2011-05-21  Bruno Haible  <bruno@clisp.org>
12291
12292         ceill: Move AC_LIBOBJ invocations to module description.
12293         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12294         * modules/ceill (configure.ac): ... to here.
12295
12296 2011-05-21  Bruno Haible  <bruno@clisp.org>
12297
12298         ceil: Move AC_LIBOBJ invocations to module description.
12299         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12300         * modules/ceil (configure.ac): ... to here.
12301
12302 2011-05-21  Bruno Haible  <bruno@clisp.org>
12303
12304         ceilf: Move AC_LIBOBJ invocations to module description.
12305         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12306         * modules/ceilf (configure.ac): ... to here.
12307
12308 2011-05-21  Bruno Haible  <bruno@clisp.org>
12309
12310         floorl: Respect rules for use of AC_LIBOBJ.
12311         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12312         * modules/floorl (configure.ac): ... to here.
12313
12314 2011-05-21  Bruno Haible  <bruno@clisp.org>
12315
12316         floor: Respect rules for use of AC_LIBOBJ.
12317         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12318         * modules/floor (configure.ac): ... to here.
12319
12320 2011-05-21  Bruno Haible  <bruno@clisp.org>
12321
12322         floorf: Move AC_LIBOBJ invocations to module description.
12323         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
12324         * modules/floorf (configure.ac): ... to here.
12325
12326 2011-05-20  Bruno Haible  <bruno@clisp.org>
12327
12328         sqrtl: Respect rules for use of AC_LIBOBJ.
12329         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
12330         * modules/sqrtl (configure.ac): ... to here.
12331
12332 2011-05-20  Bruno Haible  <bruno@clisp.org>
12333
12334         ldexpl: Respect rules for use of AC_LIBOBJ.
12335         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12336         * modules/ldexpl (configure.ac): ... to here.
12337
12338 2011-05-20  Bruno Haible  <bruno@clisp.org>
12339
12340         frexpl*: Respect rules for use of AC_LIBOBJ.
12341         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12342         invocation from here...
12343         * modules/frexpl (configure.ac): ... to here.
12344         * modules/frexpl-nolibm (configure.ac): ... and here.
12345
12346 2011-05-20  Bruno Haible  <bruno@clisp.org>
12347
12348         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12349         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12350         invocation from here...
12351         * modules/frexp (configure.ac): ... to here.
12352         * modules/frexp-nolibm (configure.ac): ... and here.
12353
12354 2011-05-20  Bruno Haible  <bruno@clisp.org>
12355
12356         isnan: Respect rules for use of AC_LIBOBJ.
12357         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
12358         invocations here.
12359         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
12360         REPLACE_ISNAN.
12361         * modules/isnand (configure.ac): Likewise.
12362         * modules/isnanl (configure.ac): Likewise.
12363
12364 2011-05-20  Bruno Haible  <bruno@clisp.org>
12365
12366         isnanl*: Respect rules for use of AC_LIBOBJ.
12367         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
12368         invocation from here...
12369         * modules/isnanl (configure.ac): ... to here.
12370         * modules/isnanl-nolibm (configure.ac): ... and here.
12371
12372 2011-05-20  Bruno Haible  <bruno@clisp.org>
12373
12374         isnand*: Move AC_LIBOBJ invocations to module description.
12375         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
12376         invocation from here...
12377         * modules/isnand (configure.ac): ... to here.
12378         * modules/isnand-nolibm (configure.ac): ... and here.
12379
12380 2011-05-20  Bruno Haible  <bruno@clisp.org>
12381
12382         isnanf*: Move AC_LIBOBJ invocations to module description.
12383         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
12384         invocation from here...
12385         * modules/isnanf (configure.ac): ... to here.
12386         * modules/isnanf-nolibm (configure.ac): ... and here.
12387
12388 2011-05-20  Bruno Haible  <bruno@clisp.org>
12389
12390         isnan*: Separate the AC_LIBOBJ invocations.
12391         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
12392         AC_LIBOBJ invocation.
12393         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
12394         here.
12395         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
12396         AC_LIBOBJ invocation.
12397         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
12398         here.
12399         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
12400         AC_LIBOBJ invocation.
12401         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
12402         here.
12403         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
12404
12405 2011-05-08  Bruno Haible  <bruno@clisp.org>
12406
12407         isinf: Move AC_LIBOBJ invocations to module description.
12408         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
12409         * modules/isinf (configure.ac): ... to here.
12410
12411 2011-05-08  Bruno Haible  <bruno@clisp.org>
12412
12413         isfinite: Move AC_LIBOBJ invocations to module description.
12414         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
12415         * modules/isfinite (configure.ac): ... to here.
12416
12417 2011-05-08  Bruno Haible  <bruno@clisp.org>
12418
12419         isblank: Move AC_LIBOBJ invocations to module description.
12420         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
12421         here...
12422         * modules/isblank (configure.ac): ... to here.
12423
12424 2011-05-08  Bruno Haible  <bruno@clisp.org>
12425
12426         isapipe: Move AC_LIBOBJ invocations to module description.
12427         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
12428         gl_PREREQ_ISAPIPE invocations from here...
12429         * modules/isapipe (configure.ac): ... to here.
12430         (Depends-on): Update condition.
12431
12432 2011-05-08  Bruno Haible  <bruno@clisp.org>
12433
12434         ioctl: Move AC_LIBOBJ invocations to module description.
12435         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
12436         invocations from here...
12437         * modules/ioctl (configure.ac): ... to here.
12438         (Depends-on): Update condition.
12439
12440 2011-05-08  Bruno Haible  <bruno@clisp.org>
12441
12442         imaxdiv: Move AC_LIBOBJ invocations to module description.
12443         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
12444         invocations from here...
12445         * modules/imaxdiv (configure.ac): ... to here.
12446
12447 2011-05-08  Bruno Haible  <bruno@clisp.org>
12448
12449         imaxabs: Move AC_LIBOBJ invocations to module description.
12450         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
12451         invocations from here...
12452         * modules/imaxabs (configure.ac): ... to here.
12453
12454 2011-05-08  Bruno Haible  <bruno@clisp.org>
12455
12456         getaddrinfo: Move AC_LIBOBJ invocations to module description.
12457         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
12458         AC_LIBOBJ invocations from here...
12459         * modules/getaddrinfo (configure.ac): ... to here.
12460         (Depends-on): Add conditions.
12461
12462 2011-05-08  Bruno Haible  <bruno@clisp.org>
12463
12464         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12465         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
12466         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12467         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
12468         (gl_PREREQ_INET_PTON): ... from here.
12469         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
12470         gl_PREREQ_INET_PTON here.
12471         (Depends-on): Update condition.
12472
12473 2011-05-08  Bruno Haible  <bruno@clisp.org>
12474
12475         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12476         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
12477         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12478         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
12479         (gl_PREREQ_INET_NTOP): ... from here.
12480         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
12481         gl_PREREQ_INET_NTOP here.
12482         (Depends-on): Update condition.
12483
12484 2011-05-08  Bruno Haible  <bruno@clisp.org>
12485
12486         iconv_open: Move AC_LIBOBJ invocations to module description.
12487         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
12488         AC_LIBOBJ invocations from here...
12489         * modules/iconv_open (configure.ac): ... to here.
12490
12491 2011-05-08  Bruno Haible  <bruno@clisp.org>
12492
12493         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
12494         If module 'iconv_open' is among the main modules and module
12495         'iconv_open-utf' is among the tests dependencies, then
12496         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
12497         return the special iconv_t values. Therefore iconv() and iconv_close()
12498         must support these special iconv_t values, already in lib, not only in
12499         tests.
12500         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
12501         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
12502         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
12503         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
12504         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
12505         (Depends-on): Add the dependencies of iconv_open-utf.
12506         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
12507         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
12508         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
12509
12510 2011-05-08  Bruno Haible  <bruno@clisp.org>
12511
12512         group-member: Move AC_LIBOBJ invocations to module description.
12513         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
12514         gl_PREREQ_GROUP_MEMBER invocations from here...
12515         * modules/group-member (configure.ac): ... to here.
12516
12517 2011-05-08  Bruno Haible  <bruno@clisp.org>
12518
12519         grantpt: Move AC_LIBOBJ invocations to module description.
12520         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
12521         invocations from here...
12522         * modules/grantpt (configure.ac): ... to here.
12523
12524 2011-05-08  Bruno Haible  <bruno@clisp.org>
12525
12526         glob: Move AC_LIBOBJ invocations to module description.
12527         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
12528         from here...
12529         * modules/glob (configure.ac): ... to here.
12530
12531 2011-05-08  Bruno Haible  <bruno@clisp.org>
12532
12533         getusershell: Move AC_LIBOBJ invocations to module description.
12534         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
12535         Move AC_LIBOBJ invocation from here...
12536         * modules/getusershell (configure.ac): ... to here.
12537         (Depends-on): Update condition.
12538
12539 2011-05-08  Bruno Haible  <bruno@clisp.org>
12540
12541         gettimeofday: Move AC_LIBOBJ invocations to module description.
12542         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
12543         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
12544         gl_PREREQ_GETTIMEOFDAY invocations from here...
12545         * modules/gettimeofday (configure.ac): ... to here.
12546
12547 2011-05-08  Bruno Haible  <bruno@clisp.org>
12548
12549         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
12550         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
12551         just gl_FUNC_TZSET.
12552         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
12553         (gl_FUNC_TZSET_CLOBBER): Remove actions.
12554         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
12555         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
12556
12557 2011-05-08  Bruno Haible  <bruno@clisp.org>
12558
12559         getsubopt: Move AC_LIBOBJ invocations to module description.
12560         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
12561         gl_PREREQ_GETSUBOPT invocations from here...
12562         * modules/getsubopt (configure.ac): ... to here.
12563
12564 2011-05-08  Bruno Haible  <bruno@clisp.org>
12565
12566         getpass-gnu: Move AC_LIBOBJ invocations to module description.
12567         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
12568         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
12569         * modules/getpass-gnu (configure.ac): ... to here.
12570
12571 2011-05-08  Bruno Haible  <bruno@clisp.org>
12572
12573         getpass: Move AC_LIBOBJ invocations to module description.
12574         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
12575         gl_PREREQ_GETPASS invocations from here...
12576         * modules/getpass (configure.ac): ... to here.
12577
12578 2011-05-08  Bruno Haible  <bruno@clisp.org>
12579
12580         getpagesize: Move AC_LIBOBJ invocations to module description.
12581         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
12582         from here...
12583         * modules/getpagesize (configure.ac): ... to here.
12584
12585 2011-05-08  Bruno Haible  <bruno@clisp.org>
12586
12587         getopt: Move AC_LIBOBJ invocations to module description.
12588         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
12589         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
12590         invocations from here...
12591         * modules/getopt-gnu (configure.ac): ... to here.
12592         * modules/getopt-posix (configure.ac): ... and here.
12593         (Depends-on): Update condition.
12594
12595 2011-05-08  Bruno Haible  <bruno@clisp.org>
12596
12597         getopt, argp: Respect rules for use of AC_LIBOBJ.
12598         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
12599         (gl_REPLACE_GETOPT_ALWAYS): New macro.
12600         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
12601         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
12602
12603 2011-05-08  Bruno Haible  <bruno@clisp.org>
12604
12605         getlogin_r: Move AC_LIBOBJ invocations to module description.
12606         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
12607         gl_PREREQ_GETLOGIN_R invocations from here...
12608         * modules/getlogin_r (configure.ac): ... to here.
12609
12610 2011-05-08  Bruno Haible  <bruno@clisp.org>
12611
12612         getlogin: Move AC_LIBOBJ invocations to module description.
12613         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
12614         here...
12615         * modules/getlogin (configure.ac): ... to here.
12616
12617 2011-05-08  Bruno Haible  <bruno@clisp.org>
12618
12619         getloadavg: Move AC_LIBOBJ invocations to module description.
12620         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
12621         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
12622         * modules/getloadavg (configure.ac): ... to here.
12623
12624 2011-05-08  Bruno Haible  <bruno@clisp.org>
12625
12626         gethrxtime: Move AC_LIBOBJ invocations to module description.
12627         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
12628         LIB_GETHRXTIME from here...
12629         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
12630         invocations from here...
12631         * modules/gethrxtime (configure.ac): ... to here.
12632
12633 2011-05-08  Bruno Haible  <bruno@clisp.org>
12634
12635         gethostname: Move AC_LIBOBJ invocations to module description.
12636         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
12637         gl_PREREQ_GETHOSTNAME invocations from here...
12638         * modules/gethostname (configure.ac): ... to here.
12639
12640 2011-05-08  Bruno Haible  <bruno@clisp.org>
12641
12642         getgroups: Move AC_LIBOBJ invocations to module description.
12643         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
12644         here...
12645         * modules/getgroups (configure.ac): ... to here.
12646
12647 2011-05-08  Bruno Haible  <bruno@clisp.org>
12648
12649         getdtablesize: Move AC_LIBOBJ invocations to module description.
12650         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
12651         invocation from here...
12652         * modules/getdtablesize (configure.ac): ... to here.
12653
12654 2011-05-08  Bruno Haible  <bruno@clisp.org>
12655
12656         getdomainname: Move AC_LIBOBJ invocations to module description.
12657         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
12658         gl_PREREQ_GETDOMAINNAME invocations from here...
12659         * modules/getdomainname (configure.ac): ... to here.
12660
12661 2011-05-08  Bruno Haible  <bruno@clisp.org>
12662
12663         getline: Move AC_LIBOBJ invocations to module description.
12664         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
12665         invocations from here...
12666         * modules/getline (configure.ac): ... to here.
12667
12668 2011-05-08  Bruno Haible  <bruno@clisp.org>
12669
12670         getline: Simplify.
12671         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
12672         It's already handled through the module dependency.
12673
12674 2011-05-08  Bruno Haible  <bruno@clisp.org>
12675
12676         getdelim: Move AC_LIBOBJ invocations to module description.
12677         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
12678         and gl_PREREQ_GETDELIM invocations from here...
12679         * modules/getdelim (configure.ac): ... to here.
12680         (Depends-on): Fix condition.
12681
12682 2011-05-08  Bruno Haible  <bruno@clisp.org>
12683
12684         getcwd: Move AC_LIBOBJ invocations to module description.
12685         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
12686         invocations from here...
12687         * modules/getcwd (configure.ac): ... to here.
12688
12689 2011-05-08  Bruno Haible  <bruno@clisp.org>
12690
12691         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
12692         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
12693         here...
12694         * modules/getcwd-lgpl (configure.ac): ... to here.
12695
12696 2011-05-07  Bruno Haible  <bruno@clisp.org>
12697
12698         crypto/gc: Move AC_LIBOBJ invocations to module description.
12699         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
12700         * modules/crypto/gc (configure.ac): ... to here.
12701
12702 2011-05-07  Bruno Haible  <bruno@clisp.org>
12703
12704         fwriting: Move AC_LIBOBJ invocations to module description.
12705         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
12706         here...
12707         * modules/fwriting (configure.ac): ... to here.
12708
12709 2011-05-07  Bruno Haible  <bruno@clisp.org>
12710
12711         fwritable: Move AC_LIBOBJ invocations to module description.
12712         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
12713         here...
12714         * modules/fwritable (configure.ac): ... to here.
12715
12716 2011-05-07  Bruno Haible  <bruno@clisp.org>
12717
12718         futimens: Move AC_LIBOBJ invocations to module description.
12719         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
12720         here...
12721         * modules/futimens (configure.ac): ... to here.
12722
12723 2011-05-07  Bruno Haible  <bruno@clisp.org>
12724
12725         ftruncate: Move AC_LIBOBJ invocations to module description.
12726         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
12727         gl_PREREQ_FTRUNCATE invocations from here...
12728         * modules/ftruncate (configure.ac): ... to here.
12729
12730 2011-05-07  Bruno Haible  <bruno@clisp.org>
12731
12732         fsync: Move AC_LIBOBJ invocations to module description.
12733         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
12734         invocations from here...
12735         * modules/fsync (configure.ac): ... to here.
12736
12737 2011-05-07  Bruno Haible  <bruno@clisp.org>
12738
12739         fsusage: Move AC_LIBOBJ invocations to module description.
12740         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
12741         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
12742         * modules/fsusage (configure.ac): ... to here.
12743
12744 2011-05-07  Bruno Haible  <bruno@clisp.org>
12745
12746         freopen: Move AC_LIBOBJ invocations to module description.
12747         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
12748         invocations from here...
12749         * modules/freopen (configure.ac): ... to here.
12750
12751 2011-05-07  Bruno Haible  <bruno@clisp.org>
12752
12753         free: Move AC_LIBOBJ invocations to module description.
12754         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
12755         invocations from here...
12756         * modules/free (configure.ac): ... to here.
12757
12758 2011-05-07  Bruno Haible  <bruno@clisp.org>
12759
12760         freadable: Move AC_LIBOBJ invocations to module description.
12761         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
12762         here...
12763         * modules/freadable (configure.ac): ... to here.
12764
12765 2011-05-07  Bruno Haible  <bruno@clisp.org>
12766
12767         fpurge: Move AC_LIBOBJ invocations to module description.
12768         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
12769         invocations from here...
12770         * modules/fpurge (configure.ac): ... to here.
12771
12772 2011-05-07  Bruno Haible  <bruno@clisp.org>
12773
12774         fpending: Move AC_LIBOBJ invocations to module description.
12775         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
12776         gl_FUNC_FPENDING.
12777         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
12778         invocations from here...
12779         * modules/fpending (configure.ac): ... to here.
12780
12781 2011-05-07  Bruno Haible  <bruno@clisp.org>
12782
12783         fopen: Move AC_LIBOBJ invocations to module description.
12784         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
12785         invocations from here...
12786         * modules/fopen (configure.ac): ... to here.
12787
12788 2011-05-07  Bruno Haible  <bruno@clisp.org>
12789
12790         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
12791         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
12792         gl_FUNC_FNMATCH_POSIX.
12793         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
12794         invocations from here...
12795         * modules/fnmatch (configure.ac): ... to here.
12796         * modules/fnmatch-gnu (configure.ac): ... and here.
12797
12798 2011-05-07  Bruno Haible  <bruno@clisp.org>
12799
12800         flock: Move AC_LIBOBJ invocations to module description.
12801         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
12802         invocations from here...
12803         * modules/flock (configure.ac): ... to here.
12804
12805 2011-05-07  Bruno Haible  <bruno@clisp.org>
12806
12807         fileblocks: Move AC_LIBOBJ invocations to module description.
12808         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
12809         gl_PREREQ_FILEBLOCKS invocations from here...
12810         * modules/fileblocks (configure.ac): ... to here.
12811
12812 2011-05-06  Bruno Haible  <bruno@clisp.org>
12813
12814         fflush: Move AC_LIBOBJ invocations to module description.
12815         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
12816         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
12817         invocations from here...
12818         * modules/fflush (configure.ac): ... to here.
12819
12820 2011-05-06  Bruno Haible  <bruno@clisp.org>
12821
12822         fdopendir: Move AC_LIBOBJ invocations to module description.
12823         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
12824         here...
12825         * modules/fdopendir (configure.ac): ... to here.
12826         (Depends-on): Improve conditions.
12827
12828 2011-05-06  Bruno Haible  <bruno@clisp.org>
12829
12830         _Exit: Move AC_LIBOBJ invocations to module description.
12831         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
12832         invocations from here...
12833         * modules/_Exit (configure.ac): ... to here.
12834
12835 2011-05-21  Bruno Haible  <bruno@clisp.org>
12836
12837         euidaccess: Respect rules for use of AC_LIBOBJ.
12838         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12839         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
12840         from here...
12841         * modules/euidaccess (configure.ac): ... to here.
12842
12843 2011-05-06  Bruno Haible  <bruno@clisp.org>
12844
12845         error: Move AC_LIBOBJ invocations to module description.
12846         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
12847         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
12848         invocations from here...
12849         * modules/error (configure.ac): ... to here.
12850
12851 2011-05-06  Bruno Haible  <bruno@clisp.org>
12852
12853         duplocale: Move AC_LIBOBJ invocations to module description.
12854         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
12855         gl_PREREQ_DUPLOCALE invocations from here...
12856         * modules/duplocale (configure.ac): ... to here.
12857
12858 2011-05-05  Bruno Haible  <bruno@clisp.org>
12859
12860         dirfd: Move AC_LIBOBJ invocations to module description.
12861         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
12862         gl_FUNC_DIRFD.
12863         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
12864         here...
12865         * modules/dirfd (configure.ac): ... to here.
12866         (Depends-on): Fix condition.
12867
12868 2011-05-05  Bruno Haible  <bruno@clisp.org>
12869
12870         chown: Respect rules for use of AC_LIBOBJ.
12871         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
12872         * modules/chown (configure.ac): ... to here.
12873
12874 2011-05-05  Bruno Haible  <bruno@clisp.org>
12875
12876         chdir-long: Move AC_LIBOBJ invocations to module description.
12877         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
12878         gl_PREREQ_CHDIR_LONG invocations from here...
12879         * modules/chdir-long (configure.ac): ... to here.
12880
12881 2011-05-05  Bruno Haible  <bruno@clisp.org>
12882
12883         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
12884         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
12885         from here...
12886         * modules/canonicalize-lgpl (configure.ac): ... to here.
12887
12888 2011-05-05  Bruno Haible  <bruno@clisp.org>
12889
12890         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
12891         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
12892         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
12893         REPLACE_CALLOC.
12894         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
12895         * modules/calloc-gnu (configure.ac): Likewise.
12896
12897 2011-05-05  Bruno Haible  <bruno@clisp.org>
12898
12899         btowc: Move AC_LIBOBJ invocations to module description.
12900         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
12901         invocations from here...
12902         * modules/btowc (configure.ac): ... to here.
12903
12904 2011-05-21  Bruno Haible  <bruno@clisp.org>
12905
12906         atexit: Move AC_LIBOBJ invocations to module description.
12907         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
12908         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
12909         here...
12910         * modules/atexit (configure.ac): ... to here.
12911
12912 2011-05-05  Bruno Haible  <bruno@clisp.org>
12913
12914         atoll: Move AC_LIBOBJ invocations to module description.
12915         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
12916         invocations from here...
12917         * modules/atoll (configure.ac): ... to here.
12918
12919 2011-05-05  Bruno Haible  <bruno@clisp.org>
12920
12921         argz: Move AC_LIBOBJ invocations to module description.
12922         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
12923         * modules/argz (configure.ac): ... to here.
12924
12925 2011-05-05  Bruno Haible  <bruno@clisp.org>
12926
12927         alphasort: Move AC_LIBOBJ invocations to module description.
12928         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
12929         gl_PREREQ_ALPHASORT invocations from here...
12930         * modules/alphasort (configure.ac): ... to here.
12931
12932 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
12933
12934         verify: new macro verify_expr; verify_true deprecated
12935         * NEWS: Mention this.
12936         * doc/verify.texi (Compile-time Assertions): Document this.
12937         * lib/verify.h (verify_true): Deprecate.
12938         (verify_expr): New macro.
12939         * tests/test-verify.c (function): Test verify_expr.
12940
12941 2011-06-14  Jim Meyering  <meyering@redhat.com>
12942
12943         init.sh: give more portable redirection-related advice in a comment
12944         * tests/init.sh (stderr_fileno_): Update the advice in comments.
12945         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
12946         for lots of discussion.  Stefano Lattarini suggested the solution
12947         of putting "9>&2" after the command.  Reported by Bruno Haible.
12948
12949 2011-06-13  Bruno Haible  <bruno@clisp.org>
12950
12951         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
12952         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
12953         'none'.
12954
12955 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
12956
12957         ftoastr: use strtof only if HAVE_STRTOF
12958         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
12959         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
12960         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
12961         * modules/ftoastr (configure.ac): Check for strtof.
12962
12963 2011-06-13  Bruno Haible  <bruno@clisp.org>
12964
12965         gnulib-tool: Addendum to 2011-06-08 commit.
12966         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
12967         and --witness-c-macro have been given, augment AM_CPPFLAGS.
12968
12969 2011-06-13  Bruno Haible  <bruno@clisp.org>
12970
12971         fseeko: Provide a non-inline replacement of fseek().
12972         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
12973         * modules/fseeko (Depends-on): Add fseek.
12974         * modules/fseek (License): Change to LGPLv2+.
12975
12976 2011-06-13  Bruno Haible  <bruno@clisp.org>
12977
12978         ftello: Provide a non-inline replacement of ftell().
12979         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
12980         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
12981         not have ftello() (such as on mingw).
12982         * modules/ftello (Depends-on): Add ftell.
12983         * modules/ftell (License): Change to LGPLv2+.
12984
12985 2011-05-07  Bruno Haible  <bruno@clisp.org>
12986
12987         ftell: Move AC_LIBOBJ invocations to module description.
12988         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
12989         * modules/ftell (configure.ac): ... to here.
12990
12991 2011-05-07  Bruno Haible  <bruno@clisp.org>
12992
12993         ftello: Respect rules for use of AC_LIBOBJ.
12994         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
12995         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
12996         here...
12997         * modules/ftello (configure.ac): ... to here.
12998
12999 2011-05-07  Bruno Haible  <bruno@clisp.org>
13000
13001         fseeko: Simplify.
13002         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13003         (gl_FUNC_FSEEKO): Inline it here.
13004
13005 2011-05-07  Bruno Haible  <bruno@clisp.org>
13006
13007         fseek: Move AC_LIBOBJ invocations to module description.
13008         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13009         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13010         * modules/fseek (configure.ac): ... to here.
13011
13012 2011-05-07  Bruno Haible  <bruno@clisp.org>
13013
13014         fseek: Respect rules for use of AC_LIBOBJ.
13015         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13016         here...
13017         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13018
13019 2011-05-07  Bruno Haible  <bruno@clisp.org>
13020
13021         fseeko: Respect rules for use of AC_LIBOBJ.
13022         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13023         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13024         here...
13025         * modules/fseeko (configure.ac): ... to here.
13026
13027 2011-06-13  Bruno Haible  <bruno@clisp.org>
13028
13029         gnulib-tool: Allow comments in the 'Depends-on' section.
13030         * doc/gnulib.texi (Module description): Mention comment syntax in the
13031         Depends-on section.
13032         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13033
13034 2011-06-13  Bruno Haible  <bruno@clisp.org>
13035
13036         file-set.h: guard __attibute__ use, now that it's not always defined
13037         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13038         versions that support it.  This fixes a coreutils build failure with
13039         the vendor cc on HP-UX 11.31.
13040
13041 2011-06-12  Bruno Haible  <bruno@clisp.org>
13042
13043         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13044         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13045         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13046         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13047         (acl, aclsort): New declarations.
13048         (aclv_nontrivial): New declaration.
13049         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13050         (file_has_acl): Read also the second kind of HP-UX ACLs.
13051         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13052         kind of HP-UX ACLs if the first kind fails.
13053         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13054         second kind of HP-UX ACLs.
13055         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13056         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13057         agree.
13058         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13059         hpuxjfs.
13060         Handle hpuxjfs.
13061         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13062         hpuxjfs.
13063         Handle hpuxjfs.
13064         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13065         (func_test_same_acls): Use both lsacl and getacl.
13066         Handle hpuxjfs.
13067         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13068         (func_test_same_acls): Use both lsacl and getacl.
13069         Handle hpuxjfs.
13070
13071 2011-06-12  Bruno Haible  <bruno@clisp.org>
13072
13073         acl: Complete the 2010-08-10 fix.
13074         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13075         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13076         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13077         explicitly.
13078         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13079         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13080
13081 2011-06-12  Bruno Haible  <bruno@clisp.org>
13082
13083         spawn-pipe tests: Comments.
13084         * tests/test-spawn-pipe-child.c (main): Update comment.
13085         Reported by James Youngman <jay@gnu.org>.
13086
13087 2011-06-11  James Youngman  <jay@gnu.org>
13088
13089         New module 'stat-size'.
13090         * modules/stat-size: New module.  Provides macros for accessing
13091         file size information in instances of struct stat.  Depends on the
13092         fileblocks module because it calls st_blocks.
13093         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13094         * doc/gnulib.texi: Include stat-size.texi.
13095         * doc/stat-size.texi: Documentation for this module.
13096         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13097         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13098         AC_STRUCT_ST_BLOCKS.
13099
13100 2011-06-09  Bruno Haible  <bruno@clisp.org>
13101
13102         thread: Support pthreads-win32.
13103         * lib/glthread/thread.h (gl_thread_self): Define differently on
13104         pthreads-win32.
13105         (gl_null_thread): New declaration.
13106         (gl_thread_self_pointer): New macro.
13107         * lib/glthread/thread.c (gl_null_thread): New constant.
13108         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13109         gl_thread_self.
13110         * tests/test-tls.c: Likewise.
13111         Suggested by Paul Eggert. Reported by Eric Blake.
13112
13113 2011-06-09  Bruno Haible  <bruno@clisp.org>
13114
13115         thread: Fix confusion between NULL and 0.
13116         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13117         Reported by Paul Eggert.
13118
13119 2011-06-09  Bruno Haible  <bruno@clisp.org>
13120
13121         spawn-pipe tests: Avoid test failure on HP-UX 11.
13122         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13123         is closed.
13124
13125 2011-06-09  Bruno Haible  <bruno@clisp.org>
13126
13127         acl tests: Fix compilation error on HP-UX 11.
13128         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13129
13130 2011-06-09  Bruno Haible  <bruno@clisp.org>
13131
13132         rmdir: Avoid test failure on HP-UX 10.20.
13133         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13134         EEXIST.
13135
13136 2011-06-08  Eric Blake  <eblake@redhat.com>
13137
13138         perror: fix test on mingw
13139         * modules/perror-tests (Depends-on): Add dup2.
13140
13141         strerror_r-posix: fix on MacOS
13142         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13143         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13144         logic bug.
13145         * lib/strerror_r.c (strerror_r): Fix the bug.
13146         * lib/strerror.c (strerror): Likewise.
13147         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13148         problem.
13149         * doc/posix-functions/strerror.texi (strerror): Likewise.
13150         * doc/posix-functions/perror.texi (perror): Likewise.
13151         * tests/test-strerror.c (main): Enhance test.
13152         * tests/test-strerror_r.c (main): Likewise.
13153
13154 2011-06-08  Bruno Haible  <bruno@clisp.org>
13155
13156         gnulib-tool: Better isolation between different gnulib-tool invocations.
13157         * gnulib-tool: New option --witness-c-macro.
13158         (witness_c_macro): New variable.
13159         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13160         AM_CPPFLAGS define it as a C macro.
13161         (func_emit_tests_Makefile_am): Likewise.
13162         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13163         read it from there.
13164         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13165         m4_define, not AC_DEFUN.
13166         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13167         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13168         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13169         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13170         s|...|...|, to substitute the values of the GNULIB_* module indicator
13171         variables.
13172         * modules/dirent (Makefile.am): Likewise.
13173         * modules/fcntl-h (Makefile.am): Likewise.
13174         * modules/iconv-h (Makefile.am): Likewise.
13175         * modules/langinfo (Makefile.am): Likewise.
13176         * modules/locale (Makefile.am): Likewise.
13177         * modules/math (Makefile.am): Likewise.
13178         * modules/netdb (Makefile.am): Likewise.
13179         * modules/poll-h (Makefile.am): Likewise.
13180         * modules/pty (Makefile.am): Likewise.
13181         * modules/search (Makefile.am): Likewise.
13182         * modules/signal (Makefile.am): Likewise.
13183         * modules/spawn (Makefile.am): Likewise.
13184         * modules/stdio (Makefile.am): Likewise.
13185         * modules/stdlib (Makefile.am): Likewise.
13186         * modules/string (Makefile.am): Likewise.
13187         * modules/sys_ioctl (Makefile.am): Likewise.
13188         * modules/sys_select (Makefile.am): Likewise.
13189         * modules/sys_socket (Makefile.am): Likewise.
13190         * modules/sys_stat (Makefile.am): Likewise.
13191         * modules/sys_times (Makefile.am): Likewise.
13192         * modules/sys_utsname (Makefile.am): Likewise.
13193         * modules/sys_wait (Makefile.am): Likewise.
13194         * modules/termios (Makefile.am): Likewise.
13195         * modules/time (Makefile.am): Likewise.
13196         * modules/unistd (Makefile.am): Likewise.
13197         * modules/wchar (Makefile.am): Likewise.
13198
13199 2011-06-08  Eric Blake  <eblake@redhat.com>
13200
13201         strerror: simplify replacement
13202         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13203         * modules/strerror (configure.ac): No prereqs needed here...
13204         * modules/strerror-override (configure.ac): ...but this needs it.
13205         (Files): Add file for needed prereq macro.
13206
13207 2011-06-08  Bruno Haible  <bruno@clisp.org>
13208
13209         strerror_r-posix: Tweaks.
13210         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13211         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13212         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13213         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13214         (gl_FUNC_STRERROR_R): ... to here.
13215         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13216
13217 2011-06-07  Eric Blake  <eblake@redhat.com>
13218
13219         perror: document fixed bugs
13220         * doc/posix-functions/perror.texi (perror): Document recent
13221         patches.
13222
13223 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13224
13225         stat-time: get_stat_birthtime failure is better-defined
13226         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13227         return a timestamp whose tv_sec and tv_nsec values are both -1.
13228         Previously, the spec said only that the tv_nsec value was negative.
13229         This upward-compatible change simplifies GNU tar a bit.
13230
13231 2011-06-07  Eric Blake  <eblake@redhat.com>
13232
13233         strerror_r-posix: work around cygwin 1.7.9
13234         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13235         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13236         bug without replacing strerror_r.
13237         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13238         strerror_r is buggy, but without requiring strerror_r compilation.
13239         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13240
13241         test-perror: relax test to ignore cygwin bug
13242         * tests/test-perror2.c (main): Relax test on requiring detection
13243         of stream errors, and use unbuffered stream.
13244         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13245         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13246         * doc/posix-functions/fputc.texi (fputc): Likewise.
13247         * doc/posix-functions/fputs.texi (fputs): Likewise.
13248         * doc/posix-functions/fputws.texi (fputws): Likewise.
13249         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13250         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13251         * doc/posix-functions/getopt.texi (getopt): Likewise.
13252         * doc/posix-functions/perror.texi (perror): Likewise.
13253         * doc/posix-functions/printf.texi (printf): Likewise.
13254         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13255         * doc/posix-functions/psignal.texi (psignal): Likewise.
13256         * doc/posix-functions/putc.texi (putc): Likewise.
13257         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13258         Likewise.
13259         * doc/posix-functions/putchar.texi (putchar): Likewise.
13260         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13261         Likewise.
13262         * doc/posix-functions/puts.texi (puts): Likewise.
13263         * doc/posix-functions/putwc.texi (putwc): Likewise.
13264         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13265         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13266         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13267         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13268         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13269         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13270         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13271         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13272
13273 2011-05-22  Bruno Haible  <bruno@clisp.org>
13274
13275         strerror: Move AC_LIBOBJ invocations to module description.
13276         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13277         gl_PREREQ_STRERROR invocations from here...
13278         * modules/strerror (configure.ac): ... to here.
13279
13280 2011-05-21  Bruno Haible  <bruno@clisp.org>
13281
13282         perror: Use common idiom.
13283         * modules/perror (configure.ac): Reorder statements.
13284
13285 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13286
13287         tests: fix usage message in 'mktempd_'
13288         * tests/init.sh (mktempd_): In the usage message, use literal
13289         'mktempd_', not '$ME' (which is even undefined), as the name of
13290         the subroutine.
13291
13292 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13293
13294         tests init: new function 'fatal_', for hard errors
13295         Before this patch, the only way offered by tests/init.sh to
13296         properly signal a hard error was the `framework_failure_'
13297         function.  But the error message issued by that function,
13298         as its name would suggest, refers to a set-up failure in the
13299         testsuite, while hard errors can obviously also be due to
13300         other reasons.  The best way to fix this inconsistency is to
13301         introduce a new function with a more general error message.
13302         * tests/init.sh (fatal_): New function.
13303
13304 2011-06-06  Eric Blake  <eblake@redhat.com>
13305
13306         canonicalize-lgpl: use common idiom
13307         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13308         over newer POSIX -Rf.
13309         Reported by Bruno Haible.
13310
13311         canonicalize-lgpl: work around AIX realpath bug
13312         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13313         * doc/posix-functions/realpath.texi (realpath): Document it.
13314         Reported by Bruno Haible.
13315
13316         strerror: work around FreeBSD bug
13317         * lib/strerror.c (strerror): Special case 0.
13318         Reported by Bruno Haible.
13319
13320         strerror-override: avoid bloating errno module
13321         * modules/errno (Files, configure.ac): Move replacement strings...
13322         * modules/strerror-override: ...to new module.
13323         * modules/strerror (Depends-on): Add strerror-override.
13324         * modules/strerror_r-posix (Depends-on): Likewise.
13325         * MODULES.html.sh: Document new module.
13326         Reported by Bruno Haible.
13327
13328 2011-06-06  Bruno Haible  <bruno@clisp.org>
13329
13330         spawn-pipe tests: Rename program.
13331         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
13332         * tests/test-spawn-pipe-child.c: Update comment.
13333         * tests/test-spawn-pipe.sh: Update.
13334         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13335
13336         spawn-pipe tests: Link the child program only against libc.
13337         * tests/test-spawn-pipe-child.c: New file, extracted from
13338         tests/test-spawn-pipe.c.
13339         (main): Expect only one argument.
13340         (is_open): New function, copied from tests/test-pipe.c.
13341         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13342         (child_main): Remove function.
13343         (test_pipe): Pass only one argument to the child program.
13344         (main): Remove child process code. Expect the child program's name as
13345         first argument.
13346         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13347         argument.
13348         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13349         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13350         test-spawn-pipe-child against no libraries.
13351
13352 2011-06-06  Bruno Haible  <bruno@clisp.org>
13353
13354         careadlinkat: Avoid mismatch between ssize_t and int.
13355         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
13356         * lib/careadlinkat.c (careadlinkatcwd): Define always.
13357
13358 2011-06-06  Jim Meyering  <meyering@redhat.com>
13359
13360         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
13361         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
13362         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
13363
13364 2011-06-05  Bruno Haible  <bruno@clisp.org>
13365
13366         ansi-c++-opt: Interoperability with libtool.
13367         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
13368         set the variable to "no", not to ":".
13369         * NEWS: Mention the change.
13370
13371 2011-06-05  Bruno Haible  <bruno@clisp.org>
13372
13373         acl: Fix test failure on AIX 7.
13374         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
13375         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
13376
13377 2011-06-05  Bruno Haible  <bruno@clisp.org>
13378
13379         pipe-filter-ii: Fix test failure on AIX and IRIX.
13380         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
13381         with EAGAIN, retry with a smaller buffer size.
13382
13383 2011-06-05  Bruno Haible  <bruno@clisp.org>
13384
13385         localename: Fix link dependencies.
13386         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
13387         * modules/localename-tests (Makefile.am): Link test-localename with
13388         $(LIBTHREAD).
13389
13390 2011-06-05  Bruno Haible  <bruno@clisp.org>
13391
13392         error: Avoid gcc warning.
13393         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
13394
13395 2011-06-05  Bruno Haible  <bruno@clisp.org>
13396
13397         unsetenv: Avoid gcc warning.
13398         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
13399
13400 2011-06-05  Bruno Haible  <bruno@clisp.org>
13401
13402         setenv: Avoid gcc warning.
13403         * lib/setenv.c (setenv): Provide declaration if system lacks it.
13404
13405 2011-06-05  Bruno Haible  <bruno@clisp.org>
13406
13407         sys_select: Ensure memset is declared also on AIX 7.
13408         * lib/sys_select.in.h: Include <string.h> also on AIX.
13409         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
13410         self-contained also on AIX 7.1.
13411
13412 2011-06-04  Jim Meyering  <meyering@redhat.com>
13413
13414         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
13415         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
13416         function name, "error".
13417         (_gl_translatable_diag_func_re): New configurable variable.
13418
13419 2011-06-04  Bruno Haible  <bruno@clisp.org>
13420
13421         getopt: Avoid gcc warning.
13422         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
13423
13424 2011-06-04  Bruno Haible  <bruno@clisp.org>
13425
13426         strerror_r: Fix comments.
13427         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
13428         commit.
13429
13430 2011-06-04  Bruno Haible  <bruno@clisp.org>
13431
13432         perror: Fix compilation error.
13433         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
13434         Undefine fprintf, not sprintf.
13435         * modules/perror (Depends-on): Remove intprops, verify.
13436
13437 2011-06-04  Bruno Haible  <bruno@clisp.org>
13438
13439         setlocale: Enable replacement on Cygwin 1.5.
13440         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
13441         Cygwin 1.5.x.
13442         * doc/posix-functions/setlocale.texi: Mention that the problem with the
13443         LC_CTYPE category also exists on Cygwin 1.5.x.
13444
13445 2011-06-04  Bruno Haible  <bruno@clisp.org>
13446
13447         strerror-override: Don't disable symbol renamings.
13448         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
13449         * lib/strerror-override.c: Include config.h.
13450         (strerror_override): Don't undefine.
13451
13452 2011-06-03  Bruno Haible  <bruno@clisp.org>
13453
13454         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
13455         * lib/localename.h: Update copyright header.
13456         * lib/localename.c: Likewise.
13457         * lib/relocatable.h: Likewise.
13458         * lib/relocatable.c: Likewise.
13459
13460 2011-06-02  Bruno Haible  <bruno@clisp.org>
13461
13462         doc: Fix a module name.
13463         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
13464
13465 2011-06-02  Bruno Haible  <bruno@clisp.org>
13466
13467         pipe2: Remove dependency on 'nonblocking' module.
13468         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
13469         O_NONBLOCK is defined by gnulib.
13470         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
13471         is zero.
13472         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
13473         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
13474         defined by gnulib.
13475         (get_nonblocking_flag): New function.
13476         (main): Test O_NONBLOCK flag only if it is nonzero.
13477         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
13478
13479 2011-06-03  Jim Meyering  <meyering@redhat.com>
13480
13481         maint: three new prohibit-header-without-use rules
13482         Prohibit use of cloexec.h, posixver.h, same.h without use.
13483         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
13484         (sc_prohibit_posixver_without_use): Likewise.
13485         (sc_prohibit_same_without_use): Likewise.
13486
13487 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13488
13489         allocator: 'die' routine is now given requested size
13490         * lib/allocator.h (struct allocator.die): New size arg.
13491         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
13492         If the actual problem is an ssize_t limitation, not a size_t or
13493         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
13494
13495 2011-06-01  Eric Blake  <eblake@redhat.com>
13496
13497         strerror: drop strerror_r dependency
13498         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
13499         * lib/strerror-override.c (strerror_override): ...to new file.
13500         * lib/strerror-override.h: Add prototype.
13501         * lib/strerror-impl.h: Delete.
13502         * lib/strerror.c (strerror): New implementation.
13503         * modules/errno (Files): Add new files.
13504         (configure.ac): Compile new file as appropriate.
13505         * modules/strerror (Files): Drop unused file.
13506         (Depends-on): Drop strerror_r-posix.
13507         * MODULES.html.sh: Document strerror_r-posix.
13508         Requested by Sam Steingold.
13509
13510         perror: call strerror_r directly
13511         * modules/perror (Files): Drop strerror-impl.h.
13512         * lib/perror.c (perror): Use our own stack buffer, rather than
13513         calling a wrapper that uses static storage.
13514         * doc/posix-functions/perror.texi (perror): Document a limitation
13515         of our replacement.
13516
13517         strerror_r: fix includes for FreeBSD
13518         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
13519         since we use abort on some platforms.
13520         Reported by Matthias Bolte.
13521
13522 2011-05-31  Bruno Haible  <bruno@clisp.org>
13523
13524         Fix link errors in tests: openat-die uses gettext-h.
13525         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
13526         against $(LIBINTL).
13527         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
13528         against $(LIBINTL).
13529         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
13530         $(LIBINTL).
13531         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
13532         against $(LIBINTL).
13533         * modules/linkat-tests (Makefile.am): Link test-linkat against
13534         $(LIBINTL).
13535         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
13536         $(LIBINTL).
13537         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
13538         against $(LIBINTL).
13539         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
13540         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
13541         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
13542         $(LIBINTL).
13543         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
13544         $(LIBINTL).
13545         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
13546         $(LIBINTL).
13547         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13548
13549 2011-05-31  Bruno Haible  <bruno@clisp.org>
13550
13551         Fix link errors in tests: wait-process uses gettext-h.
13552         * modules/nonblocking-pipe-tests (Makefile.am): Set
13553         test_nonblocking_pipe_main_LDADD.
13554         * modules/nonblocking-socket-tests (Makefile.am): Link
13555         test-nonblocking-socket-main against $(LIBINTL).
13556         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13557
13558 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
13559
13560         assert-h: work around 'verify' incompatibility
13561         * lib/verify.h: Use @...@ directives, not ifdef.
13562         * modules/assert-h (assert.h): Implement the directives.
13563         (assert.h): Substitute the symbol-prefix more consistently.
13564
13565 2011-05-29  Jim Meyering  <meyering@redhat.com>
13566
13567         trim: remove three superfluous assignments
13568         * lib/trim.c (trim2): Remove three superfluous assignments
13569         and correct brace positioning.
13570
13571 2011-05-29  Bruno Haible  <bruno@clisp.org>
13572
13573         wctype-h: Avoid namespace pollution on Solaris 2.6.
13574         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
13575         identifiers.
13576         * doc/posix-headers/wctype.texi: Mention the problem.
13577         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13578
13579 2011-05-28  Jim Meyering  <meyering@redhat.com>
13580
13581         parse-datetime.y: accommodate -Wstrict-overflow
13582         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
13583         placate -Wstrict-overflow.
13584
13585         trim: avoid a warning from -O2 -Wstrict-overflow
13586         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
13587
13588 2011-05-29  Bruno Haible  <bruno@clisp.org>
13589
13590         gnulib-tool: Fix bug in yesterday's commit.
13591         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
13592         twice.
13593
13594 2011-05-29  Bruno Haible  <bruno@clisp.org>
13595
13596         Allow multiple gnulib generated include files to be combined.
13597         * gnulib-tool (func_compute_include_guard_prefix): New function.
13598         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
13599         ${gl_include_guard_prefix} references.
13600         (func_import, func_create_testdir): Invoke
13601         func_compute_include_guard_prefix.
13602         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
13603         * lib/ctype.in.h: Likewise.
13604         * lib/dirent.in.h: Likewise.
13605         * lib/errno.in.h: Likewise.
13606         * lib/fcntl.in.h: Likewise.
13607         * lib/float.in.h: Likewise.
13608         * lib/getopt.in.h: Likewise.
13609         * lib/iconv.in.h: Likewise.
13610         * lib/langinfo.in.h: Likewise.
13611         * lib/locale.in.h: Likewise.
13612         * lib/math.in.h: Likewise.
13613         * lib/netdb.in.h: Likewise.
13614         * lib/netinet_in.in.h: Likewise.
13615         * lib/poll.in.h: Likewise.
13616         * lib/pthread.in.h: Likewise.
13617         * lib/pty.in.h: Likewise.
13618         * lib/sched.in.h: Likewise.
13619         * lib/se-selinux.in.h: Likewise.
13620         * lib/search.in.h: Likewise.
13621         * lib/signal.in.h: Likewise.
13622         * lib/spawn.in.h: Likewise.
13623         * lib/stdarg.in.h: Likewise.
13624         * lib/stddef.in.h: Likewise.
13625         * lib/stdint.in.h: Likewise.
13626         * lib/stdio.in.h: Likewise.
13627         * lib/stdlib.in.h: Likewise.
13628         * lib/string.in.h: Likewise.
13629         * lib/strings.in.h: Likewise.
13630         * lib/sys_file.in.h: Likewise.
13631         * lib/sys_ioctl.in.h: Likewise.
13632         * lib/sys_select.in.h: Likewise.
13633         * lib/sys_socket.in.h: Likewise.
13634         * lib/sys_stat.in.h: Likewise.
13635         * lib/sys_time.in.h: Likewise.
13636         * lib/sys_times.in.h: Likewise.
13637         * lib/sys_uio.in.h: Likewise.
13638         * lib/sys_utsname.in.h: Likewise.
13639         * lib/sys_wait.in.h: Likewise.
13640         * lib/sysexits.in.h: Likewise.
13641         * lib/termios.in.h: Likewise.
13642         * lib/time.in.h: Likewise.
13643         * lib/unistd.in.h: Likewise.
13644         * lib/wchar.in.h: Likewise.
13645         * lib/wctype.in.h: Likewise.
13646         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
13647         * modules/ctype (Makefile.am): Likewise.
13648         * modules/dirent (Makefile.am): Likewise.
13649         * modules/errno (Makefile.am): Likewise.
13650         * modules/fcntl-h (Makefile.am): Likewise.
13651         * modules/float (Makefile.am): Likewise.
13652         * modules/getopt-posix (Makefile.am): Likewise.
13653         * modules/iconv-h (Makefile.am): Likewise.
13654         * modules/langinfo (Makefile.am): Likewise.
13655         * modules/locale (Makefile.am): Likewise.
13656         * modules/math (Makefile.am): Likewise.
13657         * modules/netdb (Makefile.am): Likewise.
13658         * modules/netinet_in (Makefile.am): Likewise.
13659         * modules/poll-h (Makefile.am): Likewise.
13660         * modules/pthread (Makefile.am): Likewise.
13661         * modules/pty (Makefile.am): Likewise.
13662         * modules/sched (Makefile.am): Likewise.
13663         * modules/search (Makefile.am): Likewise.
13664         * modules/selinux-h (Makefile.am): Likewise.
13665         * modules/signal (Makefile.am): Likewise.
13666         * modules/spawn (Makefile.am): Likewise.
13667         * modules/stdarg (Makefile.am): Likewise.
13668         * modules/stddef (Makefile.am): Likewise.
13669         * modules/stdint (Makefile.am): Likewise.
13670         * modules/stdio (Makefile.am): Likewise.
13671         * modules/stdlib (Makefile.am): Likewise.
13672         * modules/string (Makefile.am): Likewise.
13673         * modules/strings (Makefile.am): Likewise.
13674         * modules/sys_file (Makefile.am): Likewise.
13675         * modules/sys_ioctl (Makefile.am): Likewise.
13676         * modules/sys_select (Makefile.am): Likewise.
13677         * modules/sys_socket (Makefile.am): Likewise.
13678         * modules/sys_stat (Makefile.am): Likewise.
13679         * modules/sys_time (Makefile.am): Likewise.
13680         * modules/sys_times (Makefile.am): Likewise.
13681         * modules/sys_uio (Makefile.am): Likewise.
13682         * modules/sys_utsname (Makefile.am): Likewise.
13683         * modules/sys_wait (Makefile.am): Likewise.
13684         * modules/sysexits (Makefile.am): Likewise.
13685         * modules/termios (Makefile.am): Likewise.
13686         * modules/time (Makefile.am): Likewise.
13687         * modules/unistd (Makefile.am): Likewise.
13688         * modules/wchar (Makefile.am): Likewise.
13689         * modules/wctype-h (Makefile.am): Likewise.
13690         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
13691
13692 2011-05-29  Bruno Haible  <bruno@clisp.org>
13693
13694         assert-h: Allow multiple gnulib generated replacements to coexist.
13695         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
13696
13697 2011-05-29  Bruno Haible  <bruno@clisp.org>
13698
13699         argp: Allow coexistence with strerror_r-posix module.
13700         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
13701         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
13702         by gnulib's <string.h> replacement), assume it has the POSIX signature,
13703         not the glibc signature.
13704
13705 2011-05-28  Bruno Haible  <bruno@clisp.org>
13706
13707         gnulib-tool: Alternative structure of testdirs, similar to --import.
13708         * gnulib-tool: New option --single-configure.
13709         (func_usage): Document it.
13710         (single_configure): New variable.
13711         (func_modules_transitive_closure_separately,
13712         func_modules_transitive_closure_separately,
13713         func_determine_use_libtests, func_modules_add_dummy_separately,
13714         func_modules_to_filelist_separately): New functions, extracted from
13715         func_import.
13716         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
13717         (func_import): Use the new functions.
13718         (func_create_testdir): Set final_modules. Handle $single_configure =
13719         true case.
13720
13721 2011-05-28  Bruno Haible  <bruno@clisp.org>
13722
13723         getloadavg: Remove an unreliable safety check.
13724         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
13725         getloadavg.c is in place.
13726         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
13727         Reported by Sam Steingold <sds@gnu.org>.
13728
13729 2011-05-28  Bruno Haible  <bruno@clisp.org>
13730
13731         doc: Cleanup yet another file produced by texinfo.tex.
13732         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
13733
13734 2011-05-28  Bruno Haible  <bruno@clisp.org>
13735
13736         Finish the conditional dependencies mechanism.
13737         * gnulib-tool: New option --no-conditional-dependencies.
13738         (func_usage): Document it. Don't mark --conditional-dependencies as
13739         experimental.
13740         (cond_dependencies): The possible values can now be true, false, empty.
13741         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
13742         (func_import): Store setting in gnulib-cache.m4 and read it from there.
13743         * doc/gnulib-tool.texi (Conditional dependencies): New section.
13744
13745 2011-05-28  Bruno Haible  <bruno@clisp.org>
13746
13747         doc: Use a recent texinfo.tex.
13748         * doc/Makefile (tex_opts): New variable.
13749         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
13750
13751 2011-05-28  Jim Meyering  <meyering@redhat.com>
13752
13753         intprops.h: adjust comment to match code change
13754         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
13755         only once, it *may* have side effects.  Also fix an unrelated typo.
13756         (_GL_INT_SIGNED): Likewise.
13757
13758 2011-05-26  Simon Josefsson  <simon@josefsson.org>
13759
13760         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
13761
13762 2011-05-26  Bruno Haible  <bruno@clisp.org>
13763
13764         mbsrchr: Avoid collision with system function on Interix.
13765         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
13766         Reported by Markus Duft <mduft@gentoo.org>.
13767
13768 2011-05-15  James Youngman  <jay@gnu.org>
13769
13770         getopt: for ambiguous options, enumerate the possibilities.
13771         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
13772         the ambiguous options when an ambiguous prefix is given. This was
13773         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
13774         glibc change was
13775         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
13776
13777 2011-05-25  Eric Blake  <eblake@redhat.com>
13778
13779         getcwd: work around mingw bug
13780         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
13781         * doc/posix-functions/getcwd.texi (getcwd): Document it.
13782         Reported by Matthias Bolte.
13783
13784 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
13785
13786         test-intprops: disable -Wtype-limits diagnostics
13787         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
13788         diagnostics.  Otherwise, the integer overflow macros generate many
13789         diagnostics.  Reported by Jim Meyering in
13790         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
13791
13792         intprops: shorten, to pacify gcc -Woverlength-strings
13793         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
13794         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
13795         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
13796         likely to run afoul of C compiler limits for string constant lengths.
13797         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
13798
13799 2011-05-24  Eric Blake  <eblake@redhat.com>
13800
13801         docs: document recently fixed glibc printf bug
13802         * doc/posix-functions/fprintf.texi (fprintf): Document it.
13803         * doc/posix-functions/printf.texi (printf): Likewise.
13804         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13805         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13806
13807         closein-tests: convert to init.sh
13808         * modules/closein-tests (Files): Add init.sh
13809         * tests/test-closein.sh Use it.
13810
13811         yesno-tests: convert to init.sh
13812         * modules/yesno-tests (Files): Add init.sh.
13813         * tests/test-yesno.sh: Use it.
13814
13815         atexit-tests: ensure reliable exit status
13816         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
13817         Reported by Bruno Haible.
13818
13819 2011-05-24  Bruno Haible  <bruno@clisp.org>
13820
13821         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
13822         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
13823         gl_PREREQ_STRERROR_R invocations from here...
13824         * modules/strerror_r-posix (configure.ac): ... to here.
13825
13826 2011-05-24  Eric Blake  <eblake@redhat.com>
13827
13828         strerror_r: fix missing header
13829         * lib/strerror_r.c: Avoid compiler warning about snprintf.
13830
13831         strerror_r: fix AIX test failures
13832         * lib/strerror_r.c (strerror_r): Convert silent truncation to
13833         ERANGE failure.
13834
13835         strerror_r: fix Solaris test failures
13836         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
13837         failures.
13838         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
13839
13840         strerror_r: enforce POSIX recommendations
13841         * lib/strerror_r.c (safe_copy): New helper method.
13842         (strerror_r): Guarantee a non-empty string.
13843         * tests/test-strerror_r.c (main): Enhance tests to incorporate
13844         recent POSIX rulings and to match our strerror guarantees.
13845         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
13846
13847 2011-05-24  Jim Meyering  <meyering@redhat.com>
13848
13849         test-perror2.c: avoid warning about unused variable
13850         * tests/test-perror2.c (main): Remove declaration of unused "fp".
13851
13852 2011-05-24  Eric Blake  <eblake@redhat.com>
13853
13854         perror: avoid spurious test failure on HP-UX
13855         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
13856
13857         tests: fix logic bug in init.sh
13858         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
13859         shell.
13860
13861 2011-05-24  Jim Meyering  <meyering@redhat.com>
13862
13863         utimensat: do not reference an out-of-scope buffer
13864         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
13865         declared in an inner scope, yet "times" would be dereferenced outside
13866         the scope in which "ts" was valid.
13867         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
13868         of ts[2] "out/up", so that the use of aliased "times" (via
13869         "times = ts;") does not end up referencing an out-of-scope "ts"
13870
13871         opendir-safer.c: don't clobber errno; don't close negative FD
13872         * lib/opendir-safer.c (opendir_safer):
13873         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
13874         file descriptor, and more importantly, don't clobber the
13875         offending errno value with EINVAL.  Before, upon failure
13876         of dup_safer, we would pass the negative file descriptor to
13877         fdopendir, which would clobber errno.
13878
13879 2011-05-23  Bruno Haible  <bruno@clisp.org>
13880
13881         idcache: Fix module description.
13882         * modules/idcache (Include): Set to "idcache.h".
13883
13884 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13885
13886         gnulib-tool: fix portability problem with MacOS sed
13887         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
13888         before the "}".  Problem reported by Leo in
13889         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
13890         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
13891         sed_extract_condition1, sed_extract_condition2.
13892
13893 2011-05-23  Bruno Haible  <bruno@clisp.org>
13894
13895         hash: Simplify autoconf macro.
13896         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
13897
13898 2011-05-23  Bruno Haible  <bruno@clisp.org>
13899
13900         getugroups: Fix module description.
13901         * modules/getugroups (Include): Set to "getugroups.h".
13902
13903 2011-05-23  Bruno Haible  <bruno@clisp.org>
13904
13905         linkat: Simplify autoconf macro.
13906         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
13907
13908 2011-05-23  Bruno Haible  <bruno@clisp.org>
13909             Eric Blake  <eblake@redhat.com>
13910
13911         linkat, renameat: Update dependencies.
13912         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
13913         * modules/linkat (Depends-on): Likewise. Remove also readlink,
13914         symlinkat.
13915
13916 2011-05-23  Jim Meyering  <meyering@redhat.com>
13917
13918         maint.mk: more tight_scope improvements
13919         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
13920         (_gl_TS_headers): Define only in if-0'd block.
13921         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
13922         sometimes we must *not* use it.  Adjust uses accordingly.
13923         (sc_tight_scope): Use much simpler grep-based test to determine
13924         whether we skip this rule.
13925
13926         maint.mk: generalize/improve the tight-scope rule
13927         * top/maint.mk: Emit a warning when the test is skipped.
13928         (_gl_TS_dir): Add $(srcdir)/ prefix.
13929         (_gl_TS_function_match): Simplify, rather than trying
13930         to enumerate common types.  Otherwise, it would fail to match an
13931         "extern unsigned char const *" declaration in idutils.
13932         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
13933         a way to support use of that type of macro.
13934         (_gl_TS_var_match): Simplify regexp.
13935         (_gl_TS_obj_files): New configurable variable.
13936         (_gl_TS_headers): Likewise.
13937
13938 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13939
13940         verify: fix bug when gnulib <assert.h> is also included
13941         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
13942         is defined, not if _GL_STATIC_ASSERT_H is not defined.
13943         Perhaps there's a better way, but this fixes the immediate problem.
13944         Problem reported by Bruno Haible in
13945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
13946
13947 2011-05-22  Bruno Haible  <bruno@clisp.org>
13948
13949         xgetcwd: Simplify autoconf macro.
13950         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
13951
13952 2011-05-22  Bruno Haible  <bruno@clisp.org>
13953
13954         New module 'mktime-internal'.
13955         * modules/mktime-internal: New file.
13956         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
13957         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
13958         mktime_internal as a C macro if libc has __mktime_internal.
13959         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
13960         conditions.
13961         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
13962
13963 2011-05-22  Bruno Haible  <bruno@clisp.org>
13964
13965         timegm: Correct mktime replacement statements.
13966         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
13967         defining mktime as a C macro. This completes a 2009-07-28 commit.
13968
13969 2011-05-22  Bruno Haible  <bruno@clisp.org>
13970
13971         timegm: Simplify autoconf macro.
13972         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
13973
13974 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13975
13976         clock-time: change to LGPLv2+.
13977         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
13978         BSD-like but we have no mark for that; this is good enough for now.
13979
13980 2011-05-21  Bruno Haible  <bruno@clisp.org>
13981
13982         strerror_r: Fix comments.
13983         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
13984
13985 2011-05-21  Bruno Haible  <bruno@clisp.org>
13986
13987         relocatable-prog-wrapper: Fix possible link error.
13988         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
13989         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
13990         (gl_FUNC_SETENV): ... to here.
13991         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
13992         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
13993
13994 2011-05-21  Bruno Haible  <bruno@clisp.org>
13995
13996         relocatable-prog-wrapper: Assume strerror() exists.
13997         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
13998         m4/strerror.m4.
13999         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14000         * lib/relocwrapper.c: Remove mention of strerror module.
14001         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14002         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14003         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14004         C macro.
14005
14006 2011-05-21  Bruno Haible  <bruno@clisp.org>
14007
14008         select: Simplify replacement idiom.
14009         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14010         Win32 platforms.
14011         * lib/sys_select.in.h (select): Simplify accordingly.
14012         * modules/select (Depends-on): Likewise.
14013
14014 2011-05-21  Bruno Haible  <bruno@clisp.org>
14015
14016         mkdir-p: Simplify autoconf macro.
14017         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14018         gl_FUNC_LCHOWN.
14019
14020 2011-05-21  Eric Blake  <eblake@redhat.com>
14021
14022         strerror_r: avoid clobbering strerror on cygwin
14023         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14024         fall back instead to sys_errlist.
14025         * modules/strerror (configure.ac): Add witness.
14026         * tests/test-strerror_r.c (main): Enhance test.
14027         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14028         * tests/test-perror2.c (main): Free memory before exit.
14029
14030 2011-05-21  Bruno Haible  <bruno@clisp.org>
14031
14032         mkdtemp: Use gnulib naming conventions.
14033         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14034         * modules/mkdtemp (configure.ac): Update.
14035
14036 2011-05-20  Eric Blake  <eblake@redhat.com>
14037
14038         strerror_r: avoid corrupting errno on Solaris
14039         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14040         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14041
14042         strerror_r: avoid compiler warning
14043         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14044
14045         strerror_r: simplify AIX code
14046         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14047
14048         test-perror: avoid spurious failure on FreeBSD
14049         * modules/perror-tests (Depends-on): Add strerror, now that
14050         strerror_r no longer pulls it in.
14051
14052 2011-05-20  Bruno Haible  <bruno@clisp.org>
14053
14054         strerror_r-posix: Remove unused dependencies.
14055         * modules/strerror_r-posix (Depends-on): Remove strerror.
14056         Reported by Eric Blake.
14057
14058 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14059
14060         intprops: remove assumption about A|B representation
14061         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14062         is a valid integer if both A and B are.  Although this is true for
14063         all known practical hosts, the C standard doesn't guarantee it,
14064         and the code need not assume it.  Also, this change may work around
14065         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14066         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14067
14068 2011-05-20  Eric Blake  <eblake@redhat.com>
14069
14070         perror: work around FreeBSD bug
14071         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14072         is broken.  Move AC_LIBOBJ...
14073         * modules/perror (configure.ac): Here.
14074         * doc/posix-functions/perror.texi (perror): Document this.
14075         * tests/test-perror2.c (main): Enhance test.
14076
14077         test-perror: check for strerror interactions
14078         * tests/macros.h (STREQ): Add macro.
14079         * modules/perror-tests (Files): Add second test.
14080         * tests/test-perror2.c (main): New file.
14081         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14082
14083         test-perror: rewrite to use init script
14084         * modules/perror-tests (Files): Add init.sh.
14085         * tests/test-perror.sh: Use temporary directory.
14086
14087 2011-05-20  Jim Meyering  <meyering@redhat.com>
14088
14089         maint: replace misused "a" with "an"
14090         * doc/intprops.texi: "a integer"
14091         * doc/regex.texi: "a explanation"
14092         * lib/alignof.h: "a object"
14093         * lib/argmatch.h: "a explanation"
14094         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14095         * lib/stdint.in.h: "a integer"
14096         * lib/userspec.c: "a owner"
14097         * doc/gnulib.texi: Fix "a idea", and reword.
14098
14099 2011-05-19  Jim Meyering  <meyering@redhat.com>
14100
14101         maint: correct misuse of "a" and "an"
14102         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14103         * lib/argp-help.c: "an docum...": s/an/a/
14104         * lib/argp-parse.c: "An vector": s/An/A/
14105         * lib/execute.c: "an native": s/an/a/
14106         * lib/spawn-pipe.c: Likewise.
14107         * lib/gc.h: "an Gc_rc": s/an/a/
14108         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14109         * lib/fts.c: "an stat.st_dev": s/an/a/
14110
14111 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14112
14113         intprops-tests: work around HP-UX 11.23 cc bug with constants
14114         * tests/test-intprops.c (VERIFY): New macro.
14115         (main): Use it, instead of verify, to work around the compiler bug; see
14116         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14117
14118         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14119         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14120         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14121         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14122         (_GL_REMAINDER_OVERFLOW): Use it.
14123
14124         intprops-tests: revert unsigned part of previous change
14125         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14126         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14127         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14128         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14129
14130 2011-05-19  Bruno Haible  <bruno@clisp.org>
14131
14132         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14133         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14134         strerror_r() returned without filling the buffer.
14135         Reported by Eric Blake.
14136
14137 2011-05-19  Eric Blake  <eblake@redhat.com>
14138
14139         strerror_r: guarantee unchanged errno
14140         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14141         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14142         failure.
14143         * tests/test-strerror_r.c (main): Enhance test.
14144
14145 2011-05-19  Bruno Haible  <bruno@clisp.org>
14146
14147         strerror_r: Reorder #if blocks.
14148         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14149         for consistency with the previous commit.
14150
14151 2011-05-19  Bruno Haible  <bruno@clisp.org>
14152
14153         perror: Avoid clobbering the strerror buffer when possible.
14154         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14155         * lib/strerror.c: Include it.
14156         * modules/strerror (Files): Add lib/strerror-impl.h.
14157         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14158         (my_strerror): New function, defined through lib/strerror-impl.h.
14159         (perror): Use it instead of strerror.
14160         * modules/perror (Files): Add lib/strerror-impl.h.
14161         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14162
14163 2011-05-19  Eric Blake  <eblake@redhat.com>
14164
14165         strerror_r: fix on newer cygwin
14166         * lib/strerror_r.c (strerror_r): Cygwin now has
14167         __xpg_strerror_r, use it.
14168
14169 2011-05-19  Bruno Haible  <bruno@clisp.org>
14170
14171         strerror_r: Avoid clobbering the strerror buffer when possible.
14172         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14173         (sys_nerr, sys_errlist): New declarations.
14174         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14175         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14176         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14177
14178 2011-05-19  Bruno Haible  <bruno@clisp.org>
14179
14180         strerror_r: Fix test failure on mingw.
14181         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14182         EXTEND_STRERROR_R.
14183         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14184         macros from errno.in.h instead.
14185
14186 2011-05-19  Eric Blake  <eblake@redhat.com>
14187
14188         strerror: relax test for Solaris
14189         * tests/test-strerror.c (main): Permit Solaris behavior.
14190         * tests/test-strerror_r.c (main): Likewise.
14191
14192         strerror: enforce POSIX ruling on strerror(0)
14193         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14194         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14195         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14196         * doc/posix-functions/strerror.texi (strerror): Document it.
14197         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14198         * tests/test-strerror.c (main): Strengthen test.
14199         * tests/test-strerror_r.c (main): Likewise.
14200
14201 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14202
14203         intprop-tests: port to older and more-pedantic compilers
14204         * modules/intprops-tests (Files): Add tests/macros.h.
14205         * tests/test-intprops.c: Include macros.h.
14206         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14207         it's no longer documented to expand to an integer constant expression.
14208         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14209         argument is floating point, as it's no longer documented to expand
14210         to an integer constant expression in that case.
14211         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14212         compiler bugs reported by Bruno Haible.  See
14213         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14214         (U0, U1): New constants, to work around the same bugs.  Also,
14215         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14216
14217         intprops: work around C compiler bugs
14218         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14219         bug in Sun C 5.11 2010/08/13 and other compilers; see
14220         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14221
14222         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14223         * doc/intprops.texi (Integer Type Determination): Fix
14224         documentation for TYPE_IS_INTEGER: it returns an constant
14225         expression, not an integer constant expression.  Fix doc for
14226         TYPE_SIGNED: it returns an integer constant expression only if its
14227         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14228         hardly worth documented that way....)
14229
14230 2011-05-18  Bruno Haible  <bruno@clisp.org>
14231
14232         strerror_r: Avoid clobbering the strerror buffer when possible.
14233         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14234         Handle gnulib defined errno values here. When strerror() returns NULL
14235         or an empty string, return EINVAL.
14236         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14237         gnulib defined errno values here.
14238         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14239
14240 2011-05-18  Eric Blake  <eblake@redhat.com>
14241
14242         fnmatch: avoid compiler warning
14243         * lib/fnmatch_loop.c (FCT): Use correct type.
14244         Reported by Matthias Bolte.
14245
14246 2011-05-13  Jim Meyering  <meyering@redhat.com>
14247
14248         maint.mk: three new prohibit_<HDR>_without_use rules
14249         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14250         (sc_prohibit_stdio-safer_without_use): Likewise.
14251         (sc_prohibit_xfreopen_without_use): Likewise.
14252
14253 2011-05-17  Jim Meyering  <meyering@redhat.com>
14254
14255         announce-gen: fail if the NEWS delta is empty
14256         If there's nothing noteworthy in NEWS, then either you forgot
14257         or you shouldn't be releasing.
14258         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14259
14260 2011-05-17  Pádraig Brady <P@draigBrady.com>
14261
14262         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14263         reserved symbols starting with double underscore from the check.
14264
14265 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14266
14267         intprops: add doc
14268         * doc/intprops.texi: New file, documenting intprops.
14269         * doc/gnulib.texi (Particular Modules): Include it.
14270
14271         verify: add doc to gnulib manual and fix example
14272         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14273         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14274         (Compile-time Assertions): Fix example so it can't overflow.
14275
14276 2011-05-17  Jim Meyering  <meyering@redhat.com>
14277
14278         warnings.m4: don't usurp save_CPPFLAGS variable name
14279         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14280
14281         doc: fix typo
14282         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14283
14284 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14285             Bruno Haible  <bruno@clisp.org>
14286
14287         doc: Tweak recent change.
14288         * README (Portability guidelines): Tweak new text.
14289         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14290         Interix 6.1.
14291
14292 2011-05-16  Eric Blake  <eblake@redhat.com>
14293
14294         inttypes: avoid autoconf warning
14295         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14296         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14297
14298 2011-05-16  Sam Steingold <sds@gnu.org>
14299         and Eric Blake  <eblake@redhat.com>
14300
14301         vc-list-files: accept multiple directory operands
14302         * build-aux/vc-list-files: Iterate over all remaining operands.
14303
14304 2011-05-16  Bruno Haible  <bruno@clisp.org>
14305
14306         Fix confusion regarding deprecated modules.
14307         * modules/calloc (Status, Notice): Mark module as deprecated, not
14308         obsolete.
14309         * modules/fnmatch-posix (Status, Notice): Likewise.
14310         * modules/getdate (Status, Notice): Likewise.
14311         * modules/getopt (Status, Notice): Likewise.
14312         * modules/malloc (Status, Notice): Likewise.
14313         * modules/pipe (Status, Notice): Likewise.
14314         * modules/realloc (Status, Notice): Likewise.
14315         * modules/rename-dest-slash (Status, Notice): Likewise.
14316         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14317         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14318         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14319         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14320         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
14321
14322 2011-05-16  Bruno Haible  <bruno@clisp.org>
14323
14324         doc: List the target platforms.
14325         * doc/gnulib-intro.texi (Target Platforms): New section.
14326         * doc/gnulib.texi (Introduction): Update menu.
14327         * README (Portability guidelines): Refer to the new section. Update
14328         statement about oldest supported environment. Remove rationale why
14329         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
14330         unportable C89 function.
14331         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
14332         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
14333
14334 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14335
14336         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14337
14338 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14339
14340         intprops-tests: new module
14341         * modules/intprops-tests, tests/test-intprops.c: New files.
14342
14343         intprops: add safe, portable integer overflow checking
14344         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14345         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14346         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14347         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14348         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14349         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14350         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14351         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14352         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14353         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
14354         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
14355
14356 2011-05-12  James Youngman  <jay@gnu.org>
14357
14358         Add a test for glibc's Bugzilla bug #12378.
14359         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
14360         doesn't allow the literal matching of a lone "[" (which is
14361         required by POSIX).
14362         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
14363
14364 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
14365
14366         Sync glibc change fixing Bugzilla bug #12378.
14367         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
14368         beginning and fall back to matching as normal character if the
14369         string ends before the matching ']' is found.  This is what POSIX
14370         requires.
14371
14372 2011-05-13  Eric Blake  <eblake@redhat.com>
14373
14374         getcwd-lgpl: relax test for FreeBSD
14375         * doc/posix-functions/getcwd.texi (getcwd): Document portability
14376         issue.
14377         * tests/test-getcwd-lgpl.c (main): Relax test.
14378         Reported by Matthias Bolte.
14379
14380 2011-05-11  Eric Blake  <eblake@redhat.com>
14381
14382         test-fflush: silence compiler warning
14383         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
14384
14385 2011-05-11  Bruno Haible  <bruno@clisp.org>
14386
14387         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
14388         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
14389         * modules/canonicalize (Depends-on): Add 'nocrash'.
14390         * modules/canonicalize-lgpl (Depends-on): Likewise.
14391         * doc/posix-functions/realpath.texi: Update platforms list.
14392         Reported by Ryan Schmidt <ryandesign@macports.org>.
14393
14394 2011-05-11  Bruno Haible  <bruno@clisp.org>
14395
14396         group-member: Declare function in <unistd.h>.
14397         * lib/unistd.in.h (group_member): New declaration.
14398         * lib/group-member.h: Remove file.
14399         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
14400         * tests/test-unistd-c++.cc: Check signature of group_member.
14401         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
14402         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
14403         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
14404         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
14405         HAVE_GROUP_MEMBER.
14406         * modules/group-member (Files): Remove lib/group-member.h.
14407         (Depends-on): Add unistd. Specify conditions.
14408         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14409         (Include): Change to <unistd.h>.
14410         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
14411         HAVE_GROUP_MEMBER.
14412         * NEWS: Mention the change.
14413         * lib/euidaccess.c: Don't include group-member.h.
14414
14415 2011-05-11  Bruno Haible  <bruno@clisp.org>
14416
14417         group-member: Document module.
14418         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
14419         module.
14420
14421 2011-05-11  Bruno Haible  <bruno@clisp.org>
14422
14423         fclose: Fix mistake earlier today.
14424         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
14425
14426 2011-05-11  Eric Blake  <eblake@redhat.com>
14427
14428         fclose: preserve fflush errors
14429         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
14430         Reported by Jim Meyering.
14431
14432         bootstrap: support a prereq of 'rpcgen -' on RHEL5
14433         * build-aux/bootstrap (check_versions): When no specific version
14434         is required, merely check that the app produces an exit status
14435         that indicates its existence.
14436
14437         maint.mk: drop redundant check
14438         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14439         the same but better.
14440
14441 2011-05-11  Bruno Haible  <bruno@clisp.org>
14442
14443         fclose: Fix possible link error.
14444         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
14445         unregister_shadow_fd. Improve comments.
14446         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
14447         Eric Blake.
14448
14449 2011-05-11  Jim Meyering  <meyering@redhat.com>
14450
14451         maint.mk: improve "can not" detection and generalize rule name
14452         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
14453         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
14454         Use the same technique as in sc_prohibit_doubled_word, so that
14455         we recognize "can not" also when the words are separated by a newline.
14456         Suggested by Eric Blake.
14457         (perl_filename_lineno_text_): Define.  Factored out of...
14458         (prohibit_doubled_word_): ...here.  Use the new definition.
14459         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
14460         (prohibit_undesirable_word_seq_RE_): New overridable variable.
14461         (ignore_undesirable_word_sequence_RE_): New overridable variable.
14462
14463 2011-05-10  Eric Blake  <eblake@redhat.com>
14464
14465         fclose: avoid double close race when possible
14466         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
14467         all but WINDOWS_SOCKETS.
14468
14469 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
14470
14471         openat: correct new comment
14472         * lib/openat-proc.c (openat_proc_name): Correct the comment.
14473
14474 2011-05-10  Jim Meyering  <meyering@redhat.com>
14475
14476         openat: add comments
14477         * lib/openat-proc.c (openat_proc_name): Add comments,
14478         mostly from Eric Blake.
14479
14480 2011-05-09  Eric Blake  <eblake@redhat.com>
14481
14482         openat: reduce syscalls in first probe of /proc
14483         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
14484         be a directory.  Simplify the probe for .. bugs.
14485         * modules/openat (Depends-on): Drop same-inode.
14486         Reported by Bastien ROUCARIES.
14487
14488 2011-05-09  Jim Meyering  <meyering@redhat.com>
14489
14490         maint.mk: change semantics/name of tight_scope variables
14491         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
14492         Rename variables to align with semantics that make them more useful.
14493
14494         maint.mk: tweak new rule's name not to impinge
14495         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
14496         (sc_tight_scope): Use new rule name rather than $@-0.
14497
14498         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
14499         * top/maint.mk (sc_tight_scope): New rule.
14500         (sc_tight_scope-0): New rule, ifdef'd out.
14501         (_gl_TS_dir): Default.
14502         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
14503         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
14504
14505 2011-05-09  Simon Josefsson  <simon@josefsson.org>
14506
14507         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
14508         Haible <bruno@clisp.org>.
14509
14510 2011-05-08  Bruno Haible  <bruno@clisp.org>
14511
14512         Comments.
14513         * m4/isnanf.m4: Add comment.
14514         * m4/isnanl.m4: Likewise.
14515
14516 2011-05-08  Bruno Haible  <bruno@clisp.org>
14517
14518         glob: Remove obsolete macro.
14519         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
14520
14521 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14522
14523         intprops: Sun C 5.11 supports __typeof__
14524         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
14525         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
14526         which is new.
14527         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
14528
14529         intprops: switch to usual gnulib indenting and naming
14530         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
14531         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
14532
14533         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
14534
14535 2011-05-08  Jim Meyering  <meyering@redhat.com>
14536
14537         maint.mk: suppress "Entering/Leaving directory" diag in announcement
14538         * top/maint.mk (release-prep): Use make's --no-print-directory
14539         option when generating the announcement.  This eliminates the
14540         pesky "make[2]: Entering/Leaving directory" diagnostics in the
14541         generated announcement template.
14542
14543 2011-05-08  Bruno Haible  <bruno@clisp.org>
14544
14545         tzset: Fix gettimeofday wrapper on Solaris 2.6.
14546         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
14547         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
14548
14549 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14550
14551         ignore-value, verify: Omit include files from lib_SOURCES.
14552         * modules/ignore-value, modules/verify (Makefile.am):
14553         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
14554         that leads Automake to duplicate use of am__objects_... variables
14555         in Makefile.in.  See
14556         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
14557
14558 2011-05-07  Bruno Haible  <bruno@clisp.org>
14559
14560         fclose: Simplify autoconf macro.
14561         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
14562         defined.
14563
14564 2011-05-07  Bruno Haible  <bruno@clisp.org>
14565
14566         canonicalize-lgpl: Fix autoconf macro ordering bug.
14567         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
14568         gl_STDLIB_H_DEFAULTS.
14569
14570 2011-05-06  Eric Blake  <eblake@redhat.com>
14571
14572         maintainer-makefile: make sc_po_check easier to tune
14573         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
14574         to probe for strings, such as an alternate location for gnulib.
14575
14576         fclose: guarantee behavior on seekable stdin
14577         * modules/fclose (Depends-on): Add fflush.
14578         * doc/posix-functions/fclose.texi (fclose): Document this.
14579         * tests/test-fclose.c (main): Make test for this unconditional.
14580
14581 2011-05-06  Bruno Haible  <bruno@clisp.org>
14582
14583         fflush, fpurge: Relicense under LGPLv2+.
14584         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
14585         * modules/fpurge (License): Likewise.
14586         With permission from Eric Blake and Jim Meyering.
14587         Suggested by Eric Blake.
14588
14589 2011-05-06  Karl Berry  <karl@gnu.org>
14590
14591         * MODULES.html.sh (func_all_modules): remove exit.
14592
14593 2011-05-06  Jim Meyering  <meyering@redhat.com>
14594
14595         maint.mk: use info-gnu@ as the default only for a stable release
14596         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
14597         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
14598         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
14599         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
14600
14601 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14602
14603         assert-h: new module, which supports C1X-style static_assert
14604         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
14605         * lib/verify.h: Revamp so that this can be copied into assert.h,
14606         while retaining the ability to use it standalone as before.
14607         Rename private identifiers so as not to encroach on the
14608         standard C namespace, since this is now used by assert.h.
14609         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
14610         the old verify_true.
14611         (_GL_VERIFY_TRUE): New macro, with much of the contents of
14612         the old verify_true.  Use _GL_VERIFY_TYPE.
14613         (_GL_VERIFY): New macro, with much of the contents of the old verify.
14614         (static_assert): New macro, if _GL_STATIC_ASSERT_H
14615         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
14616         defined when this file is copied into the replacement assert.h.
14617         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
14618         and _Static_assert is not built in.
14619         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
14620         defined, and use the new macros mentioned above.
14621         * doc/posix-headers/assert.texi: Document this.
14622
14623 2011-05-05  Bruno Haible  <bruno@clisp.org>
14624
14625         fclose, fflush: Respect rules for use of AC_LIBOBJ.
14626         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
14627         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
14628         gl_REPLACE_FCLOSE here.
14629         * modules/fflush (Depends-on): Remove fclose.
14630         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
14631         combination with module 'fclose'.
14632
14633 2011-05-05  Bruno Haible  <bruno@clisp.org>
14634
14635         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
14636         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
14637         gl_FUNC_FFLUSH.
14638         (gl_FUNC_FFLUSH): Use it.
14639         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
14640         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
14641         gl_REPLACE_FSEEKO here.
14642
14643 2011-05-05  Bruno Haible  <bruno@clisp.org>
14644
14645         tzset: Relicense under LGPL.
14646         * modules/tzset (License): Change to LGPL.
14647         No agreement needed; it's a no-op.
14648
14649         strtoimax, strtoumax: Relicense under LGPL.
14650         * modules/strtoimax (License): Change to LGPL.
14651         * modules/strtoumax (License): Likewise.
14652         With permission from Jim Meyering, Paul Eggert:
14653         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
14654         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
14655
14656         getgroups: Relicense under LGPL.
14657         * modules/getgroups (License): Change to LGPL.
14658         With permission from Jim Meyering, Paul Eggert, Eric Blake:
14659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14661         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14662
14663         nanosleep: Relicense under LGPL.
14664         * modules/nanosleep (License): Change to LGPL.
14665         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
14666         Haible:
14667         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14668         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14669         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14670         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14671
14672         futimens: Relicense under LGPL.
14673         * modules/futimens (License): Change to LGPL.
14674         With permission from Eric Blake:
14675         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14676
14677         fflush: Relicense under LGPL.
14678         * modules/fflush (License): Change to LGPL.
14679         With permission from Eric Blake, Bruno Haible, Jim Meyering:
14680         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14682         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
14683
14684         tmpfile: Relicense under LGPL.
14685         * modules/tmpfile (License): Change to LGPL.
14686         With permission from Ben Pfaff:
14687         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14688
14689         isfinite: Relicense under LGPL.
14690         * modules/isfinite (License): Change to LGPL.
14691         With permission from Ben Pfaff, Bruno Haible:
14692         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14693         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
14694
14695         acosl..tanl: Relicense under LGPL.
14696         * modules/acosl (License): Change to LGPL.
14697         * modules/asinl (License): Likewise.
14698         * modules/atanl (License): Likewise.
14699         * modules/cosl (License): Likewise.
14700         * modules/expl (License): Likewise.
14701         * modules/logl (License): Likewise.
14702         * modules/sinl (License): Likewise.
14703         * modules/sqrtl (License): Likewise.
14704         * modules/tanl (License): Likewise.
14705         Source code originally from glibc and Paolo Bonzini. Agreements:
14706         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
14707         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
14708
14709 2011-05-05  Bruno Haible  <bruno@clisp.org>
14710
14711         signal: Define sighandler_t.
14712         * lib/signal.in.h (sighandler_t): New type.
14713         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
14714         whether sighandler_t is defined.
14715         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
14716         * modules/signal (Depends-on): Add extensions.
14717         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
14718         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
14719         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
14720
14721 2011-05-05  Eric Blake  <eblake@redhat.com>
14722
14723         maint: remove useless REPLACE_*_H macros
14724         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
14725         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
14726         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
14727         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
14728         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
14729         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
14730         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
14731         * m4/btowc.m4: Update callers.
14732         * m4/dirfd.m4: Likewise.
14733         * m4/duplocale.m4: Likewise.
14734         * m4/fchdir.m4: Likewise.
14735         * m4/fdopendir.m4: Likewise.
14736         * m4/inet_ntop.m4: Likewise.
14737         * m4/inet_pton.m4: Likewise.
14738         * m4/ioctl.m4: Likewise.
14739         * m4/mbrlen.m4: Likewise.
14740         * m4/mbrtowc.m4: Likewise.
14741         * m4/mbsinit.m4: Likewise.
14742         * m4/mbsnrtowcs.m4: Likewise.
14743         * m4/mbsrtowcs.m4: Likewise.
14744         * m4/poll.m4: Likewise.
14745         * m4/setlocale.m4: Likewise.
14746         * m4/wcrtomb.m4: Likewise.
14747         * m4/wcsnrtombs.m4: Likewise.
14748         * m4/wcsrtombs.m4: Likewise.
14749         * m4/wctob.m4: Likewise.
14750         * m4/wcwidth.m4: Likewise.
14751         * modules/posix_spawn: Likewise.
14752         * modules/posix_spawn_file_actions_addclose: Likewise.
14753         * modules/posix_spawn_file_actions_adddup2: Likewise.
14754         * modules/posix_spawn_file_actions_addopen: Likewise.
14755         * modules/posix_spawn_file_actions_destroy: Likewise.
14756         * modules/posix_spawn_file_actions_init: Likewise.
14757         * modules/posix_spawnattr_destroy: Likewise.
14758         * modules/posix_spawnattr_getflags: Likewise.
14759         * modules/posix_spawnattr_getpgroup: Likewise.
14760         * modules/posix_spawnattr_getschedparam: Likewise.
14761         * modules/posix_spawnattr_getschedpolicy: Likewise.
14762         * modules/posix_spawnattr_getsigdefault: Likewise.
14763         * modules/posix_spawnattr_getsigmask: Likewise.
14764         * modules/posix_spawnattr_init: Likewise.
14765         * modules/posix_spawnattr_setflags: Likewise.
14766         * modules/posix_spawnattr_setpgroup: Likewise.
14767         * modules/posix_spawnattr_setschedparam: Likewise.
14768         * modules/posix_spawnattr_setschedpolicy: Likewise.
14769         * modules/posix_spawnattr_setsigdefault: Likewise.
14770         * modules/posix_spawnattr_setsigmask: Likewise.
14771         * modules/posix_spawnp: Likewise.
14772
14773 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
14774
14775         Add option to do-release-commit-and-tag to specify branch.
14776         * build-aux/do-release-commit-and-tag: Add --branch.
14777
14778 2011-05-03  Bruno Haible  <bruno@clisp.org>
14779
14780         Avoid unnecessary compilation units, through conditional dependencies.
14781         * modules/accept (Depends-on): Add conditions to the dependencies.
14782         * modules/acosl (Depends-on): Likewise.
14783         * modules/argz (Depends-on): Likewise.
14784         * modules/asinl (Depends-on): Likewise.
14785         * modules/atanl (Depends-on): Likewise.
14786         * modules/atoll (Depends-on): Likewise.
14787         * modules/bind (Depends-on): Likewise.
14788         * modules/btowc (Depends-on): Likewise.
14789         * modules/canonicalize-lgpl (Depends-on): Likewise.
14790         * modules/ceil (Depends-on): Likewise.
14791         * modules/ceilf (Depends-on): Likewise.
14792         * modules/ceill (Depends-on): Likewise.
14793         * modules/chdir-long (Depends-on): Likewise.
14794         * modules/chown (Depends-on): Likewise.
14795         * modules/close (Depends-on): Likewise.
14796         * modules/connect (Depends-on): Likewise.
14797         * modules/cosl (Depends-on): Likewise.
14798         * modules/dirfd (Depends-on): Likewise.
14799         * modules/dprintf (Depends-on): Likewise.
14800         * modules/dprintf-posix (Depends-on): Likewise.
14801         * modules/error (Depends-on): Likewise.
14802         * modules/euidaccess (Depends-on): Likewise.
14803         * modules/expl (Depends-on): Likewise.
14804         * modules/faccessat (Depends-on): Likewise.
14805         * modules/fchdir (Depends-on): Likewise.
14806         * modules/fclose (Depends-on): Likewise.
14807         * modules/fcntl (Depends-on): Likewise.
14808         * modules/fdopendir (Depends-on): Likewise.
14809         * modules/fflush (Depends-on): Likewise.
14810         * modules/floor (Depends-on): Likewise.
14811         * modules/floorf (Depends-on): Likewise.
14812         * modules/floorl (Depends-on): Likewise.
14813         * modules/fnmatch (Depends-on): Likewise.
14814         * modules/fopen (Depends-on): Likewise.
14815         * modules/fprintf-posix (Depends-on): Likewise.
14816         * modules/frexp (Depends-on): Likewise.
14817         * modules/frexp-nolibm (Depends-on): Likewise.
14818         * modules/frexpl (Depends-on): Likewise.
14819         * modules/frexpl-nolibm (Depends-on): Likewise.
14820         * modules/fseek (Depends-on): Likewise.
14821         * modules/fsusage (Depends-on): Likewise.
14822         * modules/ftell (Depends-on): Likewise.
14823         * modules/ftello (Depends-on): Likewise.
14824         * modules/futimens (Depends-on): Likewise.
14825         * modules/getcwd (Depends-on): Likewise.
14826         * modules/getcwd-lgpl (Depends-on): Likewise.
14827         * modules/getdelim (Depends-on): Likewise.
14828         * modules/getdomainname (Depends-on): Likewise.
14829         * modules/getgroups (Depends-on): Likewise.
14830         * modules/gethostname (Depends-on): Likewise.
14831         * modules/getline (Depends-on): Likewise.
14832         * modules/getlogin_r (Depends-on): Likewise.
14833         * modules/getopt-posix (Depends-on): Likewise.
14834         * modules/getpeername (Depends-on): Likewise.
14835         * modules/getsockname (Depends-on): Likewise.
14836         * modules/getsockopt (Depends-on): Likewise.
14837         * modules/getsubopt (Depends-on): Likewise.
14838         * modules/getusershell (Depends-on): Likewise.
14839         * modules/glob (Depends-on): Likewise.
14840         * modules/grantpt (Depends-on): Likewise.
14841         * modules/iconv_open (Depends-on): Likewise.
14842         * modules/iconv_open-utf (Depends-on): Likewise.
14843         * modules/inet_ntop (Depends-on): Likewise.
14844         * modules/inet_pton (Depends-on): Likewise.
14845         * modules/ioctl (Depends-on): Likewise.
14846         * modules/isapipe (Depends-on): Likewise.
14847         * modules/isfinite (Depends-on): Likewise.
14848         * modules/isinf (Depends-on): Likewise.
14849         * modules/lchown (Depends-on): Likewise.
14850         * modules/ldexpl (Depends-on): Likewise.
14851         * modules/link (Depends-on): Likewise.
14852         * modules/linkat (Depends-on): Likewise.
14853         * modules/listen (Depends-on): Likewise.
14854         * modules/logl (Depends-on): Likewise.
14855         * modules/lstat (Depends-on): Likewise.
14856         * modules/mbrlen (Depends-on): Likewise.
14857         * modules/mbrtowc (Depends-on): Likewise.
14858         * modules/mbsinit (Depends-on): Likewise.
14859         * modules/mbsnrtowcs (Depends-on): Likewise.
14860         * modules/mbsrtowcs (Depends-on): Likewise.
14861         * modules/mbtowc (Depends-on): Likewise.
14862         * modules/memcmp (Depends-on): Likewise.
14863         * modules/mkdir (Depends-on): Likewise.
14864         * modules/mkdtemp (Depends-on): Likewise.
14865         * modules/mkfifo (Depends-on): Likewise.
14866         * modules/mkfifoat (Depends-on): Likewise.
14867         * modules/mknod (Depends-on): Likewise.
14868         * modules/mkostemp (Depends-on): Likewise.
14869         * modules/mkostemps (Depends-on): Likewise.
14870         * modules/mkstemp (Depends-on): Likewise.
14871         * modules/mkstemps (Depends-on): Likewise.
14872         * modules/mktime (Depends-on): Likewise.
14873         * modules/nanosleep (Depends-on): Likewise.
14874         * modules/open (Depends-on): Likewise.
14875         * modules/openat (Depends-on): Likewise.
14876         * modules/perror (Depends-on): Likewise.
14877         * modules/poll (Depends-on): Likewise.
14878         * modules/popen (Depends-on): Likewise.
14879         * modules/posix_spawn (Depends-on): Likewise.
14880         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
14881         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
14882         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
14883         * modules/posix_spawnp (Depends-on): Likewise.
14884         * modules/pread (Depends-on): Likewise.
14885         * modules/printf-posix (Depends-on): Likewise.
14886         * modules/ptsname (Depends-on): Likewise.
14887         * modules/putenv (Depends-on): Likewise.
14888         * modules/pwrite (Depends-on): Likewise.
14889         * modules/readline (Depends-on): Likewise.
14890         * modules/readlink (Depends-on): Likewise.
14891         * modules/readlinkat (Depends-on): Likewise.
14892         * modules/recv (Depends-on): Likewise.
14893         * modules/recvfrom (Depends-on): Likewise.
14894         * modules/regex (Depends-on): Likewise.
14895         * modules/remove (Depends-on): Likewise.
14896         * modules/rename (Depends-on): Likewise.
14897         * modules/renameat (Depends-on): Likewise.
14898         * modules/rmdir (Depends-on): Likewise.
14899         * modules/round (Depends-on): Likewise.
14900         * modules/roundf (Depends-on): Likewise.
14901         * modules/roundl (Depends-on): Likewise.
14902         * modules/rpmatch (Depends-on): Likewise.
14903         * modules/select (Depends-on): Likewise.
14904         * modules/send (Depends-on): Likewise.
14905         * modules/sendto (Depends-on): Likewise.
14906         * modules/setenv (Depends-on): Likewise.
14907         * modules/setlocale (Depends-on): Likewise.
14908         * modules/setsockopt (Depends-on): Likewise.
14909         * modules/shutdown (Depends-on): Likewise.
14910         * modules/sigaction (Depends-on): Likewise.
14911         * modules/signbit (Depends-on): Likewise.
14912         * modules/sigprocmask (Depends-on): Likewise.
14913         * modules/sinl (Depends-on): Likewise.
14914         * modules/sleep (Depends-on): Likewise.
14915         * modules/snprintf (Depends-on): Likewise.
14916         * modules/snprintf-posix (Depends-on): Likewise.
14917         * modules/socket (Depends-on): Likewise.
14918         * modules/sprintf-posix (Depends-on): Likewise.
14919         * modules/sqrtl (Depends-on): Likewise.
14920         * modules/stat (Depends-on): Likewise.
14921         * modules/strchrnul (Depends-on): Likewise.
14922         * modules/strdup-posix (Depends-on): Likewise.
14923         * modules/strerror (Depends-on): Likewise.
14924         * modules/strerror_r-posix (Depends-on): Likewise.
14925         * modules/strndup (Depends-on): Likewise.
14926         * modules/strnlen (Depends-on): Likewise.
14927         * modules/strptime (Depends-on): Likewise.
14928         * modules/strsep (Depends-on): Likewise.
14929         * modules/strsignal (Depends-on): Likewise.
14930         * modules/strstr-simple (Depends-on): Likewise.
14931         * modules/strtod (Depends-on): Likewise.
14932         * modules/strtoimax (Depends-on): Likewise.
14933         * modules/strtok_r (Depends-on): Likewise.
14934         * modules/strtoumax (Depends-on): Likewise.
14935         * modules/symlink (Depends-on): Likewise.
14936         * modules/symlinkat (Depends-on): Likewise.
14937         * modules/tanl (Depends-on): Likewise.
14938         * modules/tcgetsid (Depends-on): Likewise.
14939         * modules/tmpfile (Depends-on): Likewise.
14940         * modules/trunc (Depends-on): Likewise.
14941         * modules/truncf (Depends-on): Likewise.
14942         * modules/truncl (Depends-on): Likewise.
14943         * modules/uname (Depends-on): Likewise.
14944         * modules/unlink (Depends-on): Likewise.
14945         * modules/unlockpt (Depends-on): Likewise.
14946         * modules/unsetenv (Depends-on): Likewise.
14947         * modules/usleep (Depends-on): Likewise.
14948         * modules/utimensat (Depends-on): Likewise.
14949         * modules/vasprintf (Depends-on): Likewise.
14950         * modules/vdprintf (Depends-on): Likewise.
14951         * modules/vdprintf-posix (Depends-on): Likewise.
14952         * modules/vfprintf-posix (Depends-on): Likewise.
14953         * modules/vprintf-posix (Depends-on): Likewise.
14954         * modules/vsnprintf (Depends-on): Likewise.
14955         * modules/vsnprintf-posix (Depends-on): Likewise.
14956         * modules/vsprintf-posix (Depends-on): Likewise.
14957         * modules/wcrtomb (Depends-on): Likewise.
14958         * modules/wcscasecmp (Depends-on): Likewise.
14959         * modules/wcscspn (Depends-on): Likewise.
14960         * modules/wcsdup (Depends-on): Likewise.
14961         * modules/wcsncasecmp (Depends-on): Likewise.
14962         * modules/wcsnrtombs (Depends-on): Likewise.
14963         * modules/wcspbrk (Depends-on): Likewise.
14964         * modules/wcsrtombs (Depends-on): Likewise.
14965         * modules/wcsspn (Depends-on): Likewise.
14966         * modules/wcsstr (Depends-on): Likewise.
14967         * modules/wcstok (Depends-on): Likewise.
14968         * modules/wcswidth (Depends-on): Likewise.
14969         * modules/wctob (Depends-on): Likewise.
14970         * modules/wctomb (Depends-on): Likewise.
14971         * modules/wctype (Depends-on): Likewise.
14972         * modules/wcwidth (Depends-on): Likewise.
14973         * modules/write (Depends-on): Likewise.
14974
14975 2011-05-03  Bruno Haible  <bruno@clisp.org>
14976
14977         Support for conditional dependencies.
14978         * doc/gnulib.texi (Module description): Document the syntax of
14979         conditional dependencies.
14980         * gnulib-tool: New option --conditional-dependencies.
14981         (func_usage): Document it.
14982         (cond_dependencies): New variable.
14983         (func_get_automake_snippet_conditional,
14984         func_get_automake_snippet_unconditional): New functions, extracted from
14985         func_get_automake_snippet.
14986         (func_get_automake_snippet): Use them.
14987         (sed_first_32_chars): New variable.
14988         (func_module_shellfunc_name): New function.
14989         (func_module_shellvar_name): New function.
14990         (func_module_conditional_name): New function.
14991         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
14992         func_cond_module_condition): New functions.
14993         (func_modules_transitive_closure): Add support for conditional
14994         dependencies.
14995         (func_emit_lib_Makefile_am): For a conditional module, enclose the
14996         conditional automake snippet in an automake conditional.
14997         (func_emit_autoconf_snippets): Emit shell functions that contain the
14998         code for conditional modules.
14999         (func_import, func_create_testdir): Update specification.
15000
15001 2011-05-03  Eric Blake  <eblake@redhat.com>
15002
15003         test-getaddrinfo: report error information
15004         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15005
15006 2011-05-03  Jim Meyering  <meyering@redhat.com>
15007
15008         bootstrap: avoid build failure when $GZIP is set
15009         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15010         program name.  If defined at all, it is supposed to list gzip options.
15011         Reported by Alan Curry in http://debbugs.gnu.org/8609
15012
15013 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15014
15015         readme-release: new module with release instructions
15016         * modules/readme-release: New module.
15017         * top/README-release: New file, from coreutils, grep, diffutils.
15018         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15019
15020 2011-05-02  Eric Blake  <eblake@redhat.com>
15021
15022         fflush: also replace fclose when fixing fflush
15023         * modules/fflush (Depends-on): Add fclose.
15024         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15025         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15026         memstreams with no backing fd.
15027         * doc/posix-functions/fclose.texi (fclose): Document the use of
15028         fflush module to fix the bug.
15029         * tests/test-fclose.c (main): Relax test when fclose is used in
15030         isolation.
15031
15032         fclose: add some tests
15033         * modules/fclose-tests: New test module.
15034         * tests/test-fclose.c: New file.
15035         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15036
15037         fclose: reduced dependencies
15038         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15039         simpler lseek.
15040         * lib/fclose.c (rpl_fclose): Likewise.
15041         Reported by Simon Josefsson.
15042
15043         exit: drop remaining clients
15044         * modules/argmatch (Depends-on): Replace exit with stdlib.
15045         * modules/copy-file (Depends-on): Likewise.
15046         * modules/execute (Depends-on): Likewise.
15047         * modules/exitfail (Depends-on): Likewise.
15048         * modules/obstack (Depends-on): Likewise.
15049         * modules/pagealign_alloc (Depends-on): Likewise.
15050         * modules/pipe-filter-gi (Depends-on): Likewise.
15051         * modules/pipe-filter-ii (Depends-on): Likewise.
15052         * modules/savewd (Depends-on): Likewise.
15053         * modules/spawn-pipe (Depends-on): Likewise.
15054         * modules/wait-process (Depends-on): Likewise.
15055         * modules/xsetenv (Depends-on): Likewise.
15056         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15057         * modules/git-merge-changelog (Depends-on): Likewise.
15058         * modules/long-options (Depends-on): Likewise.
15059         * modules/pt_chown (Depends-on): Likewise.
15060         * modules/sysexits (Depends-on): Likewise.
15061
15062         freading: relax license from LGPLv3+ to LGPLv2+
15063         * modules/freading (License): Relax LGPL version.
15064
15065 2011-05-02  Bruno Haible  <bruno@clisp.org>
15066
15067         fchdir: Remove unused dependencies.
15068         * modules/fchdir (Depends-on): Remove include_next.
15069
15070 2011-05-02  Bruno Haible  <bruno@clisp.org>
15071
15072         gnulib-tool: Refactor.
15073         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15074         from func_emit_autoconf_snippets.
15075         (func_emit_autoconf_snippets): Use it.
15076
15077 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15078
15079         * NEWS: Document removal of 'exit'.
15080         * modules/exit: Remove file.
15081
15082 2011-05-01  Bruno Haible  <bruno@clisp.org>
15083
15084         Update DEPENDENCIES.
15085         * DEPENDENCIES (gettext): Recommend the newest release.
15086         Reported by Simon Josefsson.
15087
15088 2011-05-01  Bruno Haible  <bruno@clisp.org>
15089
15090         gnulib-tool: Reduce code duplication.
15091         * gnulib-tool (func_emit_autoconf_snippets): New function.
15092         (func_import, func_create_testdir): Use it.
15093
15094 2011-04-30  Eric Blake  <eblake@redhat.com>
15095
15096         fclose: don't fail on non-seekable input stream
15097         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15098         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15099         since fflush is allowed to fail in that case.
15100
15101 2011-04-30  Bruno Haible  <bruno@clisp.org>
15102
15103         dup3: cleanup
15104         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15105
15106 2011-04-30  Bruno Haible  <bruno@clisp.org>
15107
15108         netdb: Make it work in C++ mode.
15109         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15110         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15111         module.
15112         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15113         gl_MODULE_INDICATOR_FOR_TESTS.
15114         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15115         * modules/netdb-c++-tests: New file.
15116         * tests/test-netdb-c++.cc: New file.
15117
15118 2011-04-30  Bruno Haible  <bruno@clisp.org>
15119
15120         New modules 'vfscanf', 'vscanf'.
15121         * modules/vfscanf: New file.
15122         * modules/vscanf: New file.
15123         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15124         here.
15125         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15126         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15127
15128 2011-04-30  Bruno Haible  <bruno@clisp.org>
15129
15130         passfd: Add comments.
15131         * lib/passfd.c: Add comments about platforms.
15132
15133 2011-04-30  Bruno Haible  <bruno@clisp.org>
15134
15135         sys_uio: Make <sys/uio.h> self-contained.
15136         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15137         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15138
15139 2011-04-30  Bruno Haible  <bruno@clisp.org>
15140
15141         sys_socket: Ensure 'struct iovec' definition.
15142         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15143         <sys/socket.h>.
15144         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15145
15146 2011-04-30  Bruno Haible  <bruno@clisp.org>
15147
15148         sys_uio: Protect definition of 'struct iovec'.
15149         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15150         it as a C struct.
15151
15152 2011-04-30  Bruno Haible  <bruno@clisp.org>
15153
15154         manywarnings: fix indentation
15155         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15156
15157 2011-04-30  Pádraig Brady <P@draigBrady.com>
15158
15159         manywarnings: add -Wno-missing-field-initializers if needed.
15160         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15161         option if it's needed to allow initialization with { 0, }
15162
15163 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15164
15165         announce-gen: cosmetic improvement
15166         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15167
15168 2011-04-29  Jim Meyering  <meyering@redhat.com>
15169
15170         vc-list-files: indent with spaces, not TABs
15171         * build-aux/vc-list-files: Convert leading TABs to spaces,
15172         to match the style of most other files in gnulib.
15173
15174         announce-gen: indent with spaces, not TABs
15175         * build-aux/announce-gen: Convert all TABs to spaces, to match
15176         the style of most other files in gnulib.
15177
15178 2011-04-29  Eric Blake  <eblake@redhat.com>
15179
15180         quotearg: avoid uninitialized variable use
15181         * lib/quotearg.c (quoting_options_from_style): Initialize
15182         remaining fields, and ensure that custom styles are only used via
15183         quoting_options rather than quoting_style.
15184
15185 2011-04-29  Jim Meyering  <meyering@redhat.com>
15186
15187         maint.mk: remove unused VC-tag variable
15188         * top/maint.mk (VC-tag): Remove unused variable.
15189
15190 2011-04-29  Bruno Haible  <bruno@clisp.org>
15191
15192         netdb: fix gai_strerror replacements
15193         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15194         * modules/netdb: Substitute it.
15195
15196 2011-04-29  Jim Meyering  <meyering@redhat.com>
15197
15198         test-getcwd.c: avoid new set-but-not-used warning
15199         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15200         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15201         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15202         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15203
15204         test-hash.c: avoid a new shadowing warning
15205         * tests/test-hash.c (main): Don't shadow "dup".
15206
15207 2011-04-28  Eric Blake  <eblake@redhat.com>
15208
15209         getaddrinfo: fix gai_strerror signature
15210         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15211         and work around mingw with UNICODE defined.
15212         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15213         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15214         * modules/netdb (Makefile.am): Substitute it.
15215         * lib/netdb.in.h (gai_strerror): Declare replacement.
15216         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15217         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15218         the fix.
15219
15220         getsockopt: avoid compiler warning
15221         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15222         Reported by Matthias Bolte.
15223
15224         tests: drop unused link dependency
15225         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15226         * modules/dirent-safer-tests (Makefile.am): Likewise.
15227         * modules/fdopendir-tests (Makefile.am): Likewise.
15228         * modules/mkfifoat-tests (Makefile.am): Likewise.
15229         * modules/openat-safer-tests (Makefile.am): Likewise.
15230         * modules/openat-tests (Makefile.am): Likewise.
15231         * modules/readlinkat-tests (Makefile.am): Likewise.
15232         * modules/symlinkat-tests (Makefile.am): Likewise.
15233         * modules/linkat-tests (Makefile.am): Likewise.
15234         (Depends-on): Switch to filenamecat-lgpl.
15235         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15236         LIBINTL.
15237         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15238         * tests/test-linkat.c (main): Don't require xalloc.
15239
15240         hash, mgetgroups: drop xalloc dependency
15241         * lib/hash.c (includes): Adjust includes.
15242         * lib/mgetgroups.c (includes): Likewise.
15243         (xgetgroups): Move...
15244         * lib/xgetgroups.c: ...to new file.
15245         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15246         * modules/xgetgroups: New file, split from...
15247         * modules/mgetgroups: ...here.
15248         (Depends-on): Add xalloc-oversized.
15249         * modules/hash (Depends-on): Likewise.
15250         * modules/hash-tests (Depends-on): Drop xalloc.
15251         (test_hash_LDADD): Drop unused library.
15252         * tests/test-hash.c (main): Break xalloc dependency.
15253         (includes): Drop unused include.
15254
15255         xalloc-oversized: new module
15256         * modules/xalloc-oversized: New module.
15257         * modules/xalloc (Depends-on): Add it.
15258         * lib/xalloc.h (xalloc_oversized): Move...
15259         * lib/xalloc-oversized.h: ...into new file.
15260
15261         utimecmp: drop dependency on xmalloc
15262         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15263         due to memory pressure.
15264         * modules/utimecmp (Depends-on): Drop xalloc.
15265
15266 2011-04-27  Eric Blake  <eblake@redhat.com>
15267
15268         getcwd: fix mingw bugs
15269         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15270         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15271         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15272
15273 2011-04-27  Bruno Haible  <bruno@clisp.org>
15274
15275         mkstemps: Ensure declaration on MacOS X 10.5.
15276         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15277         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15278         MacOS X.
15279
15280 2011-04-27  Bruno Haible  <bruno@clisp.org>
15281
15282         mkstemp: More documentation.
15283         * doc/posix-functions/mkstemp.texi: Document header file problem on
15284         MacOS X.
15285
15286 2011-04-27  Bruno Haible  <bruno@clisp.org>
15287
15288         mkstemp: Tweak configure message when cross-compiling.
15289         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15290         result as a guess.
15291
15292 2011-04-27  Bruno Haible  <bruno@clisp.org>
15293
15294         clean-temp: Clarify what it does.
15295         * lib/clean-temp.h: Add more comments.
15296         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15297         module.
15298         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15299         * doc/glibc-functions/mkstemps.texi: Likewise.
15300         * doc/glibc-functions/mkostemps.texi: Likewise.
15301
15302 2011-04-27  Eric Blake  <eblake@redhat.com>
15303
15304         fchdir: avoid extra chdir and fix test
15305         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15306         getcwd-lgpl.
15307         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15308         have to be canonical.
15309         (canonicalize_file_name): Drop unused macro.
15310         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15311
15312         filenamecat-lgpl: fix licence
15313         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15314         when it was first created.
15315
15316         linkat, renameat: add missing dependency
15317         * modules/linkat (Depends-on): Require getcwd-lgpl.
15318         * modules/renameat (Depends-on): Likewise.
15319
15320         tests: reduce dependencies
15321         * tests/test-linkat.c (main): Use lighter-weight getcwd.
15322         * tests/test-renameat.c (main): Likewise.
15323         * modules/linkat-tests (Depends-on): Relax dependency.
15324         * modules/renameat-tests (Depends-on): Likewise.
15325         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
15326         dependency explicit.
15327
15328         save-cwd: reduce default dependency
15329         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
15330         * lib/save-cwd.c: Update comments.
15331         * NEWS: Document the semantic change.
15332
15333         getcwd: enhance tests
15334         * tests/test-getcwd-lgpl.c: New file, taken from...
15335         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15336         repeat long path stress tests from m4 probe.
15337         * modules/getcwd-lgpl-tests: New module.
15338         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15339         * m4/getcwd-abort-bug.m4: Update comment.
15340         * m4/getcwd-path-max.m4: Likewise.
15341
15342         getcwd-lgpl: new module
15343         * modules/getcwd-lgpl: New module.
15344         * lib/getcwd-lgpl.c: New file.
15345         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15346         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15347         * modules/getcwd (configure.ac): Set C witness.
15348         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15349
15350         getcwd: tweak comments
15351         * m4/getcwd-abort-bug.m4: Fix comments.
15352         * m4/getcwd-path-max.m4: Likewise.
15353         * m4/getcwd.m4: Likewise.
15354
15355 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15356         and Eric Blake  <eblake@redhat.com>
15357
15358         mkstemp: replace if system version uses wrong permissions
15359         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
15360         read/write mode bits set in file created by mkstemp.
15361         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
15362
15363 2011-04-27  Eric Blake  <eblake@redhat.com>
15364
15365         passfd: avoid compiler warning
15366         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
15367         Reported by Laine Stump.
15368
15369 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
15370
15371         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
15372         required by the NetBSD (and perhaps other 4.4BSD derived) join.
15373
15374 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15375         and Eric Blake  <eblake@redhat.com>
15376
15377         mkstemp: mention clean-temp module
15378         * lib/mkstemp.c: Add comment.
15379         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
15380
15381 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
15382
15383         inttypes: also provide default values for 32-bit tests
15384         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
15385         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
15386
15387 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15388
15389         strtoumax: remove dependency on strtoimax
15390         This is like the strtoull change of yesterday.
15391         * modules/strtoumax (Files): Add lib/strtoimax.c.
15392         (Depends-on): Remove strtoimax and add verify.
15393
15394         inttypes-incomplete: new module
15395         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
15396         all but the PRI* and SCN* parts of gl_INTTYPES_H.
15397         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
15398         of gl_INTTYPES_H.
15399         (gl_INTTYPES_H): Rewrite in terms of these new macros.
15400         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
15401         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
15402         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
15403         * modules/strtoumax, modules/xstrtol (Depends-on):
15404         Depend on inttypes-incomplete, not inttypes.
15405         * modules/inttypes-incomplete: New module, containing the contents
15406         of the old modules/inttypes module, except that the Files: section
15407         omits m4/inttypes-pri.m4, and the configure.ac section invokes
15408         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
15409         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
15410         (Depends-on): Depend only on inttypes-incomplete.
15411         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
15412
15413         inttypes: omit now-redundant strtoimax and strtoumax work
15414         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
15415         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
15416
15417         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
15418         This supports apps that need pointers to strtoimax and strtoumax,
15419         and ports to HP-UX 11.00 64.bit, which has macros that expand to
15420         nonexistent functions.  See
15421         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
15422         et seq.
15423         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
15424         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
15425         a macro.
15426         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15427
15428 2011-04-25  Simon Josefsson  <simon@josefsson.org>
15429
15430         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
15431
15432 2011-04-25  Bruno Haible  <bruno@clisp.org>
15433
15434         strtol, strtoul: Mark modules as obsolete.
15435         * modules/strtol (Status, Notice): New sections.
15436         * modules/strtoul (Status, Notice): New sections.
15437
15438 2011-04-25  Bruno Haible  <bruno@clisp.org>
15439
15440         strtod: Remove check for strtod, unless supporting old platforms.
15441         * modules/strtod-obsolete: New file.
15442         * m4/strtod-obsolete.m4: New file.
15443         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
15444         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
15445         * modules/strtod (Depends-on): Add strtod-obsolete.
15446         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
15447
15448 2011-04-25  Bruno Haible  <bruno@clisp.org>
15449
15450         strcase: Make module obsolete.
15451         * modules/strcase (Status, Notice): New sections.
15452
15453 2011-04-25  Bruno Haible  <bruno@clisp.org>
15454
15455         dup2: Remove check for dup2, unless supporting old obsolete platforms.
15456         * modules/dup2-obsolete: New file.
15457         * m4/dup2-obsolete.m4: New file.
15458         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
15459         gl_FUNC_DUP2_OBSOLETE is not also defined.
15460         * modules/dup2 (Depends-on): Add dup2-obsolete.
15461         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
15462
15463 2011-04-25  Bruno Haible  <bruno@clisp.org>
15464
15465         strnlen: Avoid memchr related link error on old obsolete platforms.
15466         * modules/memchr-obsolete: New file.
15467         * m4/memchr-obsolete.m4: New file.
15468         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
15469         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
15470         * modules/memchr (Depends-on): Add memchr-obsolete.
15471         * modules/strnlen (Depends-on): Likewise.
15472         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
15473
15474 2011-04-25  Jim Meyering  <meyering@redhat.com>
15475
15476         maint.mk: makefile_at_at_check extend and clean up
15477         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
15478         in addition to */Makefile.am.
15479         Exempt legitimate uses of @VAR@ notation, e.g.,
15480         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
15481         Remove obsolete coreutils-specific comment.
15482         Prompted by discussion here:
15483         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
15484
15485 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15486
15487         strtoul: remove dependency on strtol
15488         This is so that 'configure' need not check for strtol merely because
15489         the application needs strtoul.
15490         * modules/strtoul (Files): Add lib/strtol.c.
15491         (Depends-on): Remove strtol.
15492
15493         strtoull: remove dependency on strtoul
15494         This is like the strtoll change.
15495         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
15496         (Depends-on): Remove strtoul.
15497
15498         strtoll: remove dependency on strtol
15499         This is so that 'configure' need not check for strtol merely because
15500         the application needs strtoll.
15501         * modules/strtoll (Files): Add lib/strtol.c.
15502         (Depends-on): Remove strtol.
15503
15504 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15505
15506         inttypes: Move some configure check to module 'imaxdiv'.
15507         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
15508         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
15509         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
15510
15511 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15512
15513         inttypes: Move some configure check to module 'imaxabs'.
15514         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
15515         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
15516         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
15517
15518 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15519
15520         inttypes: Remove configure tests that are not needed since 2009-12-31.
15521         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
15522         gl_cv_header_working_inttypes_h.
15523
15524 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15525
15526         * modules/strnlen (Depends-on): Remove memchr.
15527         The strnlen implementation doesn't need the memchr module's fixes; see
15528         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
15529
15530         strtol: remove dependency on wchar
15531         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
15532         * modules/strtol (Depends-on): Remove wchar.
15533
15534 2011-04-21  Eric Blake  <eblake@redhat.com>
15535
15536         passfd: fix test regression on Linux
15537         * modules/passfd-tests (configure.ac): Correct socketpair check.
15538
15539         passfd: speed up configure and drop unused code
15540         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
15541         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
15542         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
15543         Instead of probing at configure for unix_scm_rights_bsd44_way,
15544         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
15545         check to a struct member probe.
15546         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
15547         (sendfd, recvfd): Update preprocessor checks.
15548         * modules/passfd (Files): Reflect rename, and drop unused file.
15549         (Depends-on): Drop unused dependency.
15550
15551         passfd: allow compilation on mingw
15552         * modules/sys_socket (Depends-on): Add sys_uio.
15553         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
15554         iovec and a minimal struct msghdr.
15555         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
15556         * tests/test-sys_socket.c (main): Enhance test.
15557         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
15558         guaranteed to provide what we need.
15559         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
15560         * modules/passfd-tests (Depends-on): Add sys_wait.
15561         * tests/test-passfd.c (main): Skip test on mingw, for now.
15562         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
15563         partial 'struct msghdr' implementation.
15564
15565         sys_uio: new module
15566         * modules/sys_uio: New module.
15567         * modules/sys_uio-tests: Likewise.
15568         * lib/sys_uio.in.h: New file.
15569         * m4/sys_uio_h.m4: Likewise.
15570         * tests/test-sys_uio.c: Likewise.
15571         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
15572         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
15573
15574 2011-04-20  Jim Meyering  <meyering@redhat.com>
15575
15576         useless-if-before-free: avoid false-positive
15577         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
15578         disjunct so that it too requires a terminating ";".  Without that,
15579         this script would identify as useless one statement from gcc that
15580         was not:
15581           if (aligned_ptr)
15582             free (((void **) aligned_ptr) [-1]);
15583
15584 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
15585
15586         doc: update users.txt.
15587         * users.txt: Add barcode.
15588
15589 2011-04-19  Bruno Haible  <bruno@clisp.org>
15590
15591         ioctl: Remove link dependency on native Windows.
15592         * lib/fd-hook.h: Renamed from lib/close-hook.h.
15593         (gl_close_fn, gl_ioctl_fn): New types.
15594         (struct fd_hook): Renamed from struct close_hook. Change type of
15595         private_close_fn field. Add private_ioctl_fn field.
15596         (close_hook_fn): Add parameter for primary close method.
15597         (execute_close_hooks, execute_all_close_hooks): Likewise.
15598         (ioctl_hook_fn): New type.
15599         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
15600         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15601         argument.
15602         (unregister_fd_hook): Renamed from unregister_close_hook.
15603         * lib/fd-hook.c: Renamed from lib/close-hook.c.
15604         Don't include <unistd.h>.
15605         (close): Remove undef.
15606         (anchor): Update.
15607         (execute_close_hooks): Add argument for primary close method.
15608         (execute_all_close_hooks): Likewise.
15609         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
15610         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15611         argument. Allow each argument to be NULL.
15612         (unregister_fd_hook): Renamed from unregister_close_hook.
15613         * lib/close.c (rpl_close): Pass 'close' function pointer to
15614         execute_all_close_hooks.
15615         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
15616         (primary_ioctl): New function.
15617         (ioctl): Don't call ioctlsocket here. Instead, call
15618         execute_all_ioctl_hooks.
15619         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
15620         close method.
15621         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
15622         (fd_sockets_hook): Renamed from close_sockets_hook.
15623         (gl_sockets_startup, gl_sockets_cleanup): Update.
15624         * modules/fd-hook: Renamed from modules/close-hook. Update.
15625         * modules/close (Depends-on): Add fd-hook, remove close-hook.
15626         * modules/sockets (Depends-on): Likewise.
15627         * modules/ioctl (Depends-on): Add fd-hook.
15628         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
15629         GNULIB_SOCKET.
15630
15631 2011-04-19  Bruno Haible  <bruno@clisp.org>
15632
15633         Move the support of O_NONBLOCK in open() to the 'open' module.
15634         * modules/nonblocking (Depends-on): Remove 'open'.
15635         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
15636         gl_cv_have_open_O_NONBLOCK.
15637         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
15638         O_NONBLOCK support.
15639         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
15640
15641 2011-04-17  Bruno Haible  <bruno@clisp.org>
15642
15643         pipe2: Simplify code.
15644         * lib/pipe2.c (pipe2): Reduce code duplication.
15645
15646 2011-04-17  Bruno Haible  <bruno@clisp.org>
15647
15648         nonblocking: Add comment.
15649         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
15650
15651 2011-04-17  Bruno Haible  <bruno@clisp.org>
15652
15653         nonblocking: Add tests for sockets.
15654         * tests/test-nonblocking-socket.sh: New file.
15655         * tests/test-nonblocking-socket-main.c: New file.
15656         * tests/test-nonblocking-socket-child.c: New file.
15657         * tests/test-nonblocking-socket.h: New file.
15658         * tests/socket-server.h: New file.
15659         * tests/socket-client.h: New file.
15660         * modules/nonblocking-socket-tests: New file.
15661         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
15662
15663 2011-04-17  Bruno Haible  <bruno@clisp.org>
15664
15665         nonblocking: Add tests for pipes.
15666         * tests/test-nonblocking-pipe.sh: New file.
15667         * tests/test-nonblocking-pipe-main.c: New file.
15668         * tests/test-nonblocking-pipe-child.c: New file.
15669         * tests/test-nonblocking-pipe.h: New file.
15670         * tests/test-nonblocking-writer.h: New file.
15671         * tests/test-nonblocking-reader.h: New file.
15672         * tests/test-nonblocking-misc.h: New file.
15673         * modules/nonblocking-pipe-tests: New file.
15674         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
15675
15676 2011-04-16  Bruno Haible  <bruno@clisp.org>
15677
15678         gettext: Clarify the needed programmer actions.
15679         * modules/gettext (Notice): New field.
15680         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
15681
15682 2011-04-16  Bruno Haible  <bruno@clisp.org>
15683
15684         strchrnul: Tweak last commit.
15685         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
15686         bug.
15687         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
15688         as in _GL_FUNCDECL_SYS.
15689         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
15690         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
15691
15692 2011-04-15  Eric Blake  <eblake@redhat.com>
15693
15694         strchrnul: work around cygwin bug
15695         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
15696         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
15697         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
15698         * modules/string (Makefile.am): Substitute it.
15699         * lib/string.in.h (strchrnul): Use it.
15700
15701 2011-04-15  Bruno Haible  <bruno@clisp.org>
15702
15703         Don't require lib/stdio-write.c when only module 'stdio' is used.
15704         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
15705         invocation.
15706         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
15707
15708 2011-04-14  Bruno Haible  <bruno@clisp.org>
15709
15710         Support non-blocking pipe I/O in read() on native Windows.
15711         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
15712         (read): New declaration.
15713         * lib/read.c: New file.
15714         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
15715         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
15716         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
15717         vscanf): New declarations.
15718         * lib/stdio-read.c: New file.
15719         * m4/read.m4: New file.
15720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
15721         REPLACE_READ.
15722         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
15723         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15724         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
15725         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
15726         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
15727         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15728         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15729         * modules/read: New file.
15730         * modules/nonblocking (Files): Add lib/stdio-read.c.
15731         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
15732         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
15733         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15734         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15735         * modules/pread (Depends-on): Add read.
15736         * modules/safe-read (Depends-on): Likewise.
15737         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
15738         gets, scanf, vfscanf, vscanf): Verify signatures.
15739         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
15740         problem with non-blocking pipes.
15741         * doc/posix-functions/fgetc.texi: Likewise.
15742         * doc/posix-functions/fgets.texi: Likewise.
15743         * doc/posix-functions/fread.texi: Likewise.
15744         * doc/posix-functions/fscanf.texi: Likewise.
15745         * doc/posix-functions/getc.texi: Likewise.
15746         * doc/posix-functions/getchar.texi: Likewise.
15747         * doc/posix-functions/gets.texi: Likewise.
15748         * doc/posix-functions/scanf.texi: Likewise.
15749         * doc/posix-functions/vfscanf.texi: Likewise.
15750         * doc/posix-functions/vscanf.texi: Likewise.
15751
15752 2011-04-14  Bruno Haible  <bruno@clisp.org>
15753
15754         Support non-blocking pipe I/O in write() on native Windows.
15755         * lib/write.c (rpl_write): Split a write request that failed merely
15756         because the byte count was larger than the pipe buffer's size.
15757         * doc/posix-functions/write.texi: Mention the problem with large byte
15758         counts.
15759
15760 2011-04-14  Bruno Haible  <bruno@clisp.org>
15761
15762         wchar: Ensure that wchar_t gets defined on uClibc.
15763         * lib/wchar.in.h: On uClibc, include <stddef.h>.
15764         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
15765
15766 2011-04-13  Bruno Haible  <bruno@clisp.org>
15767
15768         safe-write, full-read: Avoid unnecessary compilation units.
15769         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
15770         (Depends-on): Remove safe-read. Add ssize_t.
15771         * modules/full-read (Files): Add lib/full-write.c.
15772         (Depends-on): Add full-write.
15773
15774 2011-04-13  Bruno Haible  <bruno@clisp.org>
15775
15776         Support non-blocking pipe I/O and SIGPIPE in pwrite().
15777         * modules/pwrite (Depends-on): Add 'write'.
15778
15779 2011-04-13  Bruno Haible  <bruno@clisp.org>
15780
15781         Support non-blocking pipe I/O in write() on native Windows.
15782         * lib/unistd.in.h (write): Enable replacement also if
15783         GNULIB_UNISTD_H_NONBLOCKING is 1.
15784         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
15785         (rpl_write): When failing to write on a non-blocking pipe, change
15786         errno from ENOSPC to EAGAIN.
15787         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
15788         putchar, puts, vfprintf, vprintf): Enable replacement also if
15789         GNULIB_STDIO_H_NONBLOCKING is 1.
15790         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
15791         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
15792         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
15793         CALL_WITH_SIGPIPE_EMULATION.
15794         (CALL_WITH_SIGPIPE_EMULATION): Use them.
15795         * m4/nonblocking.m4: New file.
15796         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
15797         for non-blocking I/O support.
15798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15799         GNULIB_UNISTD_H_NONBLOCKING.
15800         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
15801         required for non-blocking I/O support.
15802         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
15803         * modules/nonblocking (Files): Add m4/nonblocking.m4,
15804         lib/stdio-write.c, m4/asm-underscore.m4.
15805         (Depends-on): Add stdio, unistd.
15806         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
15807         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
15808         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
15809         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
15810         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
15811         problem with non-blocking pipes.
15812         * doc/posix-functions/fputc.texi: Likewise.
15813         * doc/posix-functions/fputs.texi: Likewise.
15814         * doc/posix-functions/fwrite.texi: Likewise.
15815         * doc/posix-functions/printf.texi: Likewise.
15816         * doc/posix-functions/putc.texi: Likewise.
15817         * doc/posix-functions/putchar.texi: Likewise.
15818         * doc/posix-functions/puts.texi: Likewise.
15819         * doc/posix-functions/vfprintf.texi: Likewise.
15820         * doc/posix-functions/vprintf.texi: Likewise.
15821         * doc/posix-functions/write.texi: Likewise.
15822
15823 2011-04-10  Jim Meyering  <meyering@redhat.com>
15824
15825         maint.mk: prohibit doubled words
15826         Detect them also when they're separated by a newline.
15827         There are 3 ways to customize it:
15828           - disable the test on a per file basis, as usual with rules using
15829             $(VC_LIST_EXCEPT)
15830           - replace the default doubled-word-selecting regexp (affects all files)
15831           - ignore a particular file-vs-doubled-word match
15832         I nearly used that last one to ignore the "is is" match in
15833         coreutils' NEWS file, since the text was "ls -is is ..."
15834         To do that, I would have added this line to cfg.mk:
15835           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
15836         but it would have ignored any "is is" match in NEWS.
15837         Low probability, but still...
15838         Instead, I changed the text, slightly:
15839           -  ls -is is now consistent with ls -lis in ignoring values returned
15840           +  "ls -is" is now consistent with ls -lis in ignoring values returned
15841         * top/maint.mk (prohibit_double_word_RE_): Provide default.
15842         (prohibit_doubled_word_): Define.
15843         (sc_prohibit_doubled_word): New rule.
15844         (sc_prohibit_the_the): Remove.  Subsumed by the above.
15845
15846 2011-04-10  Jim Meyering  <meyering@redhat.com>
15847
15848         maint: fix doubled-word typo in comment
15849         * m4/gethostname.m4: s/is is/it is/
15850         * m4/getdomainname.m4: Likewise.
15851
15852 2011-04-10  Jim Meyering  <meyering@redhat.com>
15853
15854         maint: remove doubled word: s/it it/it/
15855         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
15856
15857 2011-04-10  Jim Meyering  <meyering@redhat.com>
15858
15859         maint.mk: remove useless semicolon and backslash
15860         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
15861         semicolon and backslash.
15862
15863 2011-04-10  Bruno Haible  <bruno@clisp.org>
15864
15865         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
15866         * modules/stdint-tests (Depends-on): Add wchar.
15867
15868 2011-04-10  Jim Meyering  <meyering@redhat.com>
15869
15870         maint: remove doubled words in comments, e.g., s/a a/a/
15871         * lib/strptime.c (day_of_the_week): s/the the/the/
15872         * tests/test-chown.h (test_chown): s/a a/a/
15873
15874         test-chown.h: correct a cast
15875         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
15876         when the destination is a stat.st_gid.
15877
15878 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
15879
15880         getaddrinfo: Fix test for sa_len member.
15881         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
15882         include <sys/types.h> before <sys/socket.h>.
15883
15884 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15885
15886         maint: change "can not" to "cannot"
15887         * doc/posix-functions/iconv.texi (iconv): This one crossed line
15888         boundaries.
15889
15890 2011-04-09  Jim Meyering  <meyering@redhat.com>
15891
15892         maint: change "a a" to "a"
15893         * tests/test-lchown.h (test_lchown): s/a a/a/
15894
15895         maint.mk: prohibit \<the the\>
15896         * top/maint.mk (sc_prohibit_the_the): New rule.
15897
15898         maint: fix "the the" in comment
15899         * lib/count-one-bits.h: s/the the/the/
15900
15901         maint: change "can not" to "cannot"
15902         But do not change the occurrences in maintain.texi or in
15903         build-aux/po/Makefile.in.in, which I presume comes from gettext.
15904         * doc/gnulib-tool.texi: s/can not/cannot/
15905         * doc/posix-functions/accept.texi (accept): Likewise.
15906         * doc/posix-functions/socket.texi (socket): Likewise.
15907         * lib/mbrtowc.c: Likewise.
15908
15909         maint.mk: prohibit use of "can not"
15910         * top/maint.mk (sc_prohibit_can_not): New rule.
15911         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
15912
15913 2011-04-09  Bruno Haible  <bruno@clisp.org>
15914
15915         careadlinkat: Guard against misuse of careadlinkatcwd.
15916         * lib/careadlinkat.c: Include <stdlib.h>.
15917         (careadlinkatcwd): Check that the fd argument is as expected.
15918
15919 2011-04-09  Bruno Haible  <bruno@clisp.org>
15920
15921         careadlinkat: Use common coding style.
15922         * lib/careadlinkat.c: Move gnulib includes after system includes.
15923
15924 2011-04-09  Bruno Haible  <bruno@clisp.org>
15925
15926         careadlinkat: Clarify specification.
15927         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
15928         (careadlinkatcwd): Add comment.
15929         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
15930
15931 2011-04-09  Bruno Haible  <bruno@clisp.org>
15932
15933         areadlinkat: Avoid link error on many platforms.
15934         * modules/areadlinkat (Depends-on): Add areadlink.
15935
15936 2011-04-09  Bruno Haible  <bruno@clisp.org>
15937
15938         allocator, careadlinkat: Fix double-inclusion guard.
15939         * lib/allocator.h: Fix double-inclusion guard.
15940         * lib/careadlinkat.h: Likewise.
15941
15942 2011-04-09  Bruno Haible  <bruno@clisp.org>
15943
15944         relocatable-prog-wrapper: Update after module 'areadlink' changed.
15945         * lib/relocwrapper.c: Update dependencies hierarchy.
15946         * build-aux/install-reloc: Update list of files to be compiled.
15947         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
15948         lib/allocator.[hc].
15949
15950 2011-04-08  Eric Blake  <eblake@redhat.com>
15951
15952         strftime: silence gnulib-tool warning
15953         * modules/strftime-tests (Depends-on): Drop automatic dependency.
15954
15955 2011-04-08  Bruno Haible  <bruno@clisp.org>
15956
15957         verify: Fix syntax error with GCC 4.6 in C++ mode.
15958         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
15959         (HAVE_STATIC_ASSERT): New macro.
15960         (verify_true, verify): Use 'static_assert' if it is supported and
15961         '_Static_assert' is not supported.
15962
15963 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
15964
15965         allocator: New module.
15966         * modules/allocator, lib/allocator.c: New files.
15967         * lib/allocator.h (stdlib_allocator): New decl.
15968         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
15969         Remove.  Do not include <stdlib.h>.
15970         (careadlinkat): Use stdlib_allocator instead of rolling our own.
15971         * modules/careadlinkat (Files): Remove lib/allocator.h.
15972         (Depends-on): Add allocator.
15973
15974         stdlib: let modules use system malloc, realloc
15975         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
15976         if !_GL_USE_STDLIB_ALLOC.
15977         (malloc, realloc): Limit this change to a smaller scope.
15978
15979         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
15980         (malloc, realloc): Don't #undef; no longer needed.
15981         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15982         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15983         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15984         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15985         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15986         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15987         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15988         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15989
15990         careadlinkat: rename members to avoid problem
15991         * lib/allocator.h (struct allocator): Rename members from
15992         malloc/realloc to allocate/reallocate, to avoid problems if malloc
15993         and realloc are #define'd.  Reported by Eric Blake in
15994         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
15995         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
15996
15997 2011-04-08  Eric Blake  <eblake@redhat.com>
15998
15999         nonblocking: reduce dependency
16000         * tests/test-nonblocking.c: Only test sockets when in use.
16001         * modules/nonblocking-tests (Depends-on): Drop socket.
16002         (Makefile.am): Link even if sockets are not present.
16003         * modules/pipe2-tests (Makefile.am): Likewise.
16004         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16005
16006         pipe2: fix O_NONBLOCK support on mingw
16007         * modules/pipe2 (Depends-on): Add nonblocking.
16008         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16009         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16010         * tests/test-nonblocking.c (main): Likewise.
16011         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16012
16013         fcntl-h: fix O_ACCMODE on cygwin
16014         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16015         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16016
16017         pipe-filter: drop O_NONBLOCK workarounds
16018         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16019         * modules/pipe-filter-ii (Depends-on): Likewise.
16020         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16021
16022         nonblocking: provide O_NONBLOCK for mingw
16023         * modules/nonblocking (Depends-on): Add open.
16024         (configure.ac): Set new witness macro.
16025         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16026         * modules/fcntl-h (Makefile.am): Substitute it.
16027         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16028         nonblocking module is in use.
16029         * lib/nonblocking.c: Adjust portability test.
16030         * lib/open.c (open): Don't let native open see gnulib flag.
16031         * tests/test-fcntl-h.c (main): Enhance test.
16032         * tests/test-open.h (test_open): Likewise.
16033         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16034
16035         careadlinkat: fix compilation error on mingw
16036         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16037         within struct allocator.
16038
16039 2011-04-06  Eric Blake  <eblake@redhat.com>
16040
16041         binary-io: relicense under LGPLv2+
16042         * modules/binary-io (License): Relax to LGPLv2+.
16043         Requested for libvirt, and required by pipe2.
16044
16045 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16046
16047         verify: use _Static_assert if available
16048         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16049         (verify_true, verify): Use it if available.  This generates better
16050         diagnostics with GCC 4.6.0 and later.
16051
16052 2011-04-05  Bruno Haible  <bruno@clisp.org>
16053
16054         Remove leftover generated .h files after config.status changed.
16055
16056         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16057         GL_GENERATE_ALLOCA_H.
16058         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16059         GL_GENERATE_ALLOCA_H evaluates to false.
16060
16061         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16062         GL_GENERATE_ARGZ_H.
16063         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16064         evaluates to false.
16065
16066         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16067         GL_GENERATE_BYTESWAP_H.
16068         * modules/byteswap (Makefile.am): Remove byteswap.h if
16069         GL_GENERATE_BYTESWAP_H evaluates to false.
16070
16071         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16072         GL_GENERATE_ERRNO_H.
16073         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16074         evaluates to false.
16075
16076         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16077         GL_GENERATE_FLOAT_H.
16078         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16079         evaluates to false.
16080
16081         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16082         GL_GENERATE_FNMATCH_H.
16083         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16084         GL_GENERATE_FNMATCH_H evaluates to false.
16085
16086         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16087         GL_GENERATE_GLOB_H.
16088         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16089         evaluates to false.
16090
16091         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16092         automake conditional GL_GENERATE_ICONV_H.
16093         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16094         evaluates to false.
16095
16096         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16097         GL_GENERATE_NETINET_IN_H.
16098         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16099         GL_GENERATE_NETINET_IN_H evaluates to false.
16100
16101         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16102         conditional GL_GENERATE_PTHREAD_H.
16103         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16104         * modules/pthread (Makefile.am): Remove pthread.h if
16105         GL_GENERATE_PTHREAD_H evaluates to false.
16106
16107         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16108         GL_GENERATE_SCHED_H.
16109         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16110         evaluates to false.
16111
16112         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16113         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16114         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16115         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16116
16117         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16118         GL_GENERATE_STDARG_H.
16119         * modules/stdarg (Makefile.am): Remove stdarg.h if
16120         GL_GENERATE_STDARG_H evaluates to false.
16121
16122         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16123         GL_GENERATE_STDBOOL_H.
16124         * modules/stdbool (Makefile.am): Remove stdbool.h if
16125         GL_GENERATE_STDBOOL_H evaluates to false.
16126
16127         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16128         conditional GL_GENERATE_STDDEF_H.
16129         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16130         * modules/stddef (Makefile.am): Remove stddef.h if
16131         GL_GENERATE_STDDEF_H evaluates to false.
16132
16133         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16134         GL_GENERATE_STDINT_H.
16135         * modules/stdint (Makefile.am): Remove stdint.h if
16136         GL_GENERATE_STDINT_H evaluates to false.
16137
16138         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16139         GL_GENERATE_SYSEXITS_H.
16140         * modules/sysexits (Makefile.am): Remove sysexits.h if
16141         GL_GENERATE_SYSEXITS_H evaluates to false.
16142
16143         Reported by Karl Berry and Ralf Wildenhues.
16144
16145 2011-04-05  Bruno Haible  <bruno@clisp.org>
16146
16147         Ensure to rebuild generated .h files when config.status has changed.
16148         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16149         config.status.
16150         * modules/ctype (Makefile.am): Likewise.
16151         * modules/dirent (Makefile.am): Likewise.
16152         * modules/errno (Makefile.am): Likewise.
16153         * modules/fcntl-h (Makefile.am): Likewise.
16154         * modules/float (Makefile.am): Likewise.
16155         * modules/getopt-posix (Makefile.am): Likewise.
16156         * modules/glob (Makefile.am): Likewise.
16157         * modules/iconv-h (Makefile.am): Likewise.
16158         * modules/inttypes (Makefile.am): Likewise.
16159         * modules/langinfo (Makefile.am): Likewise.
16160         * modules/locale (Makefile.am): Likewise.
16161         * modules/math (Makefile.am): Likewise.
16162         * modules/netdb (Makefile.am): Likewise.
16163         * modules/netinet_in (Makefile.am): Likewise.
16164         * modules/poll-h (Makefile.am): Likewise.
16165         * modules/pthread (Makefile.am): Likewise.
16166         * modules/pty (Makefile.am): Likewise.
16167         * modules/sched (Makefile.am): Likewise.
16168         * modules/search (Makefile.am): Likewise.
16169         * modules/selinux-h (Makefile.am): Likewise.
16170         * modules/signal (Makefile.am): Likewise.
16171         * modules/spawn (Makefile.am): Likewise.
16172         * modules/stdarg (Makefile.am): Likewise.
16173         * modules/stdbool (Makefile.am): Likewise.
16174         * modules/stddef (Makefile.am): Likewise.
16175         * modules/stdint (Makefile.am): Likewise.
16176         * modules/stdio (Makefile.am): Likewise.
16177         * modules/stdlib (Makefile.am): Likewise.
16178         * modules/string (Makefile.am): Likewise.
16179         * modules/strings (Makefile.am): Likewise.
16180         * modules/sys_file (Makefile.am): Likewise.
16181         * modules/sys_ioctl (Makefile.am): Likewise.
16182         * modules/sys_select (Makefile.am): Likewise.
16183         * modules/sys_socket (Makefile.am): Likewise.
16184         * modules/sys_stat (Makefile.am): Likewise.
16185         * modules/sys_time (Makefile.am): Likewise.
16186         * modules/sys_times (Makefile.am): Likewise.
16187         * modules/sys_utsname (Makefile.am): Likewise.
16188         * modules/sys_wait (Makefile.am): Likewise.
16189         * modules/sysexits (Makefile.am): Likewise.
16190         * modules/termios (Makefile.am): Likewise.
16191         * modules/time (Makefile.am): Likewise.
16192         * modules/unistd (Makefile.am): Likewise.
16193         * modules/wchar (Makefile.am): Likewise.
16194         * modules/wctype-h (Makefile.am): Likewise.
16195         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16196
16197 2011-04-05  Bruno Haible  <bruno@clisp.org>
16198
16199         pipe2: Relicense under LGPLv2+.
16200         * modules/pipe2 (License): Change to LGPLv2+.
16201         Requested by Eric Blake, for libvirt.
16202
16203 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16204
16205         bootstrap: compute gnulib_extra_files after updating build_aux
16206         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16207         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16208
16209 2011-04-05  Eric Blake  <eblake@redhat.com>
16210
16211         bootstrap: preserve git whitelist item sorting
16212         * build-aux/bootstrap (sort_patterns): New function.
16213         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16214
16215 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16216
16217         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16218         sc_space_tab check.
16219
16220 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16221
16222         areadlink, areadlinkat: rewrite in terms of careadlinkat
16223         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16224         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16225         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16226         (malloc, realloc): Remove #undefs.
16227         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16228         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16229         readlink, ssize_t, stdint, unistd.
16230         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16231         areadlink, stdint.
16232
16233         careadlinkat: new module
16234         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16235         * modules/careadlinkat: New files, written by me with
16236         a review and feedback from Ben Pfaff in
16237         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16238
16239 2011-04-01  Bruno Haible  <bruno@clisp.org>
16240
16241         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16242         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16243         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16244         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16245         Reported by Bruce Korb <bruce.korb@gmail.com>.
16246
16247 2011-04-01  Bruno Haible  <bruno@clisp.org>
16248
16249         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16250         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16251         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16252         * modules/wcpcpy (Depends-on): Add extensions.
16253         * modules/wcpncpy (Depends-on): Likewise.
16254         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16255         systems.
16256         * doc/posix-functions/wcpncpy.texi: Likewise.
16257         * doc/posix-functions/wcwidth.texi: Likewise.
16258
16259 2011-03-31  Eric Blake  <eblake@redhat.com>
16260
16261         nonblocking: fix mingw test failures
16262         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16263         non-blocking flag on regular file.
16264         (get_nonblocking_flag): Set errno on invalid fd.
16265         * tests/test-nonblocking.c (main): Avoid test failure on
16266         directories if fchdir is not active.
16267         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16268
16269 2011-03-31  Bruno Haible  <bruno@clisp.org>
16270
16271         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16272         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16273         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16274         Reported by Simon Josefsson <simon@josefsson.org>.
16275
16276 2011-03-31  Bruno Haible  <bruno@clisp.org>
16277         and Eric Blake  <eblake@redhat.com>
16278
16279         nonblocking: new module
16280         * modules/nonblocking: New module.
16281         * modules/nonblocking-tests: Likewise.
16282         * lib/nonblocking.h: New file.
16283         * lib/nonblocking.c: Likewise.
16284         * tests/test-nonblocking.c: New test.
16285         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16286
16287 2011-03-30  Bruno Haible  <bruno@clisp.org>
16288
16289         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16290         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16291         instead of 'printf' format for GCC >= 4.4.
16292         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16293         (fprintf, printf, vfprintf, vprintf): Declare with
16294         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16295         the system's vfprintf() function.
16296         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16297
16298 2011-03-30  Eric Blake  <eblake@redhat.com>
16299
16300         passfd: fix scoping bug
16301         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16302         before sendmsg/recvmsg.
16303
16304         passfd: standardize coding conventions
16305         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16306         can be learned at compile time.
16307         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16308         ifdefs.
16309         (sendfd, recvfd): Follow gnulib code conventions.
16310
16311         passfd: fix incorrect sendmsg arguments
16312         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16313         incorrect msg_controllen value.
16314         * modules/passfd-tests (Depends-on): Check for alarm.
16315         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16316         Reported by Bastien ROUCARIES.
16317
16318 2011-03-30  Bruno Haible  <bruno@clisp.org>
16319
16320         c-strcasestr: Relicense under LGPLv2+.
16321         * modules/c-strcasestr (License): Change to LGPLv2+.
16322         Requested by Eric Blake, for libvirt.
16323
16324 2011-03-30  Simon Josefsson  <simon@josefsson.org>
16325
16326         * users.txt: Add libidn2.  Fix libtasn1 link.
16327
16328 2011-03-30  Jim Meyering  <meyering@redhat.com>
16329
16330         tests: readlink* ("",... fails with EINVAL on newer kernels
16331         readlink and readlinkat have typically failed with ENOENT for
16332         the invalid, empty file name,  "".  However, with the advent
16333         of linux-2.6.39, they fail with EINVAL.
16334         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16335         when operating on the empty file name.
16336         * tests/test-readlink.h (test_readlink): Likewise.
16337
16338 2011-03-29  Bruno Haible  <bruno@clisp.org>
16339
16340         Relicense some modules under LGPLv2+, for libidn2.
16341         * modules/array-mergesort (License): Change to LGPLv2+.
16342         * modules/c-strcaseeq (License): Likewise.
16343         * modules/striconveh (License): Likewise.
16344         * modules/striconveha (License): Likewise.
16345         * modules/uniconv/base (License): Likewise.
16346         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16347         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16348         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16349         * modules/unictype/base (License): Likewise.
16350         * modules/unictype/bidiclass-of (License): Likewise.
16351         * modules/unictype/category-M (License): Likewise.
16352         * modules/unictype/category-none (License): Likewise.
16353         * modules/unictype/category-of (License): Likewise.
16354         * modules/unictype/category-test (License): Likewise.
16355         * modules/unictype/category-test-withtable (License): Likewise.
16356         * modules/unictype/combining-class (License): Likewise.
16357         * modules/unictype/joiningtype-of (License): Likewise.
16358         * modules/unictype/scripts (License): Likewise.
16359         * modules/uninorm/base (License): Likewise.
16360         * modules/uninorm/canonical-decomposition (License): Likewise.
16361         * modules/uninorm/composition (License): Likewise.
16362         * modules/uninorm/decompose-internal (License): Likewise.
16363         * modules/uninorm/decomposition-table (License): Likewise.
16364         * modules/uninorm/nfc (License): Likewise.
16365         * modules/uninorm/nfd (License): Likewise.
16366         * modules/uninorm/u32-normalize (License): Likewise.
16367         * modules/unistr/base (License): Likewise.
16368         * modules/unistr/u32-cpy (License): Likewise.
16369         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
16370         * modules/unistr/u32-to-u8 (License): Likewise.
16371         * modules/unistr/u32-uctomb (License): Likewise.
16372         * modules/unistr/u8-check (License): Likewise.
16373         * modules/unistr/u8-mblen (License): Likewise.
16374         * modules/unistr/u8-mbtouc (License): Likewise.
16375         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
16376         * modules/unistr/u8-mbtoucr (License): Likewise.
16377         * modules/unistr/u8-prev (License): Likewise.
16378         * modules/unistr/u8-strlen (License): Likewise.
16379         * modules/unistr/u8-to-u32 (License): Likewise.
16380         * modules/unistr/u8-uctomb (License): Likewise.
16381         * modules/unitypes (License): Likewise.
16382         Requested by Simon Josefsson.
16383
16384 2011-03-29  Simon Josefsson  <simon@josefsson.org>
16385
16386         lib-symbol-visibility: Add a notice.
16387         * modules/lib-symbol-visibility (Notice): New field.
16388
16389 2011-03-29  Bruno Haible  <bruno@clisp.org>
16390
16391         getaddrinfo: Doc fix.
16392         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
16393         section "fixed in Gnulib".
16394
16395 2011-03-28  Simon Josefsson  <simon@josefsson.org>
16396
16397         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
16398         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
16399
16400 2011-03-26  Bruno Haible  <bruno@clisp.org>
16401
16402         unictype/property-byname: Reduce the number of load-time relocations.
16403         * lib/unictype/pr_byname.c: Include <stdlib.h>.
16404         (UC_PROPERTY_INDEX_*): New enumeration values.
16405         (uc_property_byname): Convert an index from the lookup table to an
16406         uc_property_t.
16407         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
16408         values.
16409
16410 2011-03-26  Bruno Haible  <bruno@clisp.org>
16411
16412         unictype/property-byname: Allow omitted word separators and aliases.
16413         * lib/unictype/pr_byname.gperf: Add property names without word
16414         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
16415         for 'space'.
16416
16417 2011-03-26  Bruno Haible  <bruno@clisp.org>
16418
16419         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
16420         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
16421         also hyphens to space.
16422         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
16423         without spaces.
16424         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
16425
16426 2011-03-26  Bruno Haible  <bruno@clisp.org>
16427
16428         unictype/joiningtype-byname: Recognize long names as well.
16429         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
16430         a long name.
16431         * lib/unictype/joiningtype_byname.c: Include <string.h>,
16432         unictype/joiningtype_byname.h.
16433         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
16434         * lib/unictype/joiningtype_byname.gperf: New file.
16435         * modules/unictype/joiningtype-byname (Files): Add
16436         lib/unictype/joiningtype_byname.gperf.
16437         (Depends-on): Add gperf.
16438         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
16439         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
16440         long names.
16441
16442         Tests for module 'unictype/joiningtype-longname'.
16443         * modules/unictype/joiningtype-longname-tests: New file.
16444         * tests/unictype/test-joiningtype_longname.c: New file.
16445
16446         New module 'unictype/joiningtype-longname'.
16447         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
16448         * lib/unictype/joiningtype_longname.c: New file.
16449         * modules/unictype/joiningtype-longname: New file.
16450         * modules/unictype/joiningtype-all (Depends-on): Add
16451         unictype/joiningtype-longname.
16452
16453 2011-03-26  Bruno Haible  <bruno@clisp.org>
16454
16455         unictype/bidiclass-byname: Recognize long names as well.
16456         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
16457         name.
16458         * lib/unictype/bidi_byname.c: Include <string.h>,
16459         unictype/bidi_byname.h.
16460         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
16461         * lib/unictype/bidi_byname.gperf: New file.
16462         * modules/unictype/bidiclass-byname (Files): Add
16463         lib/unictype/bidi_byname.gperf.
16464         (Depends-on): Add gperf.
16465         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
16466         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
16467         long names.
16468
16469         Tests for module 'unictype/bidiclass-longname'.
16470         * modules/unictype/bidiclass-longname-tests: New file.
16471         * tests/unictype/test-bidi_longname.c: New file.
16472
16473         New module 'unictype/bidiclass-longname'.
16474         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
16475         * lib/unictype/bidi_longname.c: New file.
16476         * modules/unictype/bidiclass-longname: New file.
16477         * modules/unictype/bidiclass-all (Depends-on): Add
16478         unictype/bidiclass-longname.
16479
16480 2011-03-26  Bruno Haible  <bruno@clisp.org>
16481
16482         unictype/bidi*: Rename modules.
16483         * modules/unictype/bidiclass-all: Renamed from
16484         modules/unictype/bidicategory-all.
16485         * modules/unictype/bidiclass-name: Renamed from
16486         modules/unictype/bidiclass-name.
16487         (Description): Update.
16488         * modules/unictype/bidiclass-name-tests: Renamed from
16489         modules/unictype/bidicategory-name-tests.
16490         * modules/unictype/bidiclass-byname: Renamed from
16491         modules/unictype/bidicategory-byname.
16492         (Description): Update.
16493         * modules/unictype/bidiclass-byname-tests: Renamed from
16494         modules/unictype/bidicategory-byname-tests.
16495         * modules/unictype/bidiclass-of: Renamed from
16496         modules/unictype/bidicategory-of.
16497         (Description): Update.
16498         * modules/unictype/bidiclass-of-tests: Renamed from
16499         modules/unictype/bidicategory-of-tests.
16500         * modules/unictype/bidiclass-test: Renamed from
16501         modules/unictype/bidicategory-test.
16502         (Description): Update.
16503         * modules/unictype/bidiclass-test-tests: Renamed from
16504         modules/unictype/bidicategory-test-tests.
16505         * modules/unictype/bidicategory-all: New file, a simple redirection.
16506         * modules/unictype/bidicategory-name: Likewise.
16507         * modules/unictype/bidicategory-byname: Likewise.
16508         * modules/unictype/bidicategory-of: Likewise.
16509         * modules/unictype/bidicategory-test: Likewise.
16510         * modules/unictype/property-bidi-* (Dependencies): Update.
16511         * lib/unictype/bidi_*.c: Update comment.
16512
16513 2011-03-26  Bruno Haible  <bruno@clisp.org>
16514
16515         unictype/bidi*: Rename functions, part 2.
16516         * modules/unictype/bidicategory-name (configure.ac): Update required
16517         libunistring version.
16518         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
16519
16520 2011-03-25  Bruno Haible  <bruno@clisp.org>
16521
16522         New module 'unictype/combining-class-all'.
16523         * modules/unictype/combining-class-all: New file.
16524
16525         Tests for module 'unictype/combining-class-byname'.
16526         * modules/unictype/combining-class-byname-tests: New file.
16527         * tests/unictype/test-combiningclass_byname.c: New file.
16528
16529         New module 'unictype/combining-class-byname'.
16530         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
16531         * lib/unictype/combiningclass_byname.c: New file.
16532         * lib/unictype/combiningclass_byname.gperf: New file.
16533         * modules/unictype/combining-class-byname: New file.
16534
16535         Tests for module 'unictype/combining-class-longname'.
16536         * modules/unictype/combining-class-longname-tests: New file.
16537         * tests/unictype/test-combiningclass_longname.c: New file.
16538
16539         New module 'unictype/combining-class-longname'.
16540         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
16541         * lib/unictype/combiningclass_longname.c: New file.
16542         * modules/unictype/combining-class-longname: New file.
16543
16544         Tests for module 'unictype/combining-class-name'.
16545         * modules/unictype/combining-class-name-tests: New file.
16546         * tests/unictype/test-combiningclass_name.c: New file.
16547
16548         New module 'unictype/combining-class-name'.
16549         * lib/unictype.in.h (uc_combining_class_name): New declaration.
16550         * lib/unictype/combiningclass_name.c: New file.
16551         * modules/unictype/combining-class-name: New file.
16552
16553 2011-03-25  Bruno Haible  <bruno@clisp.org>
16554
16555         unictype/combining-class: Rename source files.
16556         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
16557         of unictype/combining.h.
16558         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
16559         Update.
16560         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
16561         * modules/unictype/combining-class (Description): Fix.
16562         (Files, Makefile.am): Update.
16563         * tests/unictype/test-combiningclass.c: Renamed from
16564         tests/unictype/test-combining.c.
16565         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
16566
16567 2011-03-25  Bruno Haible  <bruno@clisp.org>
16568
16569         unictype: Update list of canonical combining classes.
16570         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
16571
16572 2011-03-25  Bruno Haible  <bruno@clisp.org>
16573
16574         unictype/category-byname: Recognize long names as well.
16575         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
16576         a long name.
16577         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
16578         unictype/categ_byname.h.
16579         (UC_CATEGORY_INDEX_*): New enumeration values.
16580         (uc_general_category_byname): Use uc_general_category_lookup and
16581         convert from index to value.
16582         * lib/unictype/categ_byname.gperf: New file.
16583         * modules/unictype/category-byname (Files): Add
16584         lib/unictype/categ_byname.gperf.
16585         (Depends-on): Add gperf.
16586         (Makefile.am): Add rule for generating unictype/categ_byname.h.
16587         * tests/unictype/test-categ_byname.c (main): Test the recognition of
16588         long names.
16589
16590         Tests for module 'unictype/category-longname'.
16591         * modules/unictype/category-longname-tests: New file.
16592         * tests/unictype/test-categ_longname.c: New file.
16593
16594         New module 'unictype/category-longname'.
16595         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
16596         * lib/unictype/categ_longname.c: New file.
16597         * modules/unictype/category-longname: New file.
16598         * modules/unictype/category-all (Depends-on): Add it.
16599
16600 2011-03-25  Bruno Haible  <bruno@clisp.org>
16601
16602         Tests for module 'unictype/category-LC'.
16603         * modules/unictype/category-LC-tests: New file.
16604         * tests/unictype/test-categ_LC.c: New file, automatically generated.
16605
16606         New module 'unictype/category-LC'.
16607         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
16608         (UC_CATEGORY_LC): New declaration.
16609         (UC_CASED_LETTER): New macro.
16610         * lib/gen-uni-tables.c (is_category_LC): New function.
16611         (output_categories): Also handle category LC.
16612         (UC_CATEGORY_MASK_LC): New enumeration value.
16613         (general_category_byname): Also handle category LC.
16614         * lib/unictype/categ_LC.c: New file.
16615         * lib/unictype/categ_LC.h: New file, automatically generated.
16616         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
16617         category LC.
16618         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
16619         * modules/unictype/category-LC: New file.
16620         * modules/unictype/category-byname (Depends-on): Add
16621         unictype/category-LC.
16622         * modules/unictype/category-all (Depends-on): Likewise.
16623
16624 2011-03-25  Eric Blake  <eblake@redhat.com>
16625
16626         xmalloc: revert yesterday's regression
16627         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
16628         realloc's underlying behavior (allowing allocation of zero-size
16629         objects, especially if malloc-gnu is also in use).
16630
16631 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
16632
16633         maint.mk: add missing version to VC-tag
16634         * top/maint.mk: git tag was missing actual tag name; add it.
16635
16636         valgrind: do leak checking, and exit with code 1 on error (not 0)
16637         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
16638         to VALGRIND.
16639
16640 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
16641
16642         posix-modules: say what it does.
16643         * posix-modules: Add a line to the --help output saying what it does.
16644
16645 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16646
16647         xmalloc: Do not leak if underlying realloc is C99 compatible.
16648         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
16649         This avoids a leak on C99-based systems.  See
16650         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
16651
16652 2011-03-24  Eric Blake  <eblake@redhat.com>
16653
16654         realloc: document portability problem
16655         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
16656         passing 0 size to realloc.
16657
16658 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
16659
16660         doc: update users.txt
16661         * users.txt: Add cvsps, tmpwatch
16662
16663 2011-03-23  Matt Rice  <ratmice@gmail.com>
16664
16665         doc: update users.txt
16666         * users.txt: Add gdb.
16667
16668 2011-03-23  Jim Meyering  <meyering@redhat.com>
16669
16670         doc: update users.txt
16671         Looking through matches up to the following URL (there are still
16672         several more pages), I found several projects that use gnulib:
16673         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
16674         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
16675         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
16676
16677 2011-03-22  Bruno Haible  <bruno@clisp.org>
16678
16679         unictype/bidi*: Rename functions.
16680         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
16681         uc_bidi_class, uc_is_bidi_class): New declarations.
16682         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
16683         uc_bidi_category_byname.
16684         (uc_bidi_category_byname): New function.
16685         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
16686         u_bidi_category_name.
16687         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
16688         (uc_bidi_category_name): New function.
16689         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
16690         uc_bidi_category.
16691         (uc_bidi_category): New function.
16692         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
16693         uc_is_bidi_category. Invoke uc_bidi_class.
16694         (uc_is_bidi_category): New function.
16695         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
16696         instead of uc_bidi_category_byname.
16697         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
16698         instead of uc_bidi_category_name.
16699         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
16700         uc_bidi_category.
16701         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
16702         instead of uc_is_bidi_category.
16703
16704 2011-03-21  Bruno Haible  <bruno@clisp.org>
16705
16706         New module 'unictype/joininggroup-all'.
16707         * modules/unictype/joininggroup-all: New file.
16708
16709         Tests for module 'unictype/joininggroup-of'.
16710         * modules/unictype/joininggroup-of-tests: New file.
16711         * tests/unictype/test-joininggroup_of.c: New file.
16712         * tests/unictype/test-joininggroup_of.h: New file, automatically
16713         generated by gen-uni-tables.
16714
16715         New module 'unictype/joininggroup-of'.
16716         * modules/unictype/joininggroup-of: New file.
16717         * lib/unictype/joininggroup_of.c: New file.
16718         * lib/unictype/joininggroup_of.h: New file, automatically generated by
16719         gen-uni-tables.
16720
16721         Tests for module 'unictype/joininggroup-byname'.
16722         * modules/unictype/joininggroup-byname-tests: New file.
16723         * tests/unictype/test-joininggroup_byname.c: New file.
16724
16725         New module 'unictype/joininggroup-byname'.
16726         * modules/unictype/joininggroup-byname: New file.
16727         * lib/unictype/joininggroup_byname.c: New file.
16728         * lib/unictype/joininggroup_byname.gperf: New file.
16729
16730         Tests for module 'unictype/joininggroup-name'.
16731         * modules/unictype/joininggroup-name-tests: New file.
16732         * tests/unictype/test-joininggroup_name.c: New file.
16733
16734         New module 'unictype/joininggroup-name'.
16735         * modules/unictype/joininggroup-name: New file.
16736         * lib/unictype/joininggroup_name.c: New file.
16737         * lib/unictype/joininggroup_name.h: New file.
16738
16739         New module 'unictype/joiningtype-all'.
16740         * modules/unictype/joiningtype-all: New file.
16741
16742         Tests for module 'unictype/joiningtype-of'.
16743         * modules/unictype/joiningtype-of-tests: New file.
16744         * tests/unictype/test-joiningtype_of.c: New file.
16745         * tests/unictype/test-joiningtype_of.h: New file, automatically
16746         generated by gen-uni-tables.
16747
16748         New module 'unictype/joiningtype-of'.
16749         * modules/unictype/joiningtype-of: New file.
16750         * lib/unictype/joiningtype_of.c: New file.
16751         * lib/unictype/joiningtype_of.h: New file, automatically generated by
16752         gen-uni-tables.
16753
16754         Tests for module 'unictype/joiningtype-byname'.
16755         * modules/unictype/joiningtype-byname-tests: New file.
16756         * tests/unictype/test-joiningtype_byname.c: New file.
16757
16758         New module 'unictype/joiningtype-byname'.
16759         * modules/unictype/joiningtype-byname: New file.
16760         * lib/unictype/joiningtype_byname.c: New file.
16761
16762         Tests for module 'unictype/joiningtype-name'.
16763         * modules/unictype/joiningtype-name-tests: New file.
16764         * tests/unictype/test-joiningtype_name.c: New file.
16765
16766         New module 'unictype/joiningtype-name'.
16767         * modules/unictype/joiningtype-name: New file.
16768         * lib/unictype/joiningtype_name.c: New file.
16769
16770         unictype: Add support for Arabic shaping properties.
16771         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
16772         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
16773         declarations.
16774         (UC_JOINING_GROUP_*): New enumeration values.
16775         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
16776         declarations.
16777         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
16778         (unicode_joining_type): New variable.
16779         (UC_JOINING_GROUP_*): New enumeration values.
16780         (unicode_joining_group): New variable.
16781         (fill_arabicshaping, joining_type_as_c_identifier,
16782         output_joining_type_test, output_joining_type,
16783         joining_group_as_c_identifier, output_joining_group_test,
16784         output_joining_group): New functions.
16785         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
16786         fill_arabicshaping and output_joining_type_test, output_joining_type,
16787         output_joining_group_test, output_joining_group.
16788         Reported by Simon Josefsson.
16789
16790 2011-03-21  Jim Meyering  <meyering@redhat.com>
16791
16792         strftime: fix a bug in yesterday's change
16793         * lib/strftime.c (add): Accommodate width's initial value of -1.
16794         Otherwise, nstrftime would copy uninitialized data into
16795         the result buffer.
16796
16797 2011-03-21  Jim Meyering  <meyering@redhat.com>
16798
16799         tests: add strftime-tests module
16800         * tests/test-strftime.c: New file.
16801         * modules/strftime-tests: New module.
16802
16803 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16804
16805         strftime: don't assume a byte count fits in 'int'
16806         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
16807         found this problem by static analysis, using gcc -Wstrict-overflow
16808         (GCC 4.5.2, x86-64).  This reported an optimization that depended
16809         on an integer overflow having undefined behavior, but it turns out
16810         that the argument is a size, which might not fit in 'int' anyway,
16811
16812 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16813
16814         stdio: don't require ignore_value around fwrite
16815
16816         This patch works around libc bug 11959
16817         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
16818         Without this patch, applications must often write
16819         ignore_value (fwrite (...)) even though the ignore_value is
16820         not helpful here.  It's common to write many objects, using
16821         fwrite/printf/etc., and then use ferror to detect output error.
16822
16823         I considered making this patch optional, but decided against it,
16824         because libc is obviously being inconsistent here: there is no
16825         reason libc should insist that user code must inspect fwrite
16826         return's value without also insisting that it inspect printf's,
16827         putchar's, etc.  If user code wants to have a strict style where
16828         all these functions' values are checked (so that ferror need not
16829         be checked), we could add support for that style in a new gnulib
16830         module, but in the meantime it's better to be consistent and to
16831         support common usage.
16832
16833         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
16834         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
16835         that we are compiling in checking mode, and if not C++, and
16836         if not already wrapping fwrite for some other reason.
16837         (fwrite): #define to rpl_fwrite if the latter is defined.
16838
16839 2011-03-20  Bruno Haible  <bruno@clisp.org>
16840
16841         verror: Fix compilation error introduced on 2011-02-13.
16842         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
16843         instead of __attribute__.
16844         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16845
16846 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16847             Bruno Haible  <bruno@clisp.org>
16848
16849         socklen: do not depend on sys_socket
16850         While trying to modify Emacs to use gnulib's socklen module,
16851         I discovered a circular dependency: socklen depends on sys_socket
16852         and vice versa.  Emacs can use socklen, but it does not need
16853         sys_socket because it has its own substitute for sys/socket.h.
16854         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
16855         gl_TYPE_SOCKLEN_T.
16856         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
16857         gl_PREREQ_SYS_H_SOCKET.
16858         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
16859         gl_PREREQ_SYS_H_SOCKET.
16860         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
16861         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
16862         * modules/socklen (Depends-on): Do not depend on sys_socket.
16863         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
16864
16865 2011-03-20  Jim Meyering  <meyering@redhat.com>
16866
16867         maint.mk: sort file names *after* new transformation
16868         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
16869         prefix would have led to an unwarranted failure in GNU parted.
16870         Sort after that transformation.
16871
16872 2011-03-19  Jim Meyering  <meyering@redhat.com>
16873
16874         maint.mk: fix po-file syntax-check rule
16875         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
16876         Patch by Bruno Haible.
16877
16878 2011-03-19  Bruno Haible  <bruno@clisp.org>
16879
16880         socklen: Update comment.
16881         * m4/socklen.m4: Update comment about platforms.
16882
16883 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16884             Bruno Haible  <bruno@clisp.org>
16885
16886         inet_ntop, inet_pton: Simplify.
16887         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
16888         documented to provide socklen_t and we already depend on sys_socket.
16889         * modules/inet_pton (Depends-on): Likewise.
16890         * lib/arpa_inet.in.h: Adjust comment.
16891
16892 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16893             Bruno Haible  <bruno@clisp.org>
16894
16895         netdb: Simplify.
16896         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
16897         documented to provide socklen_t and we already depend on sys_socket.
16898         * lib/netdb.in.h: Adjust comment.
16899
16900 2011-03-19  Bruno Haible  <bruno@clisp.org>
16901
16902         sys_socket, netdb: Document problem with socklen_t.
16903         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
16904         platforms.
16905         * doc/posix-headers/netdb.texi: Likewise.
16906
16907 2011-03-18  Eric Blake  <eblake@redhat.com>
16908
16909         maint.mk: let po check work in VPATH build
16910         * top/maint.mk (po_file): Allow cfg.mk override.
16911         (sc_po_check): Allow VPATH use.
16912         Reported by Jiri Denemark.
16913
16914 2011-03-16  Jim Meyering  <meyering@redhat.com>
16915
16916         maint.mk: allow fine-grained syntax-check exclusion via Make variables
16917         Before, you would have had to create one .x-sc_ file per rule in order
16918         to exempt offending files.  Now, you may instead use a Make variable --
16919         usually defined in cfg.mk -- whose name identifies the affected rule.
16920         * top/maint.mk (_sc_excl): Define.
16921         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
16922         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
16923
16924 2011-03-13  Bruno Haible  <bruno@clisp.org>
16925
16926         ignore-value tests: Avoid warnings.
16927         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
16928         empty for gcc < 3.4.
16929
16930 2011-03-13  Bruno Haible  <bruno@clisp.org>
16931
16932         passfd: Fix link error on Solaris.
16933         * modules/passfd (Description): Correct.
16934         (Depends-on): Add socketlib.
16935         (Link): New section.
16936         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
16937
16938 2011-03-13  Bruno Haible  <bruno@clisp.org>
16939
16940         passfd: Fix link error on AIX 5.2.
16941         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
16942
16943 2011-03-13  Bruno Haible  <bruno@clisp.org>
16944
16945         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
16946         * lib/sys_socket.in.h: Include <stddef.h>.
16947         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
16948         CMSG_FIRSTHDR. Remove unused variable.
16949
16950 2011-03-13  Bruno Haible  <bruno@clisp.org>
16951
16952         passfd: Fix compilation error on OpenBSD.
16953         * lib/passfd.c: Include <sys/uio.h>.
16954
16955 2011-03-13  Bruno Haible  <bruno@clisp.org>
16956
16957         passfd test: Fix warnings.
16958         * tests/test-passfd.c: Include <sys/wait.h>.
16959         (main): Fix typo.
16960
16961 2011-03-13  Bruno Haible  <bruno@clisp.org>
16962
16963         passfd module, part 4, tweaks.
16964         * tests/test-passfd.c: Reorder includes.
16965         (main): Fix perror and printf calls.
16966
16967 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16968
16969         passfd module, part 4.
16970         * modules/passfd-tests: New file.
16971         * tests/test-passfd.c: New file.
16972
16973 2011-03-13  Jim Meyering  <meyering@redhat.com>
16974
16975         Makefile: rely on GNU make; derive syntax-check rule names
16976         Rather than requiring that each sc_ rule be listed as a dependent
16977         of "check", use features of GNU make to derive the list.
16978         * Makefile (syntax-check-rules): Define.
16979         (check): Depend on the new variable, not the hard-coded list.
16980
16981 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
16982             Bruno Haible  <bruno@clisp.org>
16983
16984         passfd module, part 3.
16985         * lib/passfd.h (recvfd): Add a flags argument.
16986         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
16987         (recvfd): Add a flags argument.
16988         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
16989         exists.
16990         * modules/passfd (Depends-on): Add cloexec.
16991         Suggested by Eric Blake.
16992
16993 2011-03-13  Bruno Haible  <bruno@clisp.org>
16994
16995         passfd module, part 2, tweaks.
16996         * modules/passfd (Files): Reorder.
16997         (Depends-on): Remove errno.
16998         (Include): Remove <sys/socket.h>, <sys/un.h>.
16999         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17000         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17001         specification header. Include <sys/socket.h> always. Don't include
17002         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17003         (sendfd): Clarify that it sets errno when it fails.
17004         (recvfd): Fix specification.
17005
17006 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17007
17008         passfd module, part 2.
17009         * modules/passfd: New file.
17010         * lib/passfd.h: New file.
17011         * lib/passfd.c: New file.
17012
17013 2011-03-12  Bruno Haible  <bruno@clisp.org>
17014
17015         wcswidth, mbswidth: Avoid integer overflow.
17016         * lib/wcswidth.c: Include <limits.h>.
17017         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17018         * lib/mbswidth.c: Include <limits.h>.
17019         (mbsnwidth): Avoid 'int' overflow.
17020         Reported by Jim Meyering.
17021
17022 2011-03-12  Bruno Haible  <bruno@clisp.org>
17023
17024         futimens, utimensat: Avoid endless recursion on Solaris 10.
17025         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17026         Solaris.
17027         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17028         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17029
17030 2011-03-11  Jim Meyering  <meyering@redhat.com>
17031
17032         maint.mk: relax a regexp to accommodate other formatting styles
17033         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17034         between "ngettext" and the following "(".
17035
17036 2011-03-11  Pádraig Brady <P@draigBrady.com>
17037
17038         maint.mk: suppress a false positive warning
17039         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17040         diagnostics are marked with ngettext.
17041
17042 2011-03-10  Eric Blake  <eblake@redhat.com>
17043
17044         wchar: add explicit dependencies, for Tru64
17045         * modules/mbmemcasecoll (Depends-on): Add wchar.
17046         * modules/mbtowc (Depends-on): Likewise.
17047         * modules/vasnprintf (Depends-on): Likewise.
17048         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17049         * modules/wctomb (Depends-on): Likewise.
17050         Reported by Peter O'Gorman.
17051
17052 2011-03-08  Bruno Haible  <bruno@clisp.org>
17053
17054         passfd module, part 1, tweaks.
17055         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17056         Improve indentation. Improve AC_MSG_CHECKING messages.
17057         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17058         gl_SOCKET_FAMILIES.
17059
17060 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17061
17062         passfd module, part 1.
17063         * m4/afunix.m4: New file.
17064         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17065         sockets.
17066
17067 2011-03-08  Bruno Haible  <bruno@clisp.org>
17068
17069         regex-quote: New API.
17070         * lib/regex-quote.h: Include <stdbool.h>.
17071         (struct regex_quote_spec): New type.
17072         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17073         New declarations.
17074         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17075         'const struct regex_quote_spec *' argument.
17076         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17077         (pcre_special): New constant.
17078         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17079         New functions.
17080         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17081         'const struct regex_quote_spec *' argument.
17082         * modules/regex-quote (Depends-on): Add stdbool.
17083         * tests/test-regex-quote.c (check): Update for new API. Add test for
17084         anchored results.
17085         * NEWS: Mention the API change.
17086         Reported by Reuben Thomas and Eric Blake.
17087
17088 2011-03-06  Bruno Haible  <bruno@clisp.org>
17089
17090         regex-quote: Fix creation of POSIX extended regular expressions.
17091         * lib/regex-quote.c (ere_special): Add grouping and alternation
17092         operators.
17093
17094 2011-03-05  Bruno Haible  <bruno@clisp.org>
17095
17096         doc: Improve doc regarding autopoint vs. gnulib.
17097         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17098         disable autopoint while running autoreconf.
17099         Suggested by Ralf Wildenhues.
17100
17101 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17102
17103         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17104         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17105
17106 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17107
17108         parse-duration: remove xalloc.h dependency
17109         * lib/parse-duration.c (parse_period): handle NULL return from
17110         strdup instead of calling xstrdup().
17111         * modules/parse-duration: remove "xalloc" dependency
17112
17113 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17114
17115         bootstrap: honor m4_base when running aclocal
17116         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17117
17118 2011-03-02  Jim Meyering  <meyering@redhat.com>
17119
17120         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17121         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17122         on request from Matt Booth.
17123
17124 2011-03-01  Eric Blake  <eblake@redhat.com>
17125
17126         test-link: work on Hurd
17127         * tests/test-link.h (test_link): Hurd rejects linking directories
17128         with EISDIR instead of the POSIX-mandated EPERM.
17129
17130 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17131
17132         stdio: simplify by moving files to printf-posix, sigpipe
17133         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17134         since this symbol is needed only if printf is replaced.
17135         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17136         Require gl_ASM_SYMBOL_PREFIX.
17137         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17138         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17139         (Depends-on): Add 'raise'.
17140         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17141         * modules/stdio (Files): Remove lib/stdio-write.c,
17142         m4/asm-underscore.m4.
17143         (Depends-on): Remove 'raise'.
17144
17145         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17146         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17147         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17148         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17149
17150 2011-02-28  Bruno Haible  <bruno@clisp.org>
17151
17152         localcharset: Assume ANSI C behaviour of free().
17153         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17154         calling free().
17155         Suggested by Simon Josefsson <simon@josefsson.org>.
17156
17157 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17158             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17159             Bruno Haible  <bruno@clisp.org>  (tiny change)
17160
17161         On Cygwin, use /proc file system instead of win32 API.
17162         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17163         Win32 file names.
17164         (DllMain): Simplify by removing Cygwin specific code.
17165         (find_shared_library_fullname): Use Linux specific implementation also
17166         for Cygwin.
17167         (get_shared_library_fullname): Update accordingly.
17168         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17169         Win32 file names.
17170         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17171         Cygwin specific code.
17172
17173 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17174             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17175
17176         Fix OpenMP flag detection for various Fortran compilers.
17177         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17178         OpenMP-conditional compilation construct, to force compile
17179         failure with missing OpenMP flag.
17180         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17181
17182 2011-02-25  Eric Blake  <eblake@redhat.com>
17183
17184         strstr: expand test coverage
17185         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17186         compilation.
17187         * tests/test-memmem.c (main): Duplicate tests.
17188         * tests/test-strcasestr.c (main): Likewise.
17189         * tests/test-c-strcasestr.c (main): Likewise.
17190
17191 2011-02-25  Jim Meyering  <meyering@redhat.com>
17192
17193         maint.mk: detect missing-NL-at-EOF, too
17194         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17195         it also detects when a file lacks a newline at EOF.
17196         (require_exactly_one_NL_at_EOF_): Renamed from
17197         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17198         since people may well have .x-sc_... file names tied to the
17199         existing name.  Suggested by Eric Blake.
17200
17201 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17202
17203         dirname: move m4/dos.m4 functionality into lib/dosname.h
17204
17205         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17206         extracts symbols from it, puts them into config.h; but it's much
17207         easier to use the symbols directly.  filename.h already does this,
17208         but it disagrees with dos.m4 in some respects.  This patch
17209         introduces a different include file dosname.h that packages up
17210         dos.m4, and then later we can work on merging filename.h and
17211         dosname.h.  Applications that need only the easy-to-configure
17212         symbols should consider including dosname.h rather than dirname.h.
17213         * NEWS: Mention incompatible changes.
17214         * m4/dos.m4: Remove.
17215         * lib/dosname.h, modules/dosname: New files.
17216         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17217         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17218         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17219         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17220         Include dosname.h, not dirname.h.
17221         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17222         Include dosname.h, for definitions of symbols like ISSLASH
17223         that used to be in config.h.
17224         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17225         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17226         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17227         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17228         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17229         * modules/rmdir (Files): Likewise.
17230         * modules/stat (Files): Likewise.
17231         * modules/unlink (Files): Likewise.
17232         * modules/dirname-lgpl (Depends-on): Add dosname.
17233         * modules/lstat (Depends-on): Likewise.
17234         * modules/openat (Depends-on): Likewise.
17235         * modules/rmdir (Depends-on): Likewise.
17236         * modules/savewd (Depends-on): Likewise.
17237         * modules/stat (Depends-on): Likewise.
17238         * modules/unlink (Depends-on): Likewise.
17239         * modules/openat (Depends-on): Remove dirname-lgpl.
17240         * modules/savewd (Depends-on): Likewise.
17241         * tests/test-dirname.c: Do not use removed symbols like
17242         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17243         the remaining symbols, e.g., ISSLASH ('\\').
17244
17245 2011-02-25  Eric Blake  <eblake@redhat.com>
17246
17247         strstr: revert patches that introduced bug and pessimization
17248         * lib/str-two-way.h: Add another reference.
17249         (two_way_short_needle, two_way_long_needle): Revert changes from
17250         2011-02-24; they pessimize search speed.
17251         (critical_factorization): Partially revert changes from
17252         2010-06-22; they violate the requirement that the left half of the
17253         needle be smaller than the period of the needle.
17254
17255 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17256
17257         filenamecat: remove unnecessary dependency on dirname-lgpl
17258         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17259         is no direct dependency, just an indirect one via filenamecat-lgpl.
17260
17261         remove: remove unnecessary use of m4/dos.m4
17262         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17263         * modules/remove (FILES): Remove m4/dos.m4.
17264
17265         * lib/openat-proc.c: Don't include dirname.h; not needed.
17266
17267         backupfile: remove unnecessary use of m4/dos.m4
17268         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17269         of its symbols are used by the backupfile code.  backupfile.c does
17270         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17271         for the rare case of programs that want all their backup file
17272         names to live within 8+3 limits, and dos.m4 doesn't address that.
17273         * modules/backupfile (Files): Remove m4/dos.m4.
17274
17275 2011-02-24  Jim Meyering  <meyering@redhat.com>
17276
17277         strstr: fix a bug whereby strstr would mistakenly return NULL
17278         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17279         in period calculation.
17280         (two_way_long_needle): Likewise.
17281         The original problem was reported by Mike Stump in
17282         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17283         Ralf Wildenhues provided the short needle and haystack.
17284         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17285         Add a more involved test to trigger the bug in two_way_long_needle.
17286
17287 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17288
17289         gnulib-tool: remove use of bold display in help screen
17290         * gnulib-tool (func_usage): Do not use bold display anymore in the
17291         help screen.  That was just meant to be a temporary emphasis for a
17292         backward-incompatible change.
17293
17294 2011-02-23  Bruno Haible  <bruno@clisp.org>
17295
17296         Fix misindentation of preprocessor directives.
17297         * lib/argp-namefrob.h: Reindent preprocessor directives.
17298         * lib/getopt_int.h (struct _getopt_data): Likewise.
17299         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17300         * lib/vasnprintf.c (decode_long_double): Likewise.
17301         * tests/test-argmatch.c: Insert blank lines, for clarity.
17302         * tests/test-exclude.c: Likewise.
17303
17304 2011-02-22  Bruno Haible  <bruno@clisp.org>
17305
17306         ioctl: Fix for MacOS X in 64-bit mode.
17307         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17308         value.
17309         Suggested by Eric Blake.
17310         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17311
17312 2011-02-22  Jim Meyering  <meyering@redhat.com>
17313
17314         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17315         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17316         in lib/.
17317
17318 2011-02-22  Eric Blake  <eblake@redhat.com>
17319
17320         maint: avoid any CDPATH issue
17321         * Makefile (sc_cpp_indent_check): Anchor cd argument.
17322
17323         maint: adjust cpp indentation for my modules, as well
17324         * Makefile (sc_cpp_indent_check): Add my name.
17325         * lib/fbufmode.c: Filter through cppi.
17326         * lib/fpurge.c: Likewise.
17327         * lib/freadable.c: Likewise.
17328         * lib/freading.c: Likewise.
17329         * lib/fwritable.c: Likewise.
17330         * lib/fwriting.c: Likewise.
17331         * lib/sigaction.c: Likewise.
17332
17333 2011-02-22  Jim Meyering  <meyering@redhat.com>
17334
17335         maint: adjust cpp indentation to reflect nesting depth
17336         I.e., in a block of code that begins with an unnested "#if",
17337         put one space between the "#" in column 1 and following token.
17338         For example,
17339         -#include <sys/vfs.h>
17340         +# include <sys/vfs.h>
17341         Do this only in .c files that are part of a module I maintain.
17342         * lib/linkat.c: Filter through cppi.
17343         * lib/nanosleep.c: Likewise.
17344         * lib/openat.c: Likewise.
17345         * lib/openat-die.c: Likewise.
17346         * lib/dup3.c: Likewise.
17347         * lib/fchownat.c: Likewise.
17348         * lib/flock.c: Likewise.
17349         * lib/fsync.c: Likewise.
17350         * lib/fts.c: Likewise.
17351         * lib/getpass.c: Likewise.
17352         * lib/gettimeofday.c: Likewise.
17353         * lib/userspec.c: Likewise.
17354         * Makefile (sc_cpp_indent_check): New rule, to check this.
17355
17356 2011-02-22  Bruno Haible  <bruno@clisp.org>
17357
17358         New module 'wctomb'.
17359         * lib/stdlib.in.h (wctomb): New declaration.
17360         * lib/wctomb.c: New file.
17361         * lib/wctomb-impl.h: New file.
17362         * m4/wctomb.m4: New file.
17363         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
17364         REPLACE_WCTOMB.
17365         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
17366         REPLACE_WCTOMB.
17367         * modules/wctomb: New file.
17368         * tests/test-stdlib-c++.cc: Test signature of wctomb.
17369         * doc/posix-functions/wctomb.texi: Mention the new module.
17370         * modules/wctob (Depends-on): Add wctomb.
17371
17372 2011-02-22  Bruno Haible  <bruno@clisp.org>
17373
17374         New module 'mbtowc'.
17375         * lib/stdlib.in.h (mbtowc): New declaration.
17376         * lib/mbtowc.c: New file.
17377         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
17378         * m4/mbtowc.m4: New file.
17379         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
17380         REPLACE_MBTOWC.
17381         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
17382         REPLACE_MBTOWC.
17383         * modules/mbtowc: New file.
17384         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
17385         * doc/posix-functions/mbtowc.texi: Mention the new module.
17386         * modules/btowc (Depends-on): Add mbtowc.
17387
17388 2011-02-22  Bruno Haible  <bruno@clisp.org>
17389
17390         wcrtomb: Add more tests for native Windows platforms.
17391         * tests/test-wcrtomb-w32-1.sh: New file.
17392         * tests/test-wcrtomb-w32-2.sh: New file.
17393         * tests/test-wcrtomb-w32-3.sh: New file.
17394         * tests/test-wcrtomb-w32-4.sh: New file.
17395         * tests/test-wcrtomb-w32-5.sh: New file.
17396         * tests/test-wcrtomb-w32.c: New file.
17397         * modules/wcrtomb-tests (Files): Add them.
17398         (Makefile.am): Arrange to run these tests.
17399         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
17400         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
17401
17402 2011-02-20  Bruno Haible  <bruno@clisp.org>
17403
17404         wcrtomb: Enhance test.
17405         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
17406
17407 2011-02-20  Bruno Haible  <bruno@clisp.org>
17408
17409         mbrtowc: Tiny optimization.
17410         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
17411
17412 2011-02-20  Jim Meyering  <meyering@redhat.com>
17413
17414         test-exclude.c: remove unmatched #endif
17415         * tests/test-exclude.c: Remove stray #endif, left over from
17416         the change of a week ago.
17417
17418 2011-02-19  Jim Meyering  <meyering@redhat.com>
17419
17420         git-version-gen: skip "-dirty" check when appropriate
17421         * build-aux/git-version-gen: Don't run any git commands when the
17422         version string comes from .tarball-version.  Prior to this, we
17423         would run git update-index --refresh even from a just-unpacked
17424         tarball directory, and that could affect a .git/ directory in a
17425         parent of the build directory.  Reported by Mike Frysinger.
17426
17427 2011-02-19  Bruno Haible  <bruno@clisp.org>
17428
17429         unictype/property-byname: Reduce the size of the 'data' segment.
17430         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
17431
17432 2011-02-19  Bruno Haible  <bruno@clisp.org>
17433
17434         unictype/scripts: Reduce the size of the 'data' segment.
17435         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
17436         '%pic'.
17437         * lib/unictype/scripts_byname.gperf: Regenerated.
17438
17439 2011-02-19  Bruno Haible  <bruno@clisp.org>
17440
17441         stdint: Update documentation.
17442         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
17443
17444 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17445
17446         stdint: omit redundant check for wchar.h
17447         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
17448         always tests whether wchar.h exists, so remove the now-redundant test.
17449
17450 2011-02-18  Bruno Haible  <bruno@clisp.org>
17451
17452         stdint: Cut dependency to module 'wchar'.
17453         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
17454         include the necessary prerequisites.
17455         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
17456         * modules/stdint (Depends-on): Remove wchar.
17457         (Makefile.am): Substitute HAVE_WCHAR_H.
17458         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
17459
17460 2011-02-18  Eric Blake  <eblake@redhat.com>
17461
17462         longlong: skip, rather than fail, on cross-compilation
17463         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
17464         when cross-compiling; regression from 2011-02-16.
17465
17466 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17467
17468         * NEWS: Mention 2011-02-08 change to stdlib.
17469
17470 2011-02-17  Bruno Haible  <bruno@clisp.org>
17471
17472         getloadavg: Add comments about platforms.
17473         * m4/getloadavg.m4: Add comment.
17474         * lib/getloadavg.c: Likewise.
17475
17476 2011-02-17  Bruno Haible  <bruno@clisp.org>
17477
17478         getloadavg: Fix link error on Solaris 2.6.
17479         * modules/getloadavg (Link): New section.
17480         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
17481         linking test-getloadavg.
17482         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
17483         getloadavg.
17484
17485 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17486
17487         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
17488         It was 'int', but this doesn't match the IRIX 6.5 manual.
17489         Suggested by Bruno Haible in
17490         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
17491
17492 2011-02-17  Bruno Haible  <bruno@clisp.org>
17493
17494         havelib: Fix comments.
17495         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
17496         change.
17497
17498 2011-02-17  Bruno Haible  <bruno@clisp.org>
17499
17500         havelib: Update config.rpath.
17501         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
17502
17503 2011-02-17  Bruno Haible  <bruno@clisp.org>
17504
17505         getloadavg test: Add some plausibility checks.
17506         * tests/test-getloadavg.c (check_avg): Print a warning when the value
17507         is improbable.
17508
17509 2011-02-16  Eric Blake  <eblake@redhat.com>
17510
17511         maintainer-makefile: make syntax-check a no-op from tarballs
17512         * top/maint.mk (no-vc-detected): New rule.
17513         (local-checks-available): Use it to avoid hanging if someone tries
17514         'make syntax-check' from a tarball.  Also append to any non-syntax
17515         checks already defined in cfg.mk.
17516
17517 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
17518
17519         longlong: tune, particularly for common case of c99
17520
17521         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
17522         or running anything if c99, or if unsigned long long int does not
17523         work.  In either case, we know the answer without further tests.
17524         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
17525         it at most once, and use its results for both long long int and
17526         unsigned long long int.  This is more likely to be efficient in
17527         the common case where the program wants to check for both long
17528         long int and unsigned long long int.
17529         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
17530         since the answer is already known.
17531
17532 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
17533
17534         getloadavg: set errno
17535         * lib/getloadavg.c: Set errno when returning -1.  If no other
17536         error number looks appropriate, set it to ENOSYS if the getloadavg
17537         looks like it can't possibly ever work, ENOTSUP otherwise.
17538         Suggested by Bruno Haible in
17539         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
17540
17541         getloadavg: trim unused parts and speed up 'configure'
17542         * NEWS: Document this.
17543         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
17544         always compiled if getloadavg is absent.
17545         Move test code to ...
17546         * tests/test-getloadavg.c: New file, containing previous
17547         contents of test from lib/getloadavg.c.  It also contains
17548         suggestions by Bruno Haible in
17549         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
17550         * modules/getloadavg-tests: New file.
17551         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
17552         Do tests in the same order as they're needed for getloadavg.c.
17553         Omit setgid-related tests that generate symbols KMEM_GROUP,
17554         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
17555         Do only the tests that are needed to see whether the system has
17556         getloadavg, moving the other tests into ...
17557         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
17558         NLIST_NAME_UNION; nobody should be using it.  Do not define
17559         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
17560         relevant, as the user of this module shouldn't care how getloadavg
17561         is implemented.
17562
17563         getloadavg: omit unused var
17564         * lib/getloadavg.c (getloadavg): Omit unused local variable.
17565
17566 2011-02-15  Jim Meyering  <meyering@redhat.com>
17567
17568         doc: update users.txt
17569         * users.txt: Update iwhd's URL.
17570
17571 2011-02-13  Bruno Haible  <bruno@clisp.org>
17572
17573         Consistent macro naming for macros that use GCC __attribute__.
17574         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
17575         _ATTRIBUTE_NONNULL_.
17576         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
17577         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
17578         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
17579         ATTRIBUTE_DEPRECATED.
17580         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
17581         ATTRIBUTE_NORETURN.
17582         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17583         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17584         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17585         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17586         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
17587         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
17588         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
17589         ATTRIBUTE_SENTINEL.
17590         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
17591         ATTRIBUTE_RETURN_CHECK.
17592         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
17593         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
17594         ATTRIBUTE_NORETURN.
17595         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
17596         Reported by Paul Eggert.
17597
17598 2011-02-13  Bruno Haible  <bruno@clisp.org>
17599
17600         Don't interfere with a program's definition of __attribute__.
17601         * lib/argp.h (__attribute__): Remove definition.
17602         (_GL_ATTRIBUTE_FORMAT): New macro.
17603         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
17604         * lib/argp-fmtstream.h (__attribute__): Remove definition.
17605         (_GL_ATTRIBUTE_FORMAT): New macro.
17606         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
17607         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
17608         GCC 3 or newer.
17609         * lib/error.h (__attribute__): Remove definition.
17610         (_GL_ATTRIBUTE_FORMAT): New macro.
17611         (error, error_at_line): Use it.
17612         * lib/hash.h (__attribute__): Remove definition.
17613         (ATTRIBUTE_WUR): Update definition. Define always.
17614         * lib/openat.h (__attribute__): Remove definition.
17615         (ATTRIBUTE_NORETURN): Update definition. Define always.
17616         * lib/sigpipe-die.h (__attribute__): Remove definition.
17617         (ATTRIBUTE_NORETURN): Update definition. Define always.
17618         * lib/vasnprintf.h (__attribute__): Remove definition.
17619         (_GL_ATTRIBUTE_FORMAT): New macro.
17620         (asnprintf, vasnprintf): Use it.
17621         * lib/xalloc.h (__attribute__): Remove definition.
17622         (ATTRIBUTE_NORETURN): Update definition. Define always.
17623         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
17624         * lib/xmemdup0.h (__attribute__): Remove definition.
17625         (ATTRIBUTE_NORETURN): Update definition. Define always.
17626         * lib/xprintf.h (__attribute__): Remove definition.
17627         (_GL_ATTRIBUTE_FORMAT): New macro.
17628         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
17629         * lib/xstrtol.h (__attribute__): Remove definition.
17630         (ATTRIBUTE_NORETURN): Update definition. Define always.
17631         * lib/xvasprintf.h (__attribute__): Remove definition.
17632         (_GL_ATTRIBUTE_FORMAT): New macro.
17633         (xasprintf, xvasprintf): Use it.
17634         * tests/test-argmatch.c (__attribute__): Remove definition.
17635         (ATTRIBUTE_NORETURN): Update definition. Define always.
17636         * tests/test-exclude.c (__attribute__): Remove definition.
17637         (ATTRIBUTE_NORETURN): Update definition. Define always.
17638         Reported by Paul Eggert.
17639
17640 2011-02-13  Bruno Haible  <bruno@clisp.org>
17641
17642         mbrtowc: Add more tests for native Windows platforms.
17643         * tests/test-mbrtowc-w32-1.sh: New file.
17644         * tests/test-mbrtowc-w32-2.sh: New file.
17645         * tests/test-mbrtowc-w32-3.sh: New file.
17646         * tests/test-mbrtowc-w32-4.sh: New file.
17647         * tests/test-mbrtowc-w32-5.sh: New file.
17648         * tests/test-mbrtowc-w32.c: New file.
17649         * modules/mbrtowc-tests (Files): Add them.
17650         (Makefile.am): Arrange to run these tests.
17651         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
17652         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
17653
17654 2011-02-13  Bruno Haible  <bruno@clisp.org>
17655
17656         mbrtowc: Work around native Windows bug.
17657         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
17658         guess when no suitable locale for testing was found.
17659         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
17660
17661 2011-02-13  Bruno Haible  <bruno@clisp.org>
17662
17663         mbsinit: Work around mingw bug.
17664         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
17665         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
17666         Windows.
17667         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
17668
17669 2011-02-13  Bruno Haible  <bruno@clisp.org>
17670
17671         mbsinit: Don't crash for a NULL argument.
17672         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
17673         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
17674
17675 2011-02-13  Bruno Haible  <bruno@clisp.org>
17676
17677         Don't interfere with a program's definition of __attribute__.
17678         * lib/stdio.in.h (__attribute__): Remove definition.
17679         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
17680         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
17681         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
17682         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
17683         * lib/string.in.h (__attribute__): Remove definition.
17684         Reported by Paul Eggert.
17685
17686 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17687
17688         stdlib: don't get in the way of non-GCC __attribute__
17689         See thread starting at
17690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
17691         Revert previous stdlib change, installing the following instead:
17692         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
17693         to get in the way of a non-GCC compiler that supports __attribute__.
17694         (_GL_ATTRIBUTE_RETURN): New macro.
17695         (_Exit): Use it instead of __attribute__.
17696
17697 2011-02-12  Bruno Haible  <bruno@clisp.org>
17698
17699         quotearg test: Avoid test failure on mingw.
17700         * tests/test-quotearg.sh: Convert the locale identifier from native
17701         Windows syntax to Unix syntax.
17702
17703 2011-02-12  Bruno Haible  <bruno@clisp.org>
17704
17705         setlocale: Prefer gnulib's override over libintl's override.
17706         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
17707         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
17708         GNULIB_defined_setlocale is set.
17709
17710 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17711
17712         stdlib: support non-GCC __attribute__
17713
17714         Fix a serious and tricky problem encountered when attempting to
17715         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
17716         5.5, but it crashed due to memory corruption on Solaris 10 with
17717         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
17718         bits that are otherwise zero.  This tagging is optional inside
17719         Emacs but is preferred and is used when __attribute__ ((__aligned
17720         (8))) works, as it does with both recent-enough GCC and with Sun C
17721         5.11.  However, Sun C 5.11 is not GCC and does not #define
17722         __GNUC__ and __GNUC_MINOR__.
17723
17724         When I added the getloadavg module to Emacs, it brought in
17725         stdlib.in.h, which contained this fragment:
17726
17727            #ifndef __attribute__
17728            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
17729            #  define __attribute__(Spec)   /* empty */
17730            # endif
17731            #endif
17732
17733         When files that include <stdlib.h> were compiled with Sun C 5.11,
17734         the above code disabled __attribute__ ((__aligned (8))), which
17735         caused variables to not be properly aligned, which eventually led
17736         to the pointer corruption mentioned above.  (This was a bit hard
17737         to diagnose, unfortunately.)
17738
17739         Several "#define __attribute__(X) /* empty */" code snippets need
17740         to be eradicated from Gnulib to work with non-GCC compilers that
17741         support __attribute__.  The Autoconf way to do this is to test for
17742         each kind of attribute that we want support for, and selectively
17743         enable that in source code.
17744
17745         Fix this problem just for stdlib.h, by adding a test for the
17746         __noreturn__ attribute, and change stdlib.in.h to use that test
17747         when needed.  This technique can be easily generalized to the
17748         other *.in.h files and attributes, and a similar technique can be
17749         used for *.h and *.c files.  This patch is enough to solve the
17750         problem for Emacs + getloadavg, and I thought I'd publish it for
17751         feedback before undertaking further, similar fixes in other
17752         modules.
17753
17754         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
17755         because it's not needed for stdlib.h.  It merely substitutes the
17756         value directly into stdlib.h.  We may well need to #define it, or
17757         similar symbols, for other modules, but it's nice to also have an
17758         option to not #define it for applications like Emacs that do not
17759         need it.
17760
17761         * lib/stdlib.in.h (__attribute__): Do not #define.
17762         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
17763         be defined only if the _Exit module is also used.
17764         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
17765         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
17766         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
17767         platforms.
17768         * modules/_Exit (Files): Add m4/attribute.m4.
17769         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
17770         * m4/attribute.m4: New file.
17771
17772 2011-02-12  Bruno Haible  <bruno@clisp.org>
17773
17774         wcsrtombs: Work around bug on native Windows.
17775         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
17776         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
17777         instead of len.
17778         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
17779
17780 2011-02-12  Bruno Haible  <bruno@clisp.org>
17781
17782         mbsrtowcs: Work around bug on native Windows.
17783         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
17784         against mingw bug.
17785         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
17786
17787 2011-02-12  Bruno Haible  <bruno@clisp.org>
17788
17789         Avoid setlocale bugs in tests.
17790         * modules/btowc (Dependencies): Add setlocale.
17791         * modules/c-strcase (Dependencies): Likewise.
17792         * modules/mbmemcasecmp (Dependencies): Likewise.
17793         * modules/mbmemcasecoll (Dependencies): Likewise.
17794         * modules/mbrtowc (Dependencies): Likewise.
17795         * modules/mbscasecmp (Dependencies): Likewise.
17796         * modules/mbscasestr (Dependencies): Likewise.
17797         * modules/mbschr (Dependencies): Likewise.
17798         * modules/mbscspn (Dependencies): Likewise.
17799         * modules/mbsinit (Dependencies): Likewise.
17800         * modules/mbsncasecmp (Dependencies): Likewise.
17801         * modules/mbsnrtowcs (Dependencies): Likewise.
17802         * modules/mbspbrk (Dependencies): Likewise.
17803         * modules/mbspcasecmp (Dependencies): Likewise.
17804         * modules/mbsrchr (Dependencies): Likewise.
17805         * modules/mbsrtowcs (Dependencies): Likewise.
17806         * modules/mbsspn (Dependencies): Likewise.
17807         * modules/mbsstr (Dependencies): Likewise.
17808         * modules/nl_langinfo (Dependencies): Likewise.
17809         * modules/quotearg (Dependencies): Likewise.
17810         * modules/unicase/locale-language (Dependencies): Likewise.
17811         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
17812         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
17813         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
17814         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
17815         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
17816         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
17817         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
17818         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
17819         * modules/vasnprintf-posix (Dependencies): Likewise.
17820         * modules/wcrtomb (Dependencies): Likewise.
17821         * modules/wcsnrtombs (Dependencies): Likewise.
17822         * modules/wcsrtombs (Dependencies): Likewise.
17823
17824 2011-02-12  Bruno Haible  <bruno@clisp.org>
17825
17826         setlocale: Workaround native Windows bug.
17827         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
17828         succeeds but sets LC_CTYPE to "C", report a failure.
17829         * tests/test-setlocale2.sh: New file.
17830         * tests/test-setlocale2.c: New file.
17831         * modules/setlocale-tests (Files): Add the new files.
17832         (Makefile.am): Enable test-setlocale2.sh test.
17833         * doc/posix-functions/setlocale.texi: Mention workaround.
17834
17835 2011-02-11  Bruno Haible  <bruno@clisp.org>
17836
17837         Tests for module 'setlocale'.
17838         * modules/setlocale-tests: New file.
17839         * tests/test-setlocale1.sh: New file.
17840         * tests/test-setlocale1.c: New file.
17841
17842         New module 'setlocale'.
17843         * lib/locale.in.h (setlocale): New declaration.
17844         * lib/setlocale.c: New file, based on
17845         gettext/gettext-runtime/intl/setlocale.c.
17846         * m4/setlocale.m4: New file.
17847         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
17848         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
17849         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
17850         REPLACE_SETLOCALE.
17851         * modules/setlocale: New file.
17852         * tests/test-locale-c++.cc: Test the declaration of setlocale.
17853         * doc/posix-functions/setlocale.texi: Mention the new module.
17854
17855 2011-02-11  Bruno Haible  <bruno@clisp.org>
17856
17857         Prepare for locale dependent tests on mingw.
17858         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
17859         because it has the wrong locale encoding.
17860         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
17861         French_France.1252 instead of "fr".
17862         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
17863         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
17864         because it has the wrong locale encoding.
17865         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
17866         native Windows, try Turkish_Turkey.65001.
17867         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
17868         Chinese_China.54936.
17869
17870         Prepare for locale dependent tests on mingw.
17871         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
17872         differently.
17873         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
17874         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
17875         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
17876         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
17877
17878 2011-02-11  Eric Blake  <eblake@redhat.com>
17879
17880         strptime: avoid compiler warnings
17881         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
17882         compiler warnings about dead code.
17883         Reported by Daniel P. Berrange.
17884
17885 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
17886
17887         doc: update users.txt
17888         * users.txt: Add rcs.
17889
17890 2011-02-10  John W. Eaton  <jwe@gnu.org>
17891
17892         doc: update users.txt
17893         * users.txt: Add octave.
17894
17895 2011-02-10  Jim Meyering  <meyering@redhat.com>
17896
17897         doc: update users.txt
17898         * users.txt: Add iwhd.
17899
17900 2011-02-09  Bruno Haible  <bruno@clisp.org>
17901
17902         gnulib-tool: Make copyright notice adjustment more robust.
17903         * gnulib-tool (func_import): In sed_transform_main_lib_file,
17904         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
17905         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
17906         License".
17907         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
17908
17909 2011-02-06  Bruno Haible  <bruno@clisp.org>
17910
17911         New module 'towctrans'.
17912         * modules/towctrans: New file.
17913         * lib/wctype.in.h (towctrans): New declaration.
17914         * lib/towctrans.c: New file.
17915         * lib/towctrans-impl.h: New file.
17916         * m4/towctrans.m4: New file.
17917         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
17918         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
17919         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
17920         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
17921         * doc/posix-functions/towctrans.texi: Mention the new module.
17922
17923 2011-02-06  Bruno Haible  <bruno@clisp.org>
17924
17925         New module 'wctrans'.
17926         * modules/wctrans: New file.
17927         * lib/wctype.in.h (wctrans): New declaration.
17928         * lib/wctrans.c: New file.
17929         * lib/wctrans-impl.h: New file.
17930         * m4/wctrans.m4: New file.
17931         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
17932         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
17933         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
17934         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
17935         * doc/posix-functions/wctrans.texi: Mention the new module.
17936
17937 2011-02-06  Bruno Haible  <bruno@clisp.org>
17938
17939         New module 'iswctype'.
17940         * modules/iswctype: New file.
17941         * lib/wctype.in.h (iswctype): New declaration.
17942         * lib/iswctype.c: New file.
17943         * lib/iswctype-impl.h: New file.
17944         * m4/iswctype.m4: New file.
17945         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
17946         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
17947         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
17948         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
17949         * doc/posix-functions/iswctype.texi: Mention the new module and the
17950         HP-UX 11.00 problem.
17951
17952 2011-02-06  Bruno Haible  <bruno@clisp.org>
17953
17954         New module 'wctype'.
17955         * modules/wctype: Change to represent the wctype() substitute.
17956         * lib/wctype.in.h (wctype): New declaration.
17957         * lib/wctype.c: New file.
17958         * lib/wctype-impl.h: New file.
17959         * m4/wctype.m4: New file.
17960         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
17961         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
17962         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
17963         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
17964         * doc/posix-functions/wctype.texi: Mention the new module and the
17965         HP-UX 11.00 problem.
17966
17967 2011-02-06  Bruno Haible  <bruno@clisp.org>
17968
17969         wctype-h: Ensure wctype_t and wctrans_t are defined.
17970         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
17971         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17972         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17973         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
17974         HAVE_WCTRANS_T.
17975         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
17976
17977 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
17978
17979         flock: fix license typo
17980
17981         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
17982         omitted.
17983
17984 2011-02-08  Bruno Haible  <bruno@clisp.org>
17985
17986         Split large sed scripts, for HP-UX sed.
17987         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
17988         to avoid HP-UX limit of 99 commands, in the near future.
17989         * modules/stdlib (Makefile.am): Likewise.
17990         * modules/unistd (Makefile.am): Likewise.
17991         * modules/wchar (Makefile.am): Likewise.
17992         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17993         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
17994         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
17995
17996 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17997             Bruno Haible  <bruno@clisp.org>
17998
17999         stdlib: improve random_r modularization
18000         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18001         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18002         you also need the random_r module to get this material right.
18003         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18004         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18005         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18006
18007 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18008
18009         stdlib: don't depend on stdint
18010         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18011         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18012         be independent of whether stdint.h is needed.
18013         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18014         here, instead of ...
18015         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18016         struct random_data should be using the random_r module, not just
18017         the stdlib module (which wouldn't make sense: what package needs
18018         just struct random_data without also needing random_r?).
18019         * modules/stdlib (Depends-on): Remove stdint.
18020
18021         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18022         See the thread rooted at
18023         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18024         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18025         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18026         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18027         __VMS)); previously it was always included (via fcntl--.h).
18028         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18029         hand; this is good enough for load averages.  Also, do not use
18030         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18031         flags directly if available and don't bother otherwise.  (Packages
18032         that need the extra reliability should use the modules that define
18033         these flags on older platforms that lack them.)
18034         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18035         fcntl-safer.
18036
18037 2011-02-08  Jim Meyering  <meyering@redhat.com>
18038
18039         di-set.h, ino-map.h: add multiple-inclusion guard
18040         Technically, the guard is required only for ino-map.h, due to its
18041         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18042         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18043         * lib/ino-map.h: Likewise.
18044
18045 2011-02-06  Bruno Haible  <bruno@clisp.org>
18046
18047         iswblank: Ensure declaration on glibc systems.
18048         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18049         * modules/iswblank (Dependencies): Add 'extensions'.
18050         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18051
18052 2011-02-06  Bruno Haible  <bruno@clisp.org>
18053
18054         New module 'iswblank'.
18055         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18056         * modules/iswblank: New file.
18057         * modules/wctype-h (Files): Remove lib/iswblank.c.
18058         (Makefile.am): Substitute GNULIB_ISWBLANK.
18059         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18060         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18061         (gl_WCTYPE_H_DEFAULTS): New macro.
18062         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18063         * modules/iswblank-tests: New file.
18064         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18065         * tests/test-wctype-h.c (main): Remove iswblank tests.
18066         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18067         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18068         of 'wctype-h'.
18069         * NEWS: Mention the change.
18070         * modules/mbchar (Depends-on): Add iswblank.
18071
18072 2011-02-08  Bruno Haible  <bruno@clisp.org>
18073
18074         di-set tests: Refactor.
18075         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18076         unnecessary includes.
18077         (ASSERT): Remove macro.
18078         (main): Make C90 compliant by avoiding variable declaration after
18079         statement.
18080         * modules/di-set-tests (Files): Add tests/macros.h.
18081
18082 2011-02-08  Bruno Haible  <bruno@clisp.org>
18083
18084         ino-map tests: Refactor.
18085         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18086         unnecessary includes.
18087         (ASSERT): Remove macro.
18088         (main): Make C90 compliant by avoiding variable declaration after
18089         statement.
18090         * modules/ino-map-tests (Files): Add tests/macros.h.
18091
18092 2011-02-08  Jim Meyering  <meyering@redhat.com>
18093
18094         di-set: add "const" to a cast
18095         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18096         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18097
18098 2011-02-06  Bruno Haible  <bruno@clisp.org>
18099
18100         Rename module 'wctype' to 'wctype-h'.
18101         * modules/wctype-h: Renamed from modules/wctype.
18102         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18103         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18104         (Files, Depends-on, Makefile.am): Update.
18105         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18106         (Files, Makefile.am): Update.
18107         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18108         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18109         * doc/posix-headers/wctype.texi: Update.
18110         * doc/posix-functions/iswalnum.texi: Update.
18111         * doc/posix-functions/iswalpha.texi: Update.
18112         * doc/posix-functions/iswblank.texi: Update.
18113         * doc/posix-functions/iswcntrl.texi: Update.
18114         * doc/posix-functions/iswdigit.texi: Update.
18115         * doc/posix-functions/iswgraph.texi: Update.
18116         * doc/posix-functions/iswlower.texi: Update.
18117         * doc/posix-functions/iswprint.texi: Update.
18118         * doc/posix-functions/iswpunct.texi: Update.
18119         * doc/posix-functions/iswspace.texi: Update.
18120         * doc/posix-functions/iswupper.texi: Update.
18121         * doc/posix-functions/iswxdigit.texi: Update.
18122         * doc/posix-functions/towlower.texi: Update.
18123         * doc/posix-functions/towupper.texi: Update.
18124         * NEWS: Mention the change.
18125         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18126         * modules/mbchar (Dependencies): Likewise.
18127         * modules/mbswidth (Dependencies): Likewise.
18128         * modules/quotearg (Dependencies): Likewise.
18129         * modules/regex (Dependencies): Likewise.
18130         * modules/wcscasecmp (Dependencies): Likewise.
18131         * modules/wcsncasecmp (Dependencies): Likewise.
18132         * modules/wcwidth (Dependencies): Likewise.
18133
18134 2011-02-06  Bruno Haible  <bruno@clisp.org>
18135
18136         New module 'wcswidth'.
18137         * modules/wcswidth: New file.
18138         * lib/wchar.in.h (wcswidth): New declaration.
18139         * lib/wcswidth.c: New file.
18140         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18141         * m4/wcswidth.m4: New file.
18142         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18143         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18144         REPLACE_WCSWIDTH.
18145         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18146         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18147         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18148         * doc/posix-functions/wcswidth.texi: Mention the new module.
18149
18150 2011-02-06  Bruno Haible  <bruno@clisp.org>
18151
18152         New module 'wcstok'.
18153         * modules/wcstok: New file.
18154         * lib/wchar.in.h (wcstok): New declaration.
18155         * lib/wcstok.c: New file.
18156         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18157         * m4/wcstok.m4: New file.
18158         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18159         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18160         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18161         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18162         * doc/posix-functions/wcstok.texi: Mention the new module.
18163
18164 2011-02-06  Bruno Haible  <bruno@clisp.org>
18165
18166         New module 'wcsstr'.
18167         * modules/wcsstr: New file.
18168         * lib/wchar.in.h (wcsstr): New declaration.
18169         * lib/wcsstr.c: New file.
18170         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18171         * m4/wcsstr.m4: New file.
18172         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18173         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18174         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18175         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18176         * doc/posix-functions/wcsstr.texi: Mention the new module.
18177
18178 2011-02-06  Bruno Haible  <bruno@clisp.org>
18179
18180         New module 'wcspbrk'.
18181         * modules/wcspbrk: New file.
18182         * lib/wchar.in.h (wcspbrk): New declaration.
18183         * lib/wcspbrk.c: New file.
18184         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18185         * m4/wcspbrk.m4: New file.
18186         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18187         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18188         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18189         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18190         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18191
18192 2011-02-06  Bruno Haible  <bruno@clisp.org>
18193
18194         New module 'wcsspn'.
18195         * modules/wcsspn: New file.
18196         * lib/wchar.in.h (wcsspn): New declaration.
18197         * lib/wcsspn.c: New file.
18198         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18199         * m4/wcsspn.m4: New file.
18200         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18201         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18202         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18203         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18204         * doc/posix-functions/wcsspn.texi: Mention the new module.
18205
18206 2011-02-06  Bruno Haible  <bruno@clisp.org>
18207
18208         New module 'wcscspn'.
18209         * modules/wcscspn: New file.
18210         * lib/wchar.in.h (wcscspn): New declaration.
18211         * lib/wcscspn.c: New file.
18212         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18213         * m4/wcscspn.m4: New file.
18214         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18215         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18216         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18217         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18218         * doc/posix-functions/wcscspn.texi: Mention the new module.
18219
18220 2011-02-06  Bruno Haible  <bruno@clisp.org>
18221
18222         New module 'wcsrchr'.
18223         * modules/wcsrchr: New file.
18224         * lib/wchar.in.h (wcsrchr): New declaration.
18225         * lib/wcsrchr.c: New file.
18226         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18227         * m4/wcsrchr.m4: New file.
18228         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18229         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18230         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18231         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18232         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18233
18234 2011-02-06  Bruno Haible  <bruno@clisp.org>
18235
18236         New module 'wcschr'.
18237         * modules/wcschr: New file.
18238         * lib/wchar.in.h (wcschr): New declaration.
18239         * lib/wcschr.c: New file.
18240         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18241         * m4/wcschr.m4: New file.
18242         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18243         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18244         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18245         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18246         * doc/posix-functions/wcschr.texi: Mention the new module.
18247
18248 2011-02-06  Bruno Haible  <bruno@clisp.org>
18249
18250         New module 'wcsdup'.
18251         * modules/wcsdup: New file.
18252         * lib/wchar.in.h (wcsdup): New declaration.
18253         * lib/wcsdup.c: New file.
18254         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18255         * m4/wcsdup.m4: New file.
18256         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18257         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18258         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18259         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18260         * doc/posix-functions/wcsdup.texi: Mention the new module.
18261
18262 2011-02-06  Bruno Haible  <bruno@clisp.org>
18263
18264         New module 'wcsxfrm'.
18265         * modules/wcsxfrm: New file.
18266         * lib/wchar.in.h (wcsxfrm): New declaration.
18267         * lib/wcsxfrm.c: New file.
18268         * lib/wcsxfrm-impl.h: New file.
18269         * m4/wcsxfrm.m4: New file.
18270         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18271         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18272         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18273         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18274         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18275
18276 2011-02-06  Bruno Haible  <bruno@clisp.org>
18277
18278         New module 'wcscoll'.
18279         * modules/wcscoll: New file.
18280         * lib/wchar.in.h (wcscoll): New declaration.
18281         * lib/wcscoll.c: New file.
18282         * lib/wcscoll-impl.h: New file.
18283         * m4/wcscoll.m4: New file.
18284         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18285         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18286         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18287         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18288         * doc/posix-functions/wcscoll.texi: Mention the new module.
18289
18290 2011-02-06  Bruno Haible  <bruno@clisp.org>
18291
18292         New module 'wcsncasecmp'.
18293         * modules/wcsncasecmp: New file.
18294         * lib/wchar.in.h (wcsncasecmp): New declaration.
18295         * lib/wcsncasecmp.c: New file.
18296         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18297         * m4/wcsncasecmp.m4: New file.
18298         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18299         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18300         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18301         HAVE_WCSNCASECMP.
18302         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18303         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18304
18305 2011-02-06  Bruno Haible  <bruno@clisp.org>
18306
18307         New module 'wcscasecmp'.
18308         * modules/wcscasecmp: New file.
18309         * lib/wchar.in.h (wcscasecmp): New declaration.
18310         * lib/wcscasecmp.c: New file.
18311         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18312         * m4/wcscasecmp.m4: New file.
18313         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18314         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18315         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18316         HAVE_WCSCASECMP.
18317         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18318         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18319
18320 2011-02-05  Bruno Haible  <bruno@clisp.org>
18321
18322         New module 'wcsncmp'.
18323         * modules/wcsncmp: New file.
18324         * lib/wchar.in.h (wcsncmp): New declaration.
18325         * lib/wcsncmp.c: New file.
18326         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
18327         * m4/wcsncmp.m4: New file.
18328         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
18329         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
18330         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
18331         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
18332         * doc/posix-functions/wcsncmp.texi: Mention the new module.
18333
18334 2011-02-05  Bruno Haible  <bruno@clisp.org>
18335
18336         New module 'wcscmp'.
18337         * modules/wcscmp: New file.
18338         * lib/wchar.in.h (wcscmp): New declaration.
18339         * lib/wcscmp.c: New file.
18340         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18341         * m4/wcscmp.m4: New file.
18342         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18343         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18344         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18345         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18346         * doc/posix-functions/wcscmp.texi: Mention the new module.
18347
18348 2011-02-05  Bruno Haible  <bruno@clisp.org>
18349
18350         New module 'wcsncat'.
18351         * modules/wcsncat: New file.
18352         * lib/wchar.in.h (wcsncat): New declaration.
18353         * lib/wcsncat.c: New file.
18354         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
18355         * m4/wcsncat.m4: New file.
18356         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
18357         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
18358         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
18359         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
18360         * doc/posix-functions/wcsncat.texi: Mention the new module.
18361
18362 2011-02-05  Bruno Haible  <bruno@clisp.org>
18363
18364         New module 'wcscat'.
18365         * modules/wcscat: New file.
18366         * lib/wchar.in.h (wcscat): New declaration.
18367         * lib/wcscat.c: New file.
18368         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
18369         * m4/wcscat.m4: New file.
18370         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
18371         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
18372         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
18373         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
18374         * doc/posix-functions/wcscat.texi: Mention the new module.
18375
18376 2011-02-05  Bruno Haible  <bruno@clisp.org>
18377
18378         New module 'wcpncpy'.
18379         * modules/wcpncpy: New file.
18380         * lib/wchar.in.h (wcpncpy): New declaration.
18381         * lib/wcpncpy.c: New file.
18382         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
18383         * m4/wcpncpy.m4: New file.
18384         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
18385         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
18386         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
18387         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
18388         * doc/posix-functions/wcpncpy.texi: Mention the new module.
18389
18390 2011-02-05  Bruno Haible  <bruno@clisp.org>
18391
18392         New module 'wcsncpy'.
18393         * modules/wcsncpy: New file.
18394         * lib/wchar.in.h (wcsncpy): New declaration.
18395         * lib/wcsncpy.c: New file.
18396         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
18397         * m4/wcsncpy.m4: New file.
18398         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
18399         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
18400         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
18401         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
18402         * doc/posix-functions/wcsncpy.texi: Mention the new module.
18403
18404 2011-02-05  Bruno Haible  <bruno@clisp.org>
18405
18406         New module 'wcpcpy'.
18407         * modules/wcpcpy: New file.
18408         * lib/wchar.in.h (wcpcpy): New declaration.
18409         * lib/wcpcpy.c: New file.
18410         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
18411         * m4/wcpcpy.m4: New file.
18412         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
18413         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
18414         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
18415         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
18416         * doc/posix-functions/wcpcpy.texi: Mention the new module.
18417
18418 2011-02-05  Bruno Haible  <bruno@clisp.org>
18419
18420         New module 'wcscpy'.
18421         * modules/wcscpy: New file.
18422         * lib/wchar.in.h (wcscpy): New declaration.
18423         * lib/wcscpy.c: New file.
18424         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
18425         * m4/wcscpy.m4: New file.
18426         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
18427         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
18428         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
18429         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
18430         * doc/posix-functions/wcscpy.texi: Mention the new module.
18431
18432 2011-02-05  Bruno Haible  <bruno@clisp.org>
18433
18434         New module 'wcsnlen'.
18435         * modules/wcsnlen: New file.
18436         * lib/wchar.in.h (wcsnlen): New declaration.
18437         * lib/wcsnlen.c: New file.
18438         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
18439         * m4/wcsnlen.m4: New file.
18440         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
18441         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
18442         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
18443         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
18444         * doc/posix-functions/wcsnlen.texi: Mention the new module.
18445
18446 2011-02-05  Bruno Haible  <bruno@clisp.org>
18447
18448         New module 'wcslen'.
18449         * modules/wcslen: New file.
18450         * lib/wchar.in.h (wcslen): New declaration.
18451         * lib/wcslen.c: New file.
18452         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
18453         * m4/wcslen.m4: New file.
18454         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
18455         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
18456         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
18457         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
18458         * doc/posix-functions/wcslen.texi: Mention the new module.
18459
18460 2011-02-05  Bruno Haible  <bruno@clisp.org>
18461
18462         New module 'wmemset'.
18463         * modules/wmemset: New file.
18464         * lib/wchar.in.h (wmemset): New declaration.
18465         * lib/wmemset.c: New file.
18466         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
18467         * m4/wmemset.m4: New file.
18468         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
18469         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
18470         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
18471         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
18472         * doc/posix-functions/wmemset.texi: Mention the new module.
18473
18474 2011-02-05  Bruno Haible  <bruno@clisp.org>
18475
18476         New module 'wmemmove'.
18477         * modules/wmemmove: New file.
18478         * lib/wchar.in.h (wmemmove): New declaration.
18479         * lib/wmemmove.c: New file.
18480         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
18481         * m4/wmemmove.m4: New file.
18482         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
18483         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
18484         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
18485         HAVE_WMEMMOVE.
18486         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
18487         * doc/posix-functions/wmemmove.texi: Mention the new module.
18488
18489 2011-02-05  Bruno Haible  <bruno@clisp.org>
18490
18491         New module 'wmemcpy'.
18492         * modules/wmemcpy: New file.
18493         * lib/wchar.in.h (wmemcpy): New declaration.
18494         * lib/wmemcpy.c: New file.
18495         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
18496         * m4/wmemcpy.m4: New file.
18497         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
18498         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
18499         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
18500         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
18501         * doc/posix-functions/wmemcpy.texi: Mention the new module.
18502
18503 2011-02-05  Bruno Haible  <bruno@clisp.org>
18504
18505         New module 'wmemcmp'.
18506         * modules/wmemcmp: New file.
18507         * lib/wchar.in.h (wmemcmp): New declaration.
18508         * lib/wmemcmp.c: New file.
18509         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
18510         * m4/wmemcmp.m4: New file.
18511         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
18512         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
18513         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
18514         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
18515         * doc/posix-functions/wmemcmp.texi: Mention the new module.
18516
18517 2011-02-07  Jim Meyering  <meyering@redhat.com>
18518
18519         di-set, ino-map: new modules, from coreutils
18520         * lib/di-set.c: New file.
18521         * lib/di-set.h: Likewise.
18522         * lib/ino-map.c: Likewise.
18523         * lib/ino-map.h: Likewise.
18524         * modules/di-set: Likewise.
18525         * modules/di-set-tests: Likewise.
18526         * modules/ino-map: Likewise.
18527         * modules/ino-map-tests: Likewise.
18528         * tests/test-di-set.c: Likewise.
18529         * tests/test-ino-map.c: Likewise.
18530
18531 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18532
18533         getloadavg: merge minor changes from Emacs
18534
18535         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
18536         (getloadavg): Use memset, not bzero.
18537
18538         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
18539         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
18540         clash (bug#86).
18541
18542 2010-11-14  Bruno Haible  <bruno@clisp.org>
18543
18544         Allow multiple gnulib generated replacements to coexist.
18545         * lib/getopt.in.h (struct option): Avoid identical redefinition.
18546         * lib/inttypes.in.h (imaxdiv_t): Likewise.
18547         * lib/langinfo.in.h (nl_item): Likewise.
18548         * lib/math.in.h (_NaN, NAN): Likewise.
18549         * lib/netdb.in.h (struct addrinfo): Likewise.
18550         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
18551         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
18552         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
18553         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
18554         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
18555         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
18556         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
18557         pthread_mutexattr_init, pthread_mutexattr_settype,
18558         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
18559         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
18560         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
18561         pthread_spin_trylock, pthread_spin_unlock): Likewise.
18562         * lib/sched.in.h (struct sched_param): Likewise.
18563         * lib/se-selinux.in.h (security_class_t, security_context_t,
18564         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
18565         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
18566         lsetfilecon, fsetfilecon, security_check_context,
18567         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
18568         Likewise.
18569         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
18570         Likewise.
18571         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
18572         _gl_function_taking_int_returning_void_t, union sigval,
18573         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
18574         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
18575         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18576         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
18577         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
18578         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
18579         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
18580         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
18581         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
18582         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
18583         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
18584         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
18585         socklen_t, rpl_fd_isset): Likewise.
18586         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
18587         * lib/sys_time.in.h (struct timeval): Likewise.
18588         * lib/sys_times.in.h (struct tms): Likewise.
18589         * lib/sys_utsname.in.h (struct utsname):
18590         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
18591         * lib/unistd.in.h (getpagesize): Likewise.
18592         * lib/wchar.in.h (mbstate_t): Likewise.
18593         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
18594         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
18595         towlower, towupper): Likewise.
18596         Reported by Sam Steingold <sds@gnu.org>.
18597
18598 2011-02-05  Eric Blake  <eblake@redhat.com>
18599
18600         unsetenv: work around Haiku issues
18601         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
18602         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
18603
18604 2010-12-30  Bruce Korb  <bkorb@gnu.org>
18605
18606         libposix: avoid calling error() within libposix
18607         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
18608         is defined.
18609
18610 2011-02-05  Eric Blake  <eblake@redhat.com>
18611
18612         strerror_r-posix: port to cygwin
18613         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
18614         implementation.
18615         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
18616         * tests/test-strerror_r.c (main): Fix test.
18617         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18618         issue.
18619
18620 2011-02-05  Bruno Haible  <bruno@clisp.org>
18621
18622         New module 'wmemchr'.
18623         * modules/wmemchr: New file.
18624         * lib/wchar.in.h (wmemchr): New declaration.
18625         * lib/wmemchr.c: New file.
18626         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
18627         * m4/wmemchr.m4: New file.
18628         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
18629         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
18630         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
18631         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
18632         * doc/posix-functions/wmemchr.texi: Mention the new module.
18633
18634 2011-02-04  Eric Blake  <eblake@redhat.com>
18635
18636         fdopendir: detect FreeBSD bug
18637         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
18638         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
18639
18640 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18641
18642         stdbool: do not define HAVE_STDBOOL_H
18643         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
18644         AC_HEADER_STDBOOL.  All uses changed.  Do not define
18645         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
18646         imported from the latest Autoconf git.  It was motivated by Emacs,
18647         which uses gnulib but does not need HAVE_STDBOOL_H.
18648
18649 2011-02-04  Bruno Haible  <bruno@clisp.org>
18650
18651         wcsnrtombs: Prepare for new module wwcsnrtombs.
18652         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
18653         * lib/wcsnrtombs.c: Include it.
18654         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
18655
18656         wcsrtombs: Prepare for new module wwcsrtombs.
18657         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
18658         * lib/wcsrtombs.c: Include it.
18659         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
18660
18661         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
18662         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
18663         * lib/mbsnrtowcs.c: Include it.
18664         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
18665
18666         mbsrtowcs: Prepare for new module mbsrtowwcs.
18667         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
18668         * lib/mbsrtowcs.c: Include it.
18669         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
18670
18671 2011-02-04  Bruno Haible  <bruno@clisp.org>
18672
18673         vasnprintf: Reduce use of malloc for small format strings.
18674         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
18675         (arguments): Add room for the first 7 arguments.
18676         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
18677         (char_directives, u8_directives, u16_directives, u32_directives): Add
18678         room for the first 7 directives.
18679         * lib/printf-parse.c: Include <string.h>.
18680         (PRINTF_PARSE): Change memory handling code so that it uses the first
18681         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
18682         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
18683         Reported by Pádraig Brady <P@draigbrady.com>.
18684
18685 2011-01-31  Eric Blake  <eblake@redhat.com>
18686
18687         dup2: work around Haiku bug
18688         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
18689         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
18690         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18691         * tests/test-dup2.c (main): Enhance test.
18692
18693 2011-01-31  Simon Josefsson  <simon@josefsson.org>
18694
18695         doc: off_t is not available in eglibc 2.11.2 stdio.h.
18696         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
18697         declared by eglibc 2.11.2.
18698         * lib/stdio.in.h: Likewise.
18699
18700 2011-01-31  Eric Blake  <eblake@redhat.com>
18701
18702         ignore-value: add missing test dependency
18703         * tests/test-ignore-value.c: Revert previous change; stdio.h
18704         provides off_t.
18705         * modules/ignore-value-tests (Depends-on): Add missing dependency.
18706
18707 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18708
18709         mktime: clarify long_int width checking
18710         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
18711         the top level, to make it clearer that the assumption about
18712         long_int width is being checked.  See
18713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
18714
18715 2011-01-30  Simon Josefsson  <simon@josefsson.org>
18716
18717         ignore-value: Fix self-test.
18718         * tests/test-ignore-value.c: Include sys/types.h for off_t.
18719
18720 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
18721
18722         TYPE_MAXIMUM: avoid theoretically undefined behavior
18723         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
18724         negative number, which the C Standard says has undefined behavior.
18725         In practice this is not a problem, but might as well do it by the book.
18726         Reported by Rich Felker and Eric Blake; see
18727         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
18728         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
18729         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
18730         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18731         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
18732         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18733         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
18734
18735         mktime: #undef mktime before #defining it
18736         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
18737
18738         mktime: systematically normalize tm_isdst comparisons
18739         * lib/mktime.c (isdst_differ): New function.
18740         (__mktime_internal): Use it systematically for all isdst comparisons.
18741         This completes the fix for libc BZ #6723, and removes the need for
18742         normalizing tm_isdst.  See
18743         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
18744         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
18745
18746         mktime: fix some integer overflow issues and sidestep the rest
18747
18748         This was prompted by a bug report by Benjamin Lindner for MinGW
18749         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
18750         His bug is due to signed integer overflow (0 - INT_MIN), and I
18751         I scanned through mktime.c looking for other integer overflow
18752         problems, fixing all the bugs I found.
18753
18754         Although the C Standard says the resulting code is still not safe
18755         in the presence of integer overflow, in practice it should be good
18756         enough for all real-world two's-complement implementations, except
18757         for debugging environments that deliberately trap on integer
18758         overflow (e.g., gcc -ftrapv).
18759
18760         * lib/mktime.c (WRAPV): New macro.
18761         (SHR): Also check that long_int and time_t shift right in the
18762         usual way, before using the fast-but-unportable method.
18763         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
18764         used.  The code already assumed two's complement, so there's
18765         no need to test for alternatives.  All uses removed.
18766         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
18767         the C standard.  Problem reported by Rich Felker in
18768         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
18769         (twos_complement_arithmetic): Also check long_int and time_t.
18770         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
18771         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
18772         (__mktime_internal): Avoid integer overflow with unary subtraction
18773         in two instances where -1 - X is an adequate replacement for -X,
18774         since the calculations are approximate.
18775
18776 2011-01-29  Eric Blake  <eblake@redhat.com>
18777
18778         mktime: avoid infinite loop
18779         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
18780         type; behavior is still undefined but portable to all known targets.
18781         Reported by Rich Felker.
18782
18783 2011-01-29  Simon Josefsson  <simon@josefsson.org>
18784
18785         rename, unlink, same-inode: Relicense.
18786         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
18787         * modules/unlink (License): Likewise.
18788         * modules/same-inode (License): Likewise.
18789
18790 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
18791
18792         mktime: avoid problems on NetBSD 5 / i386
18793         * lib/mktime.c (long_int): New type.  This works around a problem
18794         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
18795         but time_t is 64 bits, and where I expect the existing code is
18796         wrong in some cases.
18797         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
18798         (ydhms_diff): Bring back the compile-time check for wide-enough
18799         year and yday.
18800
18801         mktime: fix misspelling in comment
18802         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
18803         This merges all recent glibc changes of importance.
18804
18805 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18806
18807         move-if-change: cope with concurrent mv of identical file.
18808         * build-aux/move-if-change (CMPPROG): Accept environment
18809         variable as an override for `cmp'.
18810         (usage): Document CMPPROG.
18811         Adjust comparison to drop stdout.  Cope with failure of mv if
18812         the target file exists and is identical to the source, for
18813         parallel builds.
18814         Report from H.J. Lu against binutils in PR binutils/12283.
18815
18816 2011-01-28  Bruce Korb  <bkorb@gnu.org>
18817
18818         * users.txt: Mention sharutils.
18819
18820 2011-01-28  Simon Josefsson  <simon@josefsson.org>
18821
18822         * users.txt: Mention OATH Toolkit.
18823
18824 2011-01-27  Bruno Haible  <bruno@clisp.org>
18825
18826         Prepare for supporting FreeBSD 10.
18827         * build-aux/config.libpath: Remove handling of freebsd1*.
18828
18829 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
18830
18831         Prepare for supporting FreeBSD 10.
18832         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
18833         match FreeBSD 10.0.
18834
18835 2011-01-27  Bruno Haible  <bruno@clisp.org>
18836
18837         vma-iter, get-rusage-as: Add OpenBSD support.
18838         * modules/vma-iter (configure.ac): Test for mquery.
18839         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
18840         * lib/vma-iter.c: Include <sys/mman.h>.
18841         (vma_iterate): Add an implementation based on mquery().
18842         * lib/resource-ext.h (get_rusage_as): Update comments.
18843         * lib/get-rusage-as.c: Likewise.
18844         * lib/get-rusage-data.c: Likewise.
18845
18846 2011-01-26  Karl Berry  <karl@gnu.org>
18847
18848         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
18849         variables to make it easier to override the makeinfo program used.
18850
18851 2011-01-26  Eric Blake  <eblake@redhat.com>
18852
18853         fcntl: work around Haiku F_DUPFD bugs
18854         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
18855         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
18856         cloexec bit on duplication.
18857         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
18858
18859 2011-01-26  Bruno Haible  <bruno@clisp.org>
18860
18861         Enable memory leak tests on AIX.
18862         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
18863         * tests/test-fprintf-posix3.c (main): Likewise.
18864
18865 2011-01-26  Bruno Haible  <bruno@clisp.org>
18866
18867         Tests for module 'get-rusage-data'.
18868         * modules/get-rusage-data-tests: New file.
18869         * tests/test-get-rusage-data.c: New file.
18870
18871         New module 'get-rusage-data'.
18872         * lib/resource-ext.h (get_rusage_data): New declaration.
18873         * lib/get-rusage-data.c: New file.
18874         * modules/get-rusage-data: New file.
18875
18876 2011-01-25  Bruno Haible  <bruno@clisp.org>
18877
18878         get-rusage-as: Allow for easier testing.
18879         * lib/resource-ext.h (get_rusage_as): Add comment.
18880         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
18881         (main): New function for interactive testing.
18882
18883 2011-01-25  Bruno Haible  <bruno@clisp.org>
18884
18885         vma-iter: Treat Haiku like BeOS.
18886         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
18887         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
18888
18889 2011-01-25  Eric Blake  <eblake@redhat.com>
18890
18891         c-stack: fix regression on cygwin when libsigsegv is present
18892         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
18893
18894 2011-01-24  Bruno Haible  <bruno@clisp.org>
18895
18896         vma-iter: Avoid empty intervals.
18897         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
18898         on an empty interval.
18899
18900 2011-01-24  Jim Meyering  <meyering@redhat.com>
18901
18902         u64: remove unnecessary #include
18903         * lib/u64.h: Don't include <stddef.h>.  It was not used.
18904
18905 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18906
18907         Allow the user to avoid the HAVE_RAW_DECL_* macros.
18908         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
18909
18910 2011-01-23  Bruno Haible  <bruno@clisp.org>
18911
18912         New module 'vma-iter'.
18913         * lib/vma-iter.h: New file.
18914         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
18915         * modules/vma-iter: New file.
18916         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
18917         for get_rusage_as_via_iterator.
18918         (vma_iterate_callback): New function.
18919         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
18920         * modules/get-rusage-as (Depends-on): Add vma-iter.
18921
18922 2011-01-23  Bruno Haible  <bruno@clisp.org>
18923
18924         uninorm: Tweak includes.
18925         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
18926         Reported by Jim Meyering.
18927
18928 2011-01-23  Bruno Haible  <bruno@clisp.org>
18929
18930         get-rusage-as: Improve on NetBSD.
18931         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
18932         /proc, like on FreeBSD.
18933
18934 2011-01-23  Jim Meyering  <meyering@redhat.com>
18935
18936         xreadlink.h: remove unnecessary #include
18937         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
18938
18939         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
18940         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
18941
18942 2011-01-23  Bruno Haible  <bruno@clisp.org>
18943
18944         get-rusage-as: Fix bug.
18945         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
18946         original limit when aborting the first loop.
18947
18948 2011-01-23  Bruno Haible  <bruno@clisp.org>
18949
18950         wctype: Ensure valid C syntax.
18951         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
18952         unconditionally, instead of gl_NEXT_HEADERS conditionally.
18953
18954 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
18955
18956         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
18957         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
18958         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
18959         as they are needed only for configure's test case.
18960         This removes two unnecessary symbols from config.h.
18961
18962         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
18963         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
18964         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
18965         AC_CHECK_HEADERS_ONCE on a header that we also invoke
18966         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
18967         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
18968         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
18969         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
18970         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18971         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18972         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18973         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18974         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18975         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18976         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
18977         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18978         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18979         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18980
18981 2011-01-21  Eric Blake  <eblake@redhat.com>
18982
18983         maintainer-makefile: work with older git for submodule check
18984         * top/maint.mk (public-submodule-commit): Rewrite to avoid
18985         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
18986         Reported by Matthias Bolte.
18987
18988         bootstrap: minor portability fixes
18989         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
18990         (usage): Omit leading capital and trailing . on help phrases, per
18991         GNU Coding Standards.
18992         (check_versions, top level): Prefix messages with script name.
18993
18994 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
18995
18996         bootstrap: support --no-git option
18997         * build-aux/bootstrap: Add --no-git option, to be used when
18998         --gnulib-srcdir points to the exact desired checkout.
18999
19000 2011-01-21  Eric Blake  <eblake@redhat.com>
19001
19002         strerror_r-posix: work with glibc 2.13
19003         * lib/strerror_r.c (strerror_r): Fix return type.
19004
19005 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19006             Bruno Haible  <bruno@clisp.org>
19007
19008         uN_strstr: New unit tests.
19009         * modules/unistr/u8-strstr-tests: New file.
19010         * modules/unistr/u16-strstr-tests: New file.
19011         * modules/unistr/u32-strstr-tests: New file.
19012         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19013         * tests/unistr/test-u8-strstr.c: New file.
19014         * tests/unistr/test-u16-strstr.c: New file.
19015         * tests/unistr/test-u32-strstr.c: New file.
19016
19017 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19018             Bruno Haible  <bruno@clisp.org>
19019
19020         Make uN_strstr functions O(n) worst-case.
19021         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19022         16-bit and 32-bit unit cases, use the unibyte algorithm from
19023         lib/mbsstr.c.
19024         * lib/unistr/u8-strstr.c: Include <string.h>.
19025         (UNIT_IS_UINT8_T): New macro.
19026         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19027         (U_STRLEN, U_STRNLEN): New macros.
19028         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19029         (U_STRLEN, U_STRNLEN): New macros.
19030         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19031         (configure.ac): Update required libunistring version.
19032         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19033         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19034         malloca.
19035         (configure.ac): Update required libunistring version.
19036         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19037         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19038         malloca.
19039         (configure.ac): Update required libunistring version.
19040
19041 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19042             Bruno Haible  <bruno@clisp.org>
19043
19044         Prepare for faster uN_strstr functions.
19045         * lib/str-kmp.h: Support definable UNITs.
19046         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19047         needle_len argument.
19048         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19049         * lib/mbscasestr.c (mbscasestr): Likewise.
19050
19051 2011-01-21  Pádraig Brady <P@draigBrady.com>
19052
19053         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19054         * tests/test-malloca.c (main): Unset the environment variable
19055         to greatly speed up the test.
19056         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19057         * modules/malloca-tests: Depend on unsetenv.
19058
19059 2011-01-21  Pádraig Brady <P@draigBrady.com>
19060
19061         ignore-value: remove stdint dependency
19062         * lib/ignore-value.h: Remove <stdint.h>
19063         * modules/ignore-value: Remove stdint dependency.
19064
19065 2011-01-21  Jim Meyering  <meyering@redhat.com>
19066
19067         maint.mk: adjust variable name to be consistent with other gl_ vars
19068         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19069         to be lower case.
19070
19071 2011-01-20  Jim Meyering  <meyering@redhat.com>
19072
19073         maint.mk: make "check" depend on public-submodule-commit by default
19074         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19075
19076 2011-01-20  Bruno Haible  <bruno@clisp.org>
19077
19078         mbfile, mbiter: Complete change from 2008-12-21.
19079         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19080         * m4/mbiter.m4 (gl_MBITER): Likewise.
19081
19082 2011-01-20  Jim Meyering  <meyering@redhat.com>
19083
19084         init.sh: insert space between each function name and "()"
19085         * tests/init.sh: Make it a little easier to see that a function's
19086         name is "warn_", and not "warn" when looking at the first part of
19087         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19088
19089 2011-01-20  Jim Meyering  <meyering@redhat.com>
19090
19091         mountlist: clean up code formatting
19092         * lib/mountlist.c (read_file_system_list): Split a long line,
19093         correct bracing style, use NULL in place of "(struct statfs *)0",
19094         don't parenthesize return value, add spaces around "=" and after
19095         ";-in-for-stmt".
19096
19097 2011-01-14  Markus Duft <mduft@gentoo.org>
19098
19099         mountlist: add support for Interix
19100         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19101         Apply statvfs to all entries of /dev/fs.
19102         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19103         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19104
19105 2011-01-20  Jim Meyering  <meyering@redhat.com>
19106
19107         maint.mk: improve the public-submodule-commit rule
19108         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19109         to suppress printing of its commands... unless V=1.
19110         Add git submodule's --quiet option to suppress printing of e.g.,
19111         "Entering gnulib" output.
19112         "cd" into $(srcdir) before running git submodule.
19113
19114 2011-01-20  Bruno Haible  <bruno@clisp.org>
19115
19116         include_next: Fix bug introduced on 2011-01-18.
19117         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19118         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19119         ac_cv_header_... variable if the second argument is not 'check'.
19120         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19121         gl_NEXT_HEADERS_INTERNAL.
19122
19123 2011-01-20  Bruno Haible  <bruno@clisp.org>
19124
19125         Allow the user to avoid the GNULIB_TEST_* macros.
19126         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19127         Suggested by Paul Eggert.
19128
19129 2011-01-14  Jim Meyering  <meyering@redhat.com>
19130
19131         bootstrap: avoid failure when there is no .gitmodules file
19132         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19133         has been assigned to, even when its value is the empty string.
19134         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19135         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19136         Reported by John W. Eaton <jwe@gnu.org>.
19137
19138 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19139
19140         assume <ctype.h>, ..., <time.h> exist
19141         For years gnulib has been assuming the existence of the headers
19142         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19143         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19144         them, since they don't appear to be needed.
19145         * README (Portability guidelines): Document this.
19146         * lib/flock.c: Assume <fcntl.h> exists.
19147         * lib/regex_internal.h: Assume <locale.h> exists.
19148         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19149         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19150         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19151         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19152         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19153         * m4/regex.m4 (gl_REGEX): Likewise.
19154         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19155         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19156         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19157         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19158         * tests/test-argp.c: Likewise.
19159         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19160
19161         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19162         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19163         AA_APPLE_UNIVERSAL_BUILD.  See
19164         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19165         * NEWS: Document this.
19166
19167 2011-01-19  Eric Blake  <eblake@redhat.com>
19168
19169         c-stack: assume stack overflow if SA_SIGINFO unsupported
19170         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19171         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19172         sigaction will work.
19173         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19174         behavior match Linux.
19175         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19176
19177         stdbool-tests: accomodate Haiku
19178         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19179
19180         binary-io: fix O_TEXT on Haiku
19181         * modules/binary-io (Depends-on): Add fcntl-h.
19182         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19183         than blindly undefining O_TEXT.
19184         Reported by Scott McCreary.
19185
19186 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19187
19188         include_next: do not check for standard headers like stddef.h
19189
19190         I found this problem when modifying Emacs to use gnulib.
19191         I noticed that it added HAVE_STDDEF_H to config.h, even though
19192         gnulib always assumes <stddef.h> exists as per README and this
19193         symbol is unnecessary.
19194         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19195         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19196         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19197         faster for headers like stddef.h that are known to exist.
19198         (gl_CHECK_NEXT_HEADERS): Use it.
19199         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19200         rather than gl_CHECK_NEXT_HEADERS.
19201         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19202         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19203
19204 2011-01-18  Eric Blake  <eblake@redhat.com>
19205
19206         ansi-c++-opt: skip C++ dependency style if C++ is unused
19207         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19208         tests when we know C++ compilation is not desired.
19209         Reported by Scott McCreary.
19210
19211 2011-01-18  Bruno Haible  <bruno@clisp.org>
19212
19213         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19214         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19215         (main): Perform test also when getrlimit and setrlimit don't exist or
19216         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19217         limiting the address space size using setrlimit, compare the address
19218         space size before and after the the test.
19219         * tests/test-dprintf-posix2.c: Likewise.
19220         * tests/test-fprintf-posix3.sh: Update skip messages.
19221         * tests/test-dprintf-posix2.sh: Likewise.
19222         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19223         * modules/dprintf-posix-tests (Depends-on): Likewise.
19224         Reported by Bruce Korb <bkorb@gnu.org> and
19225         Gary V. Vaughan <gary@gnu.org>.
19226
19227 2011-01-18  Bruno Haible  <bruno@clisp.org>
19228
19229         get-rusage-as: Improvement for Cygwin.
19230         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19231         areas that are merely reserved.
19232
19233 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19234
19235         strftime: remove dependencies on multibyte modules
19236
19237         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19238         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19239         only if __osf__ is defined, and I suspect OSF doesn't need these
19240         other modules.  If my guess is wrong, we'll need to come up with a
19241         variant of strftime that doesn't need the multibyte modules.
19242
19243         I discovered this problem when attempting modify Emacs to use the
19244         strftime module.  With the previous gnulib, this caused Emacs to
19245         need 31 new files, ranging from lib/config.charset to
19246         m4/wint_t.m4.  This was overkill and I expect would be offputting
19247         to the Emacs maintainers.  After this change, only 6 new files are
19248         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19249         stdbool.m4, and tm_gmtoff.m4.
19250
19251         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19252         Suggested by Bruno Haible in
19253         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19254         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19255         and do not check for wchar.h.
19256         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19257         (Depends-on): Remove mbrlen, mbsinit, wchar.
19258
19259 2011-01-18  Bruno Haible  <bruno@clisp.org>
19260
19261         Tests for module 'get-rusage-as'.
19262         * modules/get-rusage-as-tests: New file.
19263         * tests/test-get-rusage-as.c: New file.
19264
19265         New module 'get-rusage-as'.
19266         * modules/get-rusage-as: New file.
19267         * lib/resource-ext.h: New file.
19268         * lib/get-rusage-as.c: New file.
19269
19270 2011-01-17  Eric Blake  <eblake@redhat.com>
19271
19272         sigaction: relax license from LGPLv3+ to LGPLv2+
19273         * modules/sigaction (License): Relax to LGPLv2+.
19274
19275 2011-01-14  Bruno Haible  <bruno@clisp.org>
19276
19277         filemode: Make function declarations usable in C++ mode.
19278         * lib/filemode.h: Enclose function declarations in extern "C" block.
19279         Reported by John W. Eaton <jwe@gnu.org>.
19280
19281 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19282
19283         save-cwd: no longer include "xgetcwd.h"
19284         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19285         This avoids a compilation failure in projects that use save-cwd
19286         without also using the xgetcwd module.
19287
19288 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19289
19290         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19291         This is so that a program like Emacs, which needs only dtoastr,
19292         does not have to bother with distributing and compiling ftoastr
19293         and ldtoastr.
19294         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19295         * modules/dtoastr, modules/ldtoastr: New files.
19296         * modules/ftoastr: Now works just for 'float'.
19297         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19298         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19299         dtoastr.c, ldtoastr.c.
19300
19301 2011-01-11  Jim Meyering  <meyering@redhat.com>
19302
19303         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19304         There is no need to work around the lack of the fchdir function,
19305         since gnulib can now provide a replacement when required.
19306         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19307         * modules/save-cwd (Depends-on): Add fchdir.
19308
19309 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19310
19311         openat, save-cwd: avoid xmalloc
19312
19313         This removes a direct (but undocumented) dependency of openat on
19314         xalloc, along with an indirect dependency via save-cwd.  It also
19315         removes a dependency of save-cwd on xgetcwd, and thereby
19316         indirectly on xalloc.  This change causes the openat substitute
19317         to fall back on save_cwd when memory is tight, and for save_cwd to
19318         fail instead of dying when memory is tight, but that's good enough.
19319         Problem and initial idea for fix reported by Bastien Roucaries in
19320         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
19321
19322         * lib/openat-proc.c: Include stdlib.h (for malloc), not
19323         xalloc.h (for xmalloc).
19324         (openat_proc_name): Use malloc, not xmalloc.
19325         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
19326         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
19327
19328         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
19329         This avoids heap allocation for file names whose lengths are in
19330         the range 512..1023, with the upper bound increasing to at most
19331         4031 depending on the platform's PATH_MAX.  (We do not want
19332         pathmax.h here as it might supply a non-constant PATH_MAX.)
19333         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
19334         Perhaps they should be moved to malloca.h?
19335         (OPENAT_BUFFER_SIZE): Use them.
19336
19337 2011-01-10  Bruno Haible  <bruno@clisp.org>
19338
19339         doc: Update users.txt.
19340         * users.txt: Add recutils.
19341
19342 2011-01-09  Karl Berry  <karl@gnu.org>
19343
19344         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19345
19346         * doc/configmake.texi: New file.
19347         * doc/gnulib.texi: Include it.
19348         * modules/configmake: Move documentation from here.
19349
19350 2011-01-09  Bruno Haible  <bruno@clisp.org>
19351
19352         Update to Unicode 6.0.0.
19353         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
19354         (get_lbp): Update for Unicode 6.0.0.
19355         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
19356         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
19357         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
19358         U+11001, U+11038..U+11046. Remove U+06DE.
19359         (uc_width): Fix bounds of planes.
19360         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19361         lib/uniwidth/width.c.
19362         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
19363         trailing whitespace removed.
19364         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
19365         without comments, but with the original copyright notice.
19366         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
19367         * lib/unicase/ignorable.h: Likewise.
19368         * lib/unicase/tocasefold.h: Likewise.
19369         * lib/unicase/tolower.h: Likewise.
19370         * lib/unicase/totitle.h: Likewise.
19371         * lib/unicase/toupper.h: Likewise.
19372         * lib/unictype/bidi_of.h: Likewise.
19373         * lib/unictype/blocks.h: Likewise.
19374         * lib/unictype/categ_C.h: Likewise.
19375         * lib/unictype/categ_Cn.h: Likewise.
19376         * lib/unictype/categ_L.h: Likewise.
19377         * lib/unictype/categ_Ll.h: Likewise.
19378         * lib/unictype/categ_Lm.h: Likewise.
19379         * lib/unictype/categ_Lo.h: Likewise.
19380         * lib/unictype/categ_Lu.h: Likewise.
19381         * lib/unictype/categ_M.h: Likewise.
19382         * lib/unictype/categ_Mc.h: Likewise.
19383         * lib/unictype/categ_Me.h: Likewise.
19384         * lib/unictype/categ_Mn.h: Likewise.
19385         * lib/unictype/categ_N.h: Likewise.
19386         * lib/unictype/categ_Nd.h: Likewise.
19387         * lib/unictype/categ_No.h: Likewise.
19388         * lib/unictype/categ_P.h: Likewise.
19389         * lib/unictype/categ_Po.h: Likewise.
19390         * lib/unictype/categ_S.h: Likewise.
19391         * lib/unictype/categ_Sc.h: Likewise.
19392         * lib/unictype/categ_Sk.h: Likewise.
19393         * lib/unictype/categ_Sm.h: Likewise.
19394         * lib/unictype/categ_So.h: Likewise.
19395         * lib/unictype/categ_of.h: Likewise.
19396         * lib/unictype/combining.h: Likewise.
19397         * lib/unictype/ctype_alnum.h: Likewise.
19398         * lib/unictype/ctype_alpha.h: Likewise.
19399         * lib/unictype/ctype_graph.h: Likewise.
19400         * lib/unictype/ctype_lower.h: Likewise.
19401         * lib/unictype/ctype_print.h: Likewise.
19402         * lib/unictype/ctype_punct.h: Likewise.
19403         * lib/unictype/ctype_upper.h: Likewise.
19404         * lib/unictype/decdigit.h: Likewise.
19405         * lib/unictype/digit.h: Likewise.
19406         * lib/unictype/numeric.h: Likewise.
19407         * lib/unictype/pr_alphabetic.h: Likewise.
19408         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19409         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19410         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19411         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19412         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19413         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19414         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19415         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19416         * lib/unictype/pr_case_ignorable.h: Likewise.
19417         * lib/unictype/pr_cased.h: Likewise.
19418         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
19419         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
19420         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
19421         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
19422         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
19423         * lib/unictype/pr_combining.h: Likewise.
19424         * lib/unictype/pr_composite.h: Likewise.
19425         * lib/unictype/pr_currency_symbol.h: Likewise.
19426         * lib/unictype/pr_decimal_digit.h: Likewise.
19427         * lib/unictype/pr_deprecated.h: Likewise.
19428         * lib/unictype/pr_format_control.h: Likewise.
19429         * lib/unictype/pr_grapheme_base.h: Likewise.
19430         * lib/unictype/pr_grapheme_extend.h: Likewise.
19431         * lib/unictype/pr_grapheme_link.h: Likewise.
19432         * lib/unictype/pr_id_continue.h: Likewise.
19433         * lib/unictype/pr_id_start.h: Likewise.
19434         * lib/unictype/pr_ideographic.h: Likewise.
19435         * lib/unictype/pr_lowercase.h: Likewise.
19436         * lib/unictype/pr_math.h: Likewise.
19437         * lib/unictype/pr_numeric.h: Likewise.
19438         * lib/unictype/pr_other_alphabetic.h: Likewise.
19439         * lib/unictype/pr_other_id_continue.h: Likewise.
19440         * lib/unictype/pr_other_math.h: Likewise.
19441         * lib/unictype/pr_punctuation.h: Likewise.
19442         * lib/unictype/pr_sentence_terminal.h: Likewise.
19443         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19444         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19445         * lib/unictype/pr_unified_ideograph.h: Likewise.
19446         * lib/unictype/pr_uppercase.h: Likewise.
19447         * lib/unictype/pr_xid_continue.h: Likewise.
19448         * lib/unictype/pr_xid_start.h: Likewise.
19449         * lib/unictype/scripts.h: Likewise.
19450         * lib/unictype/scripts_byname.gperf: Likewise.
19451         * lib/unictype/sy_java_ident.h: Likewise.
19452         * lib/unigbrk/gbrkprop.h: Likewise.
19453         * lib/unilbrk/lbrkprop1.h: Likewise.
19454         * lib/unilbrk/lbrkprop2.h: Likewise.
19455         * lib/uninorm/decomposition-table2.h: Likewise.
19456         * lib/uniwbrk/wbrkprop.h: Likewise.
19457         * tests/unicase/test-cased.c: Likewise.
19458         * tests/unicase/test-ignorable.c: Likewise.
19459         * tests/unicase/test-uc_tolower.c: Likewise.
19460         * tests/unicase/test-uc_totitle.c: Likewise.
19461         * tests/unicase/test-uc_toupper.c: Likewise.
19462         * tests/unictype/test-categ_C.c: Likewise.
19463         * tests/unictype/test-categ_Cn.c: Likewise.
19464         * tests/unictype/test-categ_L.c: Likewise.
19465         * tests/unictype/test-categ_Ll.c: Likewise.
19466         * tests/unictype/test-categ_Lm.c: Likewise.
19467         * tests/unictype/test-categ_Lo.c: Likewise.
19468         * tests/unictype/test-categ_Lu.c: Likewise.
19469         * tests/unictype/test-categ_M.c: Likewise.
19470         * tests/unictype/test-categ_Mc.c: Likewise.
19471         * tests/unictype/test-categ_Me.c: Likewise.
19472         * tests/unictype/test-categ_Mn.c: Likewise.
19473         * tests/unictype/test-categ_N.c: Likewise.
19474         * tests/unictype/test-categ_Nd.c: Likewise.
19475         * tests/unictype/test-categ_No.c: Likewise.
19476         * tests/unictype/test-categ_P.c: Likewise.
19477         * tests/unictype/test-categ_Po.c: Likewise.
19478         * tests/unictype/test-categ_S.c: Likewise.
19479         * tests/unictype/test-categ_Sc.c: Likewise.
19480         * tests/unictype/test-categ_Sk.c: Likewise.
19481         * tests/unictype/test-categ_Sm.c: Likewise.
19482         * tests/unictype/test-categ_So.c: Likewise.
19483         * tests/unictype/test-ctype_alnum.c: Likewise.
19484         * tests/unictype/test-ctype_alpha.c: Likewise.
19485         * tests/unictype/test-ctype_graph.c: Likewise.
19486         * tests/unictype/test-ctype_lower.c: Likewise.
19487         * tests/unictype/test-ctype_print.c: Likewise.
19488         * tests/unictype/test-ctype_punct.c: Likewise.
19489         * tests/unictype/test-ctype_upper.c: Likewise.
19490         * tests/unictype/test-decdigit.h: Likewise.
19491         * tests/unictype/test-digit.h: Likewise.
19492         * tests/unictype/test-numeric.h: Likewise.
19493         * tests/unictype/test-pr_alphabetic.c: Likewise.
19494         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19495         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
19496         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
19497         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19498         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19499         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19500         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19501         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19502         * tests/unictype/test-pr_case_ignorable.c: Likewise.
19503         * tests/unictype/test-pr_cased.c: Likewise.
19504         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
19505         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
19506         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
19507         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
19508         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
19509         * tests/unictype/test-pr_combining.c: Likewise.
19510         * tests/unictype/test-pr_composite.c: Likewise.
19511         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19512         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19513         * tests/unictype/test-pr_deprecated.c: Likewise.
19514         * tests/unictype/test-pr_format_control.c: Likewise.
19515         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19516         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19517         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19518         * tests/unictype/test-pr_id_continue.c: Likewise.
19519         * tests/unictype/test-pr_id_start.c: Likewise.
19520         * tests/unictype/test-pr_ideographic.c: Likewise.
19521         * tests/unictype/test-pr_lowercase.c: Likewise.
19522         * tests/unictype/test-pr_math.c: Likewise.
19523         * tests/unictype/test-pr_numeric.c: Likewise.
19524         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19525         * tests/unictype/test-pr_other_id_continue.c: Likewise.
19526         * tests/unictype/test-pr_other_math.c: Likewise.
19527         * tests/unictype/test-pr_punctuation.c: Likewise.
19528         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19529         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19530         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19531         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19532         * tests/unictype/test-pr_uppercase.c: Likewise.
19533         * tests/unictype/test-pr_xid_continue.c: Likewise.
19534         * tests/unictype/test-pr_xid_start.c: Likewise.
19535         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19536         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19537         changes.
19538         * lib/unictype/categ_Cc.h: Likewise.
19539         * lib/unictype/categ_Cf.h: Likewise.
19540         * lib/unictype/categ_Co.h: Likewise.
19541         * lib/unictype/categ_Cs.h: Likewise.
19542         * lib/unictype/categ_Lt.h: Likewise.
19543         * lib/unictype/categ_Nl.h: Likewise.
19544         * lib/unictype/categ_Pc.h: Likewise.
19545         * lib/unictype/categ_Pd.h: Likewise.
19546         * lib/unictype/categ_Pe.h: Likewise.
19547         * lib/unictype/categ_Pf.h: Likewise.
19548         * lib/unictype/categ_Pi.h: Likewise.
19549         * lib/unictype/categ_Ps.h: Likewise.
19550         * lib/unictype/categ_Z.h: Likewise.
19551         * lib/unictype/categ_Zl.h: Likewise.
19552         * lib/unictype/categ_Zp.h: Likewise.
19553         * lib/unictype/categ_Zs.h: Likewise.
19554         * lib/unictype/ctype_blank.h: Likewise.
19555         * lib/unictype/ctype_cntrl.h: Likewise.
19556         * lib/unictype/ctype_digit.h: Likewise.
19557         * lib/unictype/ctype_space.h: Likewise.
19558         * lib/unictype/ctype_xdigit.h: Likewise.
19559         * lib/unictype/mirror.h: Likewise.
19560         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19561         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19562         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19563         * lib/unictype/pr_bidi_control.h: Likewise.
19564         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19565         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19566         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19567         * lib/unictype/pr_bidi_pdf.h: Likewise.
19568         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19569         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19570         * lib/unictype/pr_dash.h: Likewise.
19571         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19572         * lib/unictype/pr_diacritic.h: Likewise.
19573         * lib/unictype/pr_extender.h: Likewise.
19574         * lib/unictype/pr_hex_digit.h: Likewise.
19575         * lib/unictype/pr_hyphen.h: Likewise.
19576         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19577         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19578         * lib/unictype/pr_ignorable_control.h: Likewise.
19579         * lib/unictype/pr_iso_control.h: Likewise.
19580         * lib/unictype/pr_join_control.h: Likewise.
19581         * lib/unictype/pr_left_of_pair.h: Likewise.
19582         * lib/unictype/pr_line_separator.h: Likewise.
19583         * lib/unictype/pr_logical_order_exception.h: Likewise.
19584         * lib/unictype/pr_non_break.h: Likewise.
19585         * lib/unictype/pr_not_a_character.h: Likewise.
19586         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19587         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19588         * lib/unictype/pr_other_id_start.h: Likewise.
19589         * lib/unictype/pr_other_lowercase.h: Likewise.
19590         * lib/unictype/pr_other_uppercase.h: Likewise.
19591         * lib/unictype/pr_paired_punctuation.h: Likewise.
19592         * lib/unictype/pr_paragraph_separator.h: Likewise.
19593         * lib/unictype/pr_pattern_syntax.h: Likewise.
19594         * lib/unictype/pr_pattern_white_space.h: Likewise.
19595         * lib/unictype/pr_private_use.h: Likewise.
19596         * lib/unictype/pr_quotation_mark.h: Likewise.
19597         * lib/unictype/pr_radical.h: Likewise.
19598         * lib/unictype/pr_soft_dotted.h: Likewise.
19599         * lib/unictype/pr_space.h: Likewise.
19600         * lib/unictype/pr_titlecase.h: Likewise.
19601         * lib/unictype/pr_variation_selector.h: Likewise.
19602         * lib/unictype/pr_white_space.h: Likewise.
19603         * lib/unictype/pr_zero_width.h: Likewise.
19604         * lib/unictype/sy_c_ident.h: Likewise.
19605         * lib/unictype/sy_c_whitespace.h: Likewise.
19606         * lib/unictype/sy_java_whitespace.h: Likewise.
19607         * lib/uninorm/composition-table.gperf: Likewise.
19608         * lib/uninorm/decomposition-table1.h: Likewise.
19609         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
19610         LB8.
19611         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19612         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19613         * modules/unictype/*: Bump version number of expected libunistring
19614         version.
19615
19616 2011-01-09  Bruno Haible  <bruno@clisp.org>
19617
19618         Update to Unicode 5.2.0.
19619         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
19620         trailing whitespace removed.
19621
19622 2011-01-09  Bruno Haible  <bruno@clisp.org>
19623
19624         New Unicode character properties, from Unicode 5.2.0.
19625         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
19626         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
19627         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
19628         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
19629         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
19630         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
19631         uc_is_property_cased, uc_is_property_case_ignorable,
19632         uc_is_property_changes_when_lowercased,
19633         uc_is_property_changes_when_uppercased,
19634         uc_is_property_changes_when_titlecased,
19635         uc_is_property_changes_when_casefolded,
19636         uc_is_property_changes_when_casemapped): New declarations.
19637         * lib/unictype/pr_byname.gperf: Add the new properties.
19638         * modules/unictype/property-byname (Depends-on): Depend on the new
19639         properties modules.
19640         * modules/unictype/property-all (Depends-on): Likewise.
19641         * MODULES.html.sh (Unicode string functions): Add
19642         unictype/property-case-ignorable, unictype/property-cased,
19643         unictype/property-changes-when-casefolded,
19644         unictype/property-changes-when-casemapped,
19645         unictype/property-changes-when-lowercased,
19646         unictype/property-changes-when-titlecased,
19647         unictype/property-changes-when-uppercased.
19648
19649         New module 'unictype/property-changes-when-casemapped'.
19650         * modules/unictype/property-changes-when-casemapped: New file.
19651         * lib/unictype/pr_changes_when_casemapped.c: New file.
19652         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
19653         generated by gen-uni-tables.
19654         * modules/unictype/property-changes-when-casemapped-tests: New file.
19655         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
19656         automatically generated by gen-uni-tables.
19657
19658         New module 'unictype/property-changes-when-casefolded'.
19659         * modules/unictype/property-changes-when-casefolded: New file.
19660         * lib/unictype/pr_changes_when_casefolded.c: New file.
19661         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
19662         generated by gen-uni-tables.
19663         * modules/unictype/property-changes-when-casefolded-tests: New file.
19664         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
19665         automatically generated by gen-uni-tables.
19666
19667         New module 'unictype/property-changes-when-titlecased'.
19668         * modules/unictype/property-changes-when-titlecased: New file.
19669         * lib/unictype/pr_changes_when_titlecased.c: New file.
19670         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
19671         generated by gen-uni-tables.
19672         * modules/unictype/property-changes-when-titlecased-tests: New file.
19673         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
19674         automatically generated by gen-uni-tables.
19675
19676         New module 'unictype/property-changes-when-uppercased'.
19677         * modules/unictype/property-changes-when-uppercased: New file.
19678         * lib/unictype/pr_changes_when_uppercased.c: New file.
19679         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
19680         generated by gen-uni-tables.
19681         * modules/unictype/property-changes-when-uppercased-tests: New file.
19682         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
19683         automatically generated by gen-uni-tables.
19684
19685         New module 'unictype/property-changes-when-lowercased'.
19686         * modules/unictype/property-changes-when-lowercased: New file.
19687         * lib/unictype/pr_changes_when_lowercased.c: New file.
19688         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
19689         generated by gen-uni-tables.
19690         * modules/unictype/property-changes-when-lowercased-tests: New file.
19691         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
19692         automatically generated by gen-uni-tables.
19693
19694         New module 'unictype/property-case-ignorable'.
19695         * modules/unictype/property-case-ignorable: New file.
19696         * lib/unictype/pr_case_ignorable.c: New file.
19697         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
19698         by gen-uni-tables.
19699         * modules/unictype/property-case-ignorable-tests: New file.
19700         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
19701         generated by gen-uni-tables.
19702
19703         New module 'unictype/property-cased'.
19704         * modules/unictype/property-cased: New file.
19705         * lib/unictype/pr_cased.c: New file.
19706         * lib/unictype/pr_cased.h: New file, automatically generated by
19707         gen-uni-tables.
19708         * modules/unictype/property-cased-tests: New file.
19709         * tests/unictype/test-pr_cased.c: New file, automatically generated by
19710         gen-uni-tables.
19711
19712 2011-01-09  Bruno Haible  <bruno@clisp.org>
19713
19714         Update to Unicode 5.2.0.
19715         * lib/gen-uni-tables.c (output_predicate, output_category,
19716         output_combclass, output_bidi_category, output_decimal_digit_test,
19717         output_decimal_digit, output_digit_test, output_digit,
19718         output_numeric_test, output_numeric, output_mirror, output_scripts,
19719         output_scripts_byname, output_blocks, output_ident_category): Fix
19720         comment header.
19721         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
19722         get_wbp.
19723         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
19724         items.
19725         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
19726         Changes_When_Lowercased, Changes_When_Uppercased,
19727         Changes_When_Titlecased, Changes_When_Casefolded,
19728         Changes_When_Casemapped.
19729         (is_property_alphabetic, is_property_default_ignorable_code_point):
19730         Update for Unicode 5.2.0.
19731         (is_property_cased, is_property_case_ignorable,
19732         is_property_changes_when_lowercased,
19733         is_property_changes_when_uppercased,
19734         is_property_changes_when_titlecased,
19735         is_property_changes_when_casefolded,
19736         is_property_changes_when_casemapped): New functions.
19737         (output_properties): Output also the properties cased, case_ignorable,
19738         changes_when_lowercased, changes_when_uppercased,
19739         changes_when_titlecased, changes_when_casefolded,
19740         changes_when_casemapped.
19741         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
19742         Unicode TR#11 revision 17 -> 19.
19743         (LBP_CP): New enumeration value.
19744         (LBP_*): Adjust values accordingly.
19745         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19746         TR#14 revision 22 -> 24.
19747         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
19748         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
19749         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19750         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
19751         is_WBP_MIDLETTER.
19752         (output_composition_tables): Allow for 24 bits instead of 16 bits in
19753         the code1 and code2 of each composition rule.
19754         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
19755         * lib/unicase/ignorable.h: Likewise.
19756         * lib/unicase/tocasefold.h: Likewise.
19757         * lib/unicase/tolower.h: Likewise.
19758         * lib/unicase/totitle.h: Likewise.
19759         * lib/unicase/toupper.h: Likewise.
19760         * lib/unictype/bidi_of.h: Likewise.
19761         * lib/unictype/blocks.h: Likewise.
19762         * lib/unictype/categ_C.h: Likewise.
19763         * lib/unictype/categ_Cf.h: Likewise.
19764         * lib/unictype/categ_Cn.h: Likewise.
19765         * lib/unictype/categ_L.h: Likewise.
19766         * lib/unictype/categ_Ll.h: Likewise.
19767         * lib/unictype/categ_Lm.h: Likewise.
19768         * lib/unictype/categ_Lo.h: Likewise.
19769         * lib/unictype/categ_Lu.h: Likewise.
19770         * lib/unictype/categ_M.h: Likewise.
19771         * lib/unictype/categ_Mc.h: Likewise.
19772         * lib/unictype/categ_Mn.h: Likewise.
19773         * lib/unictype/categ_N.h: Likewise.
19774         * lib/unictype/categ_Nd.h: Likewise.
19775         * lib/unictype/categ_Nl.h: Likewise.
19776         * lib/unictype/categ_No.h: Likewise.
19777         * lib/unictype/categ_P.h: Likewise.
19778         * lib/unictype/categ_Pd.h: Likewise.
19779         * lib/unictype/categ_Po.h: Likewise.
19780         * lib/unictype/categ_S.h: Likewise.
19781         * lib/unictype/categ_Sc.h: Likewise.
19782         * lib/unictype/categ_So.h: Likewise.
19783         * lib/unictype/categ_of.h: Likewise.
19784         * lib/unictype/combining.h: Likewise.
19785         * lib/unictype/ctype_alnum.h: Likewise.
19786         * lib/unictype/ctype_alpha.h: Likewise.
19787         * lib/unictype/ctype_graph.h: Likewise.
19788         * lib/unictype/ctype_lower.h: Likewise.
19789         * lib/unictype/ctype_print.h: Likewise.
19790         * lib/unictype/ctype_punct.h: Likewise.
19791         * lib/unictype/ctype_upper.h: Likewise.
19792         * lib/unictype/decdigit.h: Likewise.
19793         * lib/unictype/digit.h: Likewise.
19794         * lib/unictype/numeric.h: Likewise.
19795         * lib/unictype/pr_alphabetic.h: Likewise.
19796         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19797         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19798         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19799         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19800         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19801         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19802         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19803         * lib/unictype/pr_combining.h: Likewise.
19804         * lib/unictype/pr_composite.h: Likewise.
19805         * lib/unictype/pr_currency_symbol.h: Likewise.
19806         * lib/unictype/pr_dash.h: Likewise.
19807         * lib/unictype/pr_decimal_digit.h: Likewise.
19808         * lib/unictype/pr_deprecated.h: Likewise.
19809         * lib/unictype/pr_diacritic.h: Likewise.
19810         * lib/unictype/pr_extender.h: Likewise.
19811         * lib/unictype/pr_grapheme_base.h: Likewise.
19812         * lib/unictype/pr_grapheme_extend.h: Likewise.
19813         * lib/unictype/pr_grapheme_link.h: Likewise.
19814         * lib/unictype/pr_id_continue.h: Likewise.
19815         * lib/unictype/pr_id_start.h: Likewise.
19816         * lib/unictype/pr_ideographic.h: Likewise.
19817         * lib/unictype/pr_ignorable_control.h: Likewise.
19818         * lib/unictype/pr_logical_order_exception.h: Likewise.
19819         * lib/unictype/pr_lowercase.h: Likewise.
19820         * lib/unictype/pr_numeric.h: Likewise.
19821         * lib/unictype/pr_other_alphabetic.h: Likewise.
19822         * lib/unictype/pr_punctuation.h: Likewise.
19823         * lib/unictype/pr_sentence_terminal.h: Likewise.
19824         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19825         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19826         * lib/unictype/pr_unified_ideograph.h: Likewise.
19827         * lib/unictype/pr_uppercase.h: Likewise.
19828         * lib/unictype/pr_xid_continue.h: Likewise.
19829         * lib/unictype/pr_xid_start.h: Likewise.
19830         * lib/unictype/pr_zero_width.h: Likewise.
19831         * lib/unictype/scripts.h: Likewise.
19832         * lib/unictype/scripts_byname.gperf: Likewise.
19833         * lib/unictype/sy_java_ident.h: Likewise.
19834         * lib/unigbrk/gbrkprop.h: Likewise.
19835         * lib/unilbrk/lbrkprop1.h: Likewise.
19836         * lib/unilbrk/lbrkprop2.h: Likewise.
19837         * lib/unilbrk/lbrktables.h: Likewise.
19838         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
19839         LBP_CP. Implement rule LB30.
19840         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
19841         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
19842         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
19843         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
19844         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
19845         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
19846         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
19847         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
19848         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
19849         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
19850         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
19851         bits instead of 16 bits in the code1 and code2 of each composition
19852         rule.
19853         (uc_composition): Update for Unicode 5.2.0.
19854         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
19855         * lib/uninorm/decomposition-table2.h: Likewise.
19856         * lib/uniwbrk/wbrkprop.h: Likewise.
19857         * tests/unicase/test-cased.c: Likewise.
19858         * tests/unicase/test-ignorable.c: Likewise.
19859         * tests/unicase/test-uc_tolower.c: Likewise.
19860         * tests/unicase/test-uc_totitle.c: Likewise.
19861         * tests/unicase/test-uc_toupper.c: Likewise.
19862         * tests/unictype/test-categ_C.c: Likewise.
19863         * tests/unictype/test-categ_Cf.c: Likewise.
19864         * tests/unictype/test-categ_Cn.c: Likewise.
19865         * tests/unictype/test-categ_L.c: Likewise.
19866         * tests/unictype/test-categ_Ll.c: Likewise.
19867         * tests/unictype/test-categ_Lm.c: Likewise.
19868         * tests/unictype/test-categ_Lo.c: Likewise.
19869         * tests/unictype/test-categ_Lu.c: Likewise.
19870         * tests/unictype/test-categ_M.c: Likewise.
19871         * tests/unictype/test-categ_Mc.c: Likewise.
19872         * tests/unictype/test-categ_Mn.c: Likewise.
19873         * tests/unictype/test-categ_N.c: Likewise.
19874         * tests/unictype/test-categ_Nd.c: Likewise.
19875         * tests/unictype/test-categ_Nl.c: Likewise.
19876         * tests/unictype/test-categ_No.c: Likewise.
19877         * tests/unictype/test-categ_P.c: Likewise.
19878         * tests/unictype/test-categ_Pd.c: Likewise.
19879         * tests/unictype/test-categ_Po.c: Likewise.
19880         * tests/unictype/test-categ_S.c: Likewise.
19881         * tests/unictype/test-categ_Sc.c: Likewise.
19882         * tests/unictype/test-categ_So.c: Likewise.
19883         * tests/unictype/test-ctype_alnum.c: Likewise.
19884         * tests/unictype/test-ctype_alpha.c: Likewise.
19885         * tests/unictype/test-ctype_graph.c: Likewise.
19886         * tests/unictype/test-ctype_lower.c: Likewise.
19887         * tests/unictype/test-ctype_print.c: Likewise.
19888         * tests/unictype/test-ctype_punct.c: Likewise.
19889         * tests/unictype/test-ctype_upper.c: Likewise.
19890         * tests/unictype/test-decdigit.h: Likewise.
19891         * tests/unictype/test-digit.h: Likewise.
19892         * tests/unictype/test-numeric.h: Likewise.
19893         * tests/unictype/test-pr_alphabetic.c: Likewise.
19894         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19895         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19896         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
19897         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19898         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19899         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19900         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19901         * tests/unictype/test-pr_combining.c: Likewise.
19902         * tests/unictype/test-pr_composite.c: Likewise.
19903         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19904         * tests/unictype/test-pr_dash.c: Likewise.
19905         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19906         * tests/unictype/test-pr_deprecated.c: Likewise.
19907         * tests/unictype/test-pr_diacritic.c: Likewise.
19908         * tests/unictype/test-pr_extender.c: Likewise.
19909         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19910         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19911         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19912         * tests/unictype/test-pr_id_continue.c: Likewise.
19913         * tests/unictype/test-pr_id_start.c: Likewise.
19914         * tests/unictype/test-pr_ideographic.c: Likewise.
19915         * tests/unictype/test-pr_ignorable_control.c: Likewise.
19916         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
19917         * tests/unictype/test-pr_lowercase.c: Likewise.
19918         * tests/unictype/test-pr_numeric.c: Likewise.
19919         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19920         * tests/unictype/test-pr_punctuation.c: Likewise.
19921         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19922         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19923         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19924         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19925         * tests/unictype/test-pr_uppercase.c: Likewise.
19926         * tests/unictype/test-pr_xid_continue.c: Likewise.
19927         * tests/unictype/test-pr_xid_start.c: Likewise.
19928         * tests/unictype/test-pr_zero_width.c: Likewise.
19929         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19930         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
19931         changed behaviour: line breaking is now disallowed between a letter
19932         or '=' and '('.
19933         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19934         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19935         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
19936         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
19937         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19938         lib/uniwidth/width.c.
19939         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
19940         without comments, but with the original copyright notice.
19941         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19942         changes.
19943         * lib/unictype/categ_Cc.h: Likewise.
19944         * lib/unictype/categ_Co.h: Likewise.
19945         * lib/unictype/categ_Cs.h: Likewise.
19946         * lib/unictype/categ_Lt.h: Likewise.
19947         * lib/unictype/categ_Me.h: Likewise.
19948         * lib/unictype/categ_Pc.h: Likewise.
19949         * lib/unictype/categ_Pe.h: Likewise.
19950         * lib/unictype/categ_Pf.h: Likewise.
19951         * lib/unictype/categ_Pi.h: Likewise.
19952         * lib/unictype/categ_Ps.h: Likewise.
19953         * lib/unictype/categ_Sk.h: Likewise.
19954         * lib/unictype/categ_Sm.h: Likewise.
19955         * lib/unictype/categ_Z.h: Likewise.
19956         * lib/unictype/categ_Zl.h: Likewise.
19957         * lib/unictype/categ_Zp.h: Likewise.
19958         * lib/unictype/categ_Zs.h: Likewise.
19959         * lib/unictype/ctype_blank.h: Likewise.
19960         * lib/unictype/ctype_cntrl.h: Likewise.
19961         * lib/unictype/ctype_digit.h: Likewise.
19962         * lib/unictype/ctype_space.h: Likewise.
19963         * lib/unictype/ctype_xdigit.h: Likewise.
19964         * lib/unictype/mirror.h: Likewise.
19965         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19966         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19967         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19968         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19969         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19970         * lib/unictype/pr_bidi_control.h: Likewise.
19971         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19972         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19973         * lib/unictype/pr_bidi_pdf.h: Likewise.
19974         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19975         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19976         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19977         * lib/unictype/pr_format_control.h: Likewise.
19978         * lib/unictype/pr_hex_digit.h: Likewise.
19979         * lib/unictype/pr_hyphen.h: Likewise.
19980         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19981         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19982         * lib/unictype/pr_iso_control.h: Likewise.
19983         * lib/unictype/pr_join_control.h: Likewise.
19984         * lib/unictype/pr_left_of_pair.h: Likewise.
19985         * lib/unictype/pr_line_separator.h: Likewise.
19986         * lib/unictype/pr_math.h: Likewise.
19987         * lib/unictype/pr_non_break.h: Likewise.
19988         * lib/unictype/pr_not_a_character.h: Likewise.
19989         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19990         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19991         * lib/unictype/pr_other_id_continue.h: Likewise.
19992         * lib/unictype/pr_other_id_start.h: Likewise.
19993         * lib/unictype/pr_other_lowercase.h: Likewise.
19994         * lib/unictype/pr_other_math.h: Likewise.
19995         * lib/unictype/pr_other_uppercase.h: Likewise.
19996         * lib/unictype/pr_paired_punctuation.h: Likewise.
19997         * lib/unictype/pr_paragraph_separator.h: Likewise.
19998         * lib/unictype/pr_pattern_syntax.h: Likewise.
19999         * lib/unictype/pr_pattern_white_space.h: Likewise.
20000         * lib/unictype/pr_private_use.h: Likewise.
20001         * lib/unictype/pr_quotation_mark.h: Likewise.
20002         * lib/unictype/pr_radical.h: Likewise.
20003         * lib/unictype/pr_soft_dotted.h: Likewise.
20004         * lib/unictype/pr_space.h: Likewise.
20005         * lib/unictype/pr_titlecase.h: Likewise.
20006         * lib/unictype/pr_variation_selector.h: Likewise.
20007         * lib/unictype/pr_white_space.h: Likewise.
20008         * lib/unictype/sy_c_ident.h: Likewise.
20009         * lib/unictype/sy_c_whitespace.h: Likewise.
20010         * lib/unictype/sy_java_whitespace.h: Likewise.
20011         * modules/uni*/*: Bump version number of expected libunistring version.
20012         Reported by Simon Josefsson.
20013
20014 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20015
20016         useless-if-before-free: fix typo in --help and make the internal,
20017         automatic version date update process work once again.
20018         --help output contained a NUL character instead of the
20019         backslash-zero that was intended.  Also, the "must lie within
20020         the first 8 lines" line is on line 9, and hence not getting
20021         automatically updated.
20022         * build-aux/useless-if-before-free: Fix the former by adding a
20023         backslash, and the latter by condensing the three lines of what-it-does
20024         to a single line, leaving one line of slack for the future.
20025
20026 2011-01-09  Bruno Haible  <bruno@clisp.org>
20027
20028         uniwidth/width: Fix width of U+1D173..U+1D17A.
20029         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20030         symbolic_width, output_width_property_test): New functions.
20031         (main): Invoke output_nonspacing_property, output_width_property_test.
20032         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20033         U+1D173..U+1D17A.
20034         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20035         1.
20036         * modules/uniwidth/*: Bump version number of expected libunistring
20037         version.
20038         * modules/unilbrk/*: Likewise.
20039
20040 2011-01-08  Bruno Haible  <bruno@clisp.org>
20041
20042         uninorm tests: Preserve copyright of Unicode data file.
20043         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20044         Mention modifications.
20045
20046 2011-01-08  Bruno Haible  <bruno@clisp.org>
20047
20048         gen-uni-tables: Prepare for Unicode 5.2.0.
20049         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20050         (debug_output_lbp, output_lbp): Update.
20051
20052 2011-01-08  Bruno Haible  <bruno@clisp.org>
20053
20054         unilbrk: Clarify gen-uni-tables.c code.
20055         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20056         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20057         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20058
20059 2011-01-07  Bruno Haible  <bruno@clisp.org>
20060
20061         strtod: Restore errno when successfully parsing Infinity or NaN.
20062         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20063         restore the original errno.
20064
20065 2011-01-07  Bruno Haible  <bruno@clisp.org>
20066
20067         remove test: Avoid failure on HP-UX 11.
20068         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20069
20070 2011-01-07  Bruno Haible  <bruno@clisp.org>
20071
20072         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20073         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20074         error code.
20075
20076 2011-01-07  Pádraig Brady <P@draigBrady.com>
20077
20078         ignore-value: fixup comments, and add Eric Blake
20079         as an author since he rewrote the macros.
20080         * lib/ignore-value.h (ignore_value):  State that
20081         we now support aggregates.  Also specify exactly
20082         when the GCC warn_unused_result feature was added.
20083
20084 2011-01-06  Eric Blake  <eblake@redhat.com>
20085
20086         ignore-value: support aggregate types
20087         * lib/ignore-value.h (ignore_value): Provide separate gcc
20088         definition.
20089         * modules/ignore-value-tests: New test module.
20090         * tests/test-ignore-value.c: New test.
20091
20092         maint.mk: improve sc_prohibit_strcmp regex
20093         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20094         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20095         definition of STRNEQ.
20096
20097         signal: work around Haiku issue with SIGBUS
20098         * lib/siglist.h: Add comment.
20099         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20100         strsignal's favoring of SIGSEGV.
20101         * tests/test-signal.c (main): Avoid test failure.
20102         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20103         Reported by Scott McCreary.
20104
20105         maint.mk: add pre-release check to ensure submodule commits are public
20106         * top/maint.mk (public-submodule-commit): New rule.
20107         (submodule-checks): New variable.
20108         (alpha beta stable): Depend on the variable.
20109
20110 2011-01-05  Pádraig Brady <P@draigBrady.com>
20111         and Jim Meyering  <meyering@redhat.com>
20112
20113         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20114         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20115         (ATTRIBUTE_DEPRECATED): Define.
20116         (_ignore_case): New function.
20117         (ignore_value): New macro, to replace the old function.
20118         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20119         * modules/ignore-value (Depends-on): Add stdint.
20120
20121 2011-01-04  Eric Blake  <eblake@redhat.com>
20122
20123         doc: regenerate INSTALL
20124         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20125         @firstparagraphindent support, now that autoconf dropped it.
20126         (INSTALL_PRELUDE): Reinstate old macro.
20127         * doc/install.texi: Resync from autoconf.
20128         * doc/INSTALL: Reflect recent autoconf update.
20129         * doc/INSTALL.ISO: Likewise.
20130         * doc/INSTALL.UTF-8: Likewise.
20131         Reported by Karl Berry.
20132
20133 2011-01-04  Bruce Korb  <address@hidden>
20134
20135         git-version-gen: avoid a sub-shell
20136         * build-aux/git-version-gen: Redirect stderr in `...` via
20137         "exec 2>...", rather than via an added sub-shell.
20138
20139 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20140
20141         git-version-gen: use (...) rather than sh -c '...'
20142         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20143         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20144
20145 2011-01-03  Jim Meyering  <meyering@redhat.com>
20146
20147         git-version-gen: convert leading TABs to spaces
20148         * build-aux/git-version-gen: Expand leading TABs.
20149
20150         git-version-gen: handle failed "git rev-list"
20151         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20152         from git and proceeding as if it had succeeded but printed no SHA1
20153         checksums, suppress the diagnostic and handle the failure.
20154         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20155
20156         git-version-gen: include command name in one more diagnostic
20157         * build-aux/git-version-gen: When the required .tarball-version file
20158         was missing or unreadable, you might see the diagnostic from "cat",
20159         but no trace of the name of the invoking script.  Now, you still see
20160         the diagnostic from cat, but also get one from "git-version-gen: ".
20161         Inspired by a patch from Bruce Korb.
20162
20163         update-copyright: adjust test to match changed code
20164         * tests/test-update-copyright.sh: Change test's expected output
20165         to match new actual output.
20166
20167 2011-01-02  Bruno Haible  <bruno@clisp.org>
20168
20169         getlogin_r: Avoid test failure on HP-UX 11.
20170         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20171         ERANGE when the second argument is zero.
20172         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20173         portability problem.
20174
20175 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20176
20177         * build-aux/update-copyright: doc Simon's changes
20178
20179 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20180
20181         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20182         environment variable.
20183
20184 2011-01-02  Bruno Haible  <bruno@clisp.org>
20185
20186         unigbrk: Avoid gcc warnings.
20187         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20188         unused variable.
20189         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20190         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20191         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20192         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20193         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20194         Change type of first argument to 'const char *'.
20195         (main): Remove unused variable.
20196         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20197         type of first argument to 'const char *'.
20198         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20199         Likewise.
20200         (main): Change type of variable 's'.
20201         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20202         to 'int'.
20203
20204 2011-01-02  Bruno Haible  <bruno@clisp.org>
20205
20206         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20207         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20208         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20209         bug.
20210         * lib/pwrite.c: Undo 2010-12-31 patch.
20211         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20212
20213 2011-01-02  Bruno Haible  <bruno@clisp.org>
20214
20215         pread: Fix test whether it works.
20216         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20217
20218 2011-01-02  Bruno Haible  <bruno@clisp.org>
20219
20220         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20221         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20222         ends in "6". Don't require a specific month name. Try also the locale
20223         names found on HP-UX 11 and Solaris 7.
20224
20225 2011-01-02  Bruno Haible  <bruno@clisp.org>
20226
20227         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20228         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20229         C linkage.
20230         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20231
20232 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20233
20234         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20235         for consistency, since the "cluster" term is not used elsewhere.
20236         * lib/unigbrk.in.h: Update name.
20237         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20238         * lib/unigbrk/u16-grapheme-next.c: Update name.
20239         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20240         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20241         * lib/unigbrk/u32-grapheme-next.c: Update name.
20242         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20243         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20244         * lib/unigbrk/u8-grapheme-next.c: Update name.
20245         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20246         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20247         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20248         Suggested by Bruno Haible.
20249
20250 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20251
20252         Remove module 'u8-grapheme-len' as too redundant with
20253         'u8-grapheme-next'.
20254         * modules/unigbrk/u8-grapheme-len: Delete file.
20255         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20256         * lib/unigbrk.in.h: Remove prototype for deleted function.
20257         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20258         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20259
20260         Remove module 'u16-grapheme-len' as too redundant with
20261         'u16-grapheme-next'.
20262         * modules/unigbrk/u16-grapheme-len: Delete file.
20263         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20264         * lib/unigbrk.in.h: Remove prototype for deleted function.
20265         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20266         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20267
20268         Remove module 'u32-grapheme-len' as too redundant with
20269         'u32-grapheme-next'.
20270         * modules/unigbrk/u32-grapheme-len: Delete file.
20271         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20272         * lib/unigbrk.in.h: Remove prototype for deleted function.
20273         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20274         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20275
20276         Suggested by Bruno Haible.
20277
20278 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20279
20280         * unigbrk.in.h: Fix typo: "ben" => "been".
20281         Reported by Bruno Haible.
20282
20283 2011-01-01  Jim Meyering  <meyering@redhat.com>
20284
20285         maint: update almost all copyright ranges to include 2011
20286         Run the new "make update-copyright" rule.
20287
20288 2011-01-01  Jim Meyering  <meyering@redhat.com>
20289
20290         maint: update-copyright: exempt doc/INSTALL*
20291         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20292         since they are generated.  Suggested by Bruno Haible.
20293
20294 2011-01-01  Jim Meyering  <meyering@redhat.com>
20295
20296         maint: refine the update-copyright rule
20297         * Makefile (update-copyright): Also exclude any file that includes
20298         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20299         code that merely generates the comment.
20300
20301 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20302
20303         New module 'u8-grapheme-len'.
20304         * modules/unigbrk/u8-grapheme-len: New file.
20305         * modules/unigbrk/u8-grapheme-len-tests: New file.
20306         * lib/unigbrk.in.h: Add prototype for new function.
20307         * lib/unigbrk/u8-grapheme-len.c: New file.
20308         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20309
20310         New module 'u16-grapheme-len'.
20311         * modules/unigbrk/u16-grapheme-len: New file.
20312         * modules/unigbrk/u16-grapheme-len-tests: New file.
20313         * lib/unigbrk.in.h: Add prototype for new function.
20314         * lib/unigbrk/u16-grapheme-len.c: New file.
20315         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20316
20317         New module 'u32-grapheme-len'.
20318         * modules/unigbrk/u32-grapheme-len: New file.
20319         * modules/unigbrk/u32-grapheme-len-tests: New file.
20320         * lib/unigbrk.in.h: Add prototype for new function.
20321         * lib/unigbrk/u32-grapheme-len.c: New file.
20322         * tests/unigbrk/test-u32-grapheme-len.c: New file.
20323
20324         New module 'u8-grapheme-next'.
20325         * modules/unigbrk/u8-grapheme-next: New file.
20326         * modules/unigbrk/u8-grapheme-next-tests: New file.
20327         * lib/unigbrk.in.h: Add prototype for new function.
20328         * lib/unigbrk/u8-grapheme-next.c: New file.
20329         * tests/unigbrk/test-u8-grapheme-next.c: New file.
20330
20331         New module 'u16-grapheme-next'.
20332         * modules/unigbrk/u16-grapheme-next: New file.
20333         * modules/unigbrk/u16-grapheme-next-tests: New file.
20334         * lib/unigbrk.in.h: Add prototype for new function.
20335         * lib/unigbrk/u16-grapheme-next.c: New file.
20336         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20337
20338         New module 'u32-grapheme-next'.
20339         * modules/unigbrk/u32-grapheme-next: New file.
20340         * modules/unigbrk/u32-grapheme-next-tests: New file.
20341         * lib/unigbrk.in.h: Add prototype for new function.
20342         * lib/unigbrk/u32-grapheme-next.c: New file.
20343         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20344
20345         New module 'u8-grapheme-prev'.
20346         * modules/unigbrk/u8-grapheme-prev: New file.
20347         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20348         * lib/unigbrk.in.h: Add prototype for new function.
20349         * lib/unigbrk/u8-grapheme-prev.c: New file.
20350         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20351
20352         New module 'u16-grapheme-prev'.
20353         * modules/unigbrk/u16-grapheme-prev: New file.
20354         * modules/unigbrk/u16-grapheme-prev-tests: New file.
20355         * lib/unigbrk.in.h: Add prototype for new function.
20356         * lib/unigbrk/u16-grapheme-prev.c: New file.
20357         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
20358
20359         New module 'u32-grapheme-prev'.
20360         * modules/unigbrk/u32-grapheme-prev: New file.
20361         * modules/unigbrk/u32-grapheme-prev-tests: New file.
20362         * lib/unigbrk.in.h: Add prototype for new function.
20363         * lib/unigbrk/u32-grapheme-prev.c: New file.
20364         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
20365
20366         New module 'u8-grapheme-breaks'.
20367         * modules/unigbrk/u8-grapheme-breaks: New file.
20368         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
20369         * lib/unigbrk.in.h: Add prototype for new function.
20370         * lib/unigbrk/u8-grapheme-breaks.c: New file.
20371         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
20372
20373         New module 'u16-grapheme-breaks'.
20374         * modules/unigbrk/u16-grapheme-breaks: New file.
20375         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
20376         * lib/unigbrk.in.h: Add prototype for new function.
20377         * lib/unigbrk/u16-grapheme-breaks.c: New file.
20378         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
20379
20380         New module 'u32-grapheme-breaks'.
20381         * modules/unigbrk/u32-grapheme-breaks: New file.
20382         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
20383         * lib/unigbrk.in.h: Add prototype for new function.
20384         * lib/unigbrk/u32-grapheme-breaks.c: New file.
20385         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
20386
20387         New module 'ulc-grapheme-breaks'.
20388         * modules/unigbrk/ulc-grapheme-breaks: New file.
20389         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
20390         * m4/locale-ar.m4: New file.
20391         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
20392         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
20393         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
20394
20395 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20396
20397         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
20398         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
20399         modified how this file was generated before I initially submitted
20400         the module, but failed to regenerate it.  This meant that several
20401         of the level2 entries were wrong.
20402         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
20403         Remove the division-by-2 that is folded into the table now that
20404         gbrkprop.h has been regenerated properly.  Now -1 entries are
20405         handled correctly.
20406
20407         New module 'unigbrk/uc-gbrk-prop-tests'.
20408         * modules/unigbrk/uc-gbrk-prop-tests: New file.
20409         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
20410         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
20411         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
20412
20413 2011-01-01  Bruno Haible  <bruno@clisp.org>
20414
20415         Avoid use of hexadecimal escapes.
20416         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
20417         instead of hexadecimal escapes.
20418
20419 2011-01-01  Jim Meyering  <meyering@redhat.com>
20420
20421         maint: new rule to update copyright year ranges
20422         * Makefile (update-copyright): New rule.
20423
20424         maint: indent with TABs in Makefile
20425         * Makefile: Expand leading sequences of spaces to TABs
20426
20427         version-etc: update the copyright year it reports
20428         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
20429
20430 2010-12-31  Bruno Haible  <bruno@clisp.org>
20431
20432         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
20433         * lib/isfinite.c (zerof, zerod, zerol): New variables.
20434         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
20435         zero.
20436
20437 2010-12-31  Bruno Haible  <bruno@clisp.org>
20438
20439         pwrite: Work around HP-UX 11.11 bug.
20440         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
20441         works and set REPLACE_PWRITE if not.
20442         * lib/pwrite.c (pwrite): Add an implementation that uses the system
20443         function.
20444         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
20445
20446 2010-12-31  Bruno Haible  <bruno@clisp.org>
20447
20448         pread: Work around HP-UX 11 bugs.
20449         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
20450         and set REPLACE_PREAD if not.
20451         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
20452
20453 2010-12-31  Eric Blake  <eblake@redhat.com>
20454
20455         nl_langinfo: fix YESEXPR on Irix 6.5
20456         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
20457         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
20458         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
20459         it.
20460
20461 2010-12-31  Bruno Haible  <bruno@clisp.org>
20462
20463         iconv: Document HP-UX 11 bug.
20464         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
20465
20466 2010-12-31  Bruno Haible  <bruno@clisp.org>
20467
20468         ldexpl: Fix link error on HP-UX 11.
20469         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
20470         LDEXPL_LIBM, using $ISNANL_LIBM.
20471
20472 2010-12-31  Eric Blake  <eblake@redhat.com>
20473
20474         ftello: avoid compilation failure with SunStudio c89
20475         * lib/ftello.c (ftello): Use lseek, not llseek.
20476
20477         tests: avoid failing coreutils tests on cygwin
20478         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
20479         (create_exe_shims_): Return 0 when skipping.
20480
20481 2010-12-31  Bruno Haible  <bruno@clisp.org>
20482
20483         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
20484         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
20485
20486 2010-12-31  Bruno Haible  <bruno@clisp.org>
20487
20488         waitpid: Fix link error in C++ mode.
20489         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
20490
20491 2010-12-31  Bruno Haible  <bruno@clisp.org>
20492
20493         isnan: Use GCC built-ins when possible.
20494         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
20495         __builtin_isnan.
20496         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
20497         (isnan): Define using GCC built-ins for GCC >= 4.0.
20498
20499 2010-12-31  Bruno Haible  <bruno@clisp.org>
20500
20501         isnand: Fix mistake.
20502         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
20503         __builtin_isnand.
20504
20505 2010-12-31  Bruno Haible  <bruno@clisp.org>
20506
20507         open: Avoid C++ error on HP-UX 11.
20508         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
20509
20510 2010-12-31  Bruno Haible  <bruno@clisp.org>
20511
20512         time_r: Add missing declarations on HP-UX 11.
20513         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
20514         instead of HAVE_LOCALTIME_R.
20515         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
20516         HAVE_LOCALTIME_R always.
20517         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
20518         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
20519         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
20520         HAVE_LOCALTIME_R.
20521         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
20522         * doc/posix-functions/localtime_r.texi: Likewise.
20523
20524 2010-12-29  Eric Blake  <eblake@redhat.com>
20525
20526         mountlist: tweak previous commit
20527         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
20528         Reported by Paul Eggert.
20529
20530         mountlist: fix local drive detection on cygwin
20531         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
20532         that works for cygwin.
20533
20534 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20535
20536         ftoastr, snprintf: ftoastr + snprintf module
20537         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
20538         since the snprintf module now should be good enough here.
20539         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
20540         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
20541         and gl_MODULE_INDICATOR([snprintf]), but the former enables
20542         GNULIB_SNPRINTF only for the test directory, and the latter
20543         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
20544         seems to suffice by itself.
20545
20546 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20547
20548         alloca: one step towards thread-safety
20549         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
20550         need for a static variable.  All callers changed.  This does not
20551         make the alloca replacement thread-safe, but it's one step.
20552
20553         tests: minor indenting change
20554         * tests/init.sh: Sync from coreutils housekeeping patch
20555         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
20556         to keep lines within 80 columns.
20557
20558 2010-12-28  Jim Meyering  <meyering@redhat.com>
20559
20560         regex: don't infloop on persistent failing calloc
20561         * lib/regexec.c (build_trtable): Return failure indication upon
20562         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
20563         In glibc, this was fixed for version 2.13:
20564         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
20565
20566 2010-12-28  Bruno Haible  <bruno@clisp.org>
20567             Paul Eggert <eggert@cs.ucla.edu>
20568
20569         linkat: Make implementation robust against system behaviour variations.
20570         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
20571         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
20572         way, and to -2 if it needs a generic runtime test.
20573         * lib/linkat.c (solaris_optimized_link_immediate,
20574         solaris_optimized_link_follow): New functions.
20575         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
20576         (check_same_link): Use it.
20577
20578 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
20579
20580         New module 'unigbrk/base'.
20581         * modules/unigbrk/base: New file.
20582         * lib/unigbrk.in.h: New file.
20583
20584         New module 'unigbrk/uc-gbrk-prop'.
20585         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
20586         * modules/unigbrk/uc-gbrk-prop: New file.
20587         * lib/unigbrk/gbrkprop.h: New file.
20588         * lib/unigbrk/uc-gbrk-prop.c: New file.
20589
20590         New module 'unigbrk/uc-is-grapheme-break'.
20591         * modules/unigbrk/uc-is-grapheme-break: New file.
20592         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
20593         * lib/unigbrk/uc-is-grapheme-break.c: New file.
20594         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
20595         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
20596         * tests/unigbrk/GraphemeBreakTest.txt: New file.
20597
20598         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
20599
20600 2010-12-27  Bruno Haible  <bruno@clisp.org>
20601
20602         linkat test: Avoid failure on Solaris 11 2010-11.
20603         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
20604
20605 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20606
20607         utimens: work around glibc rounding bug on more platforms
20608         * lib/utimens.c (fdutimens): Work around rounding bug even if
20609         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
20610         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
20611
20612 2010-12-27  Bruno Haible  <bruno@clisp.org>
20613
20614         select tests: Improve comments.
20615         * tests/test-select.c (do_select): Add comments.
20616
20617 2010-12-27  Bruno Haible  <bruno@clisp.org>
20618
20619         select tests: Safer way of handling timeout.
20620         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
20621         at every invocation.
20622
20623 2010-12-27  Bruno Haible  <bruno@clisp.org>
20624
20625         select tests: Use 'bool' where appropriate.
20626         * tests/test-select.c (connect_to_socket): Change argument type to
20627         'bool'.
20628
20629 2010-12-27  Bruno Haible  <bruno@clisp.org>
20630
20631         select tests: Use existing modules.
20632         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
20633         (configure.ac): Don't test for unistd.h.
20634         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
20635         declared in <unistd.h>.
20636
20637 2010-12-27  Bruno Haible  <bruno@clisp.org>
20638
20639         mbrtowc: Work around a Solaris 7 bug.
20640         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
20641         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
20642         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
20643         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
20644         MBRTOWC_NULL_ARG1_BUG.
20645         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
20646         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
20647         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
20648         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
20649
20650 2010-12-27  Jim Meyering  <meyering@redhat.com>
20651
20652         read-file.c: tweak syntax
20653         * lib/read-file.c (fread_file): Remove space after "*" in function
20654         definitions.
20655
20656 2010-12-27  Bruno Haible  <bruno@clisp.org>
20657
20658         times test: Avoid gcc warnings on OSF/1.
20659         * tests/test-times.c (main): Cast printf arguments from clock_t to
20660         'long int'.
20661
20662 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20663
20664         utimens: work around glibc rounding bug on older Linux kernels
20665         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
20666         on Linux with a glibc whose utimes might not work, then work
20667         around a longstanding glibc bug involving rounding rather than
20668         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
20669         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20670
20671 2010-12-26  Bruno Haible  <bruno@clisp.org>
20672
20673         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
20674         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
20675         _GL_CXXALIAS_SYS.
20676         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20677
20678 2010-12-26  Bruno Haible  <bruno@clisp.org>
20679
20680         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
20681         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
20682         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20683         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
20684         looking for the declaration.
20685         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
20686         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
20687         problem.
20688         * doc/posix-functions/inet_pton.texi: Likewise.
20689
20690 2010-12-26  Bruno Haible  <bruno@clisp.org>
20691
20692         arpa_inet: Use the common idioms with C++ support.
20693         * lib/arpa_inet.in.h: Include c++defs.h.
20694         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
20695         support.
20696         * modules/arpa_inet (Depends-on): Add c++defs.
20697         (Makefile.am): Substitute the contents of c++defs.h.
20698         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
20699         * modules/arpa_inet-c++-tests: New file.
20700         * tests/test-arpa_inet-c++.cc: New file.
20701
20702 2010-12-25  Bruno Haible  <bruno@clisp.org>
20703
20704         Fix more C++ link errors on Solaris 8.
20705         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
20706         $(LIB_EACCESS).
20707         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
20708         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
20709         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
20710         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
20711         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
20712
20713 2010-12-25  Bruno Haible  <bruno@clisp.org>
20714
20715         printf-posix: Fix link error when a non-GCC compiler is used.
20716         * lib/stdio.in.h (printf): When not using GCC, override printf
20717         correctly.
20718         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20719
20720 2010-12-25  Bruno Haible  <bruno@clisp.org>
20721
20722         strerror_r-posix: Update doc.
20723         * doc/posix-functions/strerror_r.texi: Update doc about the return
20724         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
20725
20726 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
20727
20728         utimens: simplify the logic of the previous change
20729         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
20730         This should not affect whether the test succeeds or fails.
20731
20732         utimens: configure better on hosts with NFS clock skew
20733         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
20734         uses the clock of the local host.  It might use the clock of the
20735         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
20736         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20737
20738 2010-12-25  Bruno Haible  <bruno@clisp.org>
20739
20740         ptsname test: Avoid failure on Solaris.
20741         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
20742         open a pseudo-terminal; don't use BSD-style ptys.
20743         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
20744
20745 2010-12-25  Bruno Haible  <bruno@clisp.org>
20746
20747         ptsname: Avoid ERANGE failure on some systems.
20748         * lib/ptsname.c (buffer): Increase size.
20749
20750 2010-12-25  Bruno Haible  <bruno@clisp.org>
20751
20752         rename, renameat: Avoid test failures at NFS mounted locations.
20753         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
20754         so that subsequent mkdir calls succeed.
20755
20756 2010-12-25  Bruno Haible  <bruno@clisp.org>
20757
20758         iswblank: Fix C++ link error on Solaris 8.
20759         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
20760         _GL_FUNCDECL_SYS.
20761
20762 2010-12-25  Bruno Haible  <bruno@clisp.org>
20763
20764         unistd: Fix C++ link error on Solaris 8.
20765         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
20766
20767 2010-12-25  Bruno Haible  <bruno@clisp.org>
20768
20769         readlink doc: Mention an old glibc bug.
20770         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
20771
20772 2010-12-25  Bruno Haible  <bruno@clisp.org>
20773
20774         fcntl-h: Fix for use of C++ on glibc systems.
20775         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
20776         also on glibc systems in C++ mode.
20777         Reported by Gary V. Vaughan <gary@gnu.org>.
20778
20779 2010-12-25  Bruno Haible  <bruno@clisp.org>
20780
20781         roundl-ieee: Make it work on OSF/1 5.1 with cc.
20782         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
20783
20784 2010-12-25  Bruno Haible  <bruno@clisp.org>
20785
20786         truncl-ieee: Make it work on OSF/1 5.1 with cc.
20787         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
20788         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
20789         test whether truncl works according to ISO C 99 with IEC 60559.
20790         * m4/truncl-ieee.m4: New file.
20791         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
20792         m4/signbit.m4.
20793         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
20794
20795 2010-12-25  Bruno Haible  <bruno@clisp.org>
20796
20797         ceill-ieee: Make it work on OSF/1 5.1 with cc.
20798         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
20799         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
20800         test whether ceill works according to ISO C 99 with IEC 60559.
20801         * m4/ceill-ieee.m4: New file.
20802         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
20803         m4/signbit.m4.
20804         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
20805
20806 2010-12-25  Bruno Haible  <bruno@clisp.org>
20807
20808         Ensure all prerequisites of <wchar.h> are included.
20809         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
20810         before <wchar.h>.
20811         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20812         gl_MBRLEN_NUL_RETVAL): Likewise.
20813         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20814         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
20815         AC_FUNC_MBRTOWC): Likewise.
20816         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20817         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
20818         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20819         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
20820         Likewise.
20821         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20822         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
20823         (gl_WCHAR_H): Improve comments.
20824         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
20825
20826 2010-12-25  Bruno Haible  <bruno@clisp.org>
20827
20828         strtok_r: Fix C syntax error in autoconf macro.
20829         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
20830         characters in test program.
20831
20832 2010-12-24  Bruno Haible  <bruno@clisp.org>
20833
20834         ceil, trunc, round: Fix gcc warnings.
20835         * lib/ceil.c (MIN): Undefine before redefining.
20836         * lib/trunc.c (MIN): Likewise.
20837         * lib/round.c (MIN): Likewise.
20838         Include <math.h> first.
20839
20840 2010-12-24  Bruno Haible  <bruno@clisp.org>
20841
20842         select tests: Avoid failures on OSF/1 5.1.
20843         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
20844         failure of closing the last socket; it may fail with ECONNRESET.
20845
20846 2010-12-24  Eric Blake  <eblake@redhat.com>
20847
20848         stdint: avoid HP-UX 10.20 preprocessor bug
20849         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
20850         than #if.
20851         * tests/test-floor2.c (main): Likewise.
20852         Reported by Peter O'Gorman.
20853
20854         pipe: make obsoletion transition easier
20855         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
20856         * modules/pipe (Files): Include revived file.
20857         (Include): Drop reference, to mirror getdate's behavior.
20858
20859 2010-12-24  Bruno Haible  <bruno@clisp.org>
20860
20861         sys_socket: Hide mismatch of declarations on NonStop Kernel.
20862         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
20863         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
20864         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20865
20866 2010-12-24  Bruno Haible  <bruno@clisp.org>
20867
20868         gethostname: Ensure declaration on NonStop Kernel.
20869         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
20870         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20871
20872 2010-12-24  Bruno Haible  <bruno@clisp.org>
20873
20874         sys_select: Ensure all necessary types on NonStop Kernel.
20875         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
20876         include <sys/time.h>.
20877         * doc/posix-headers/sys_select.texi: Mention that it's missing on
20878         NonStop Kernel.
20879         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20880
20881 2010-12-24  Bruno Haible  <bruno@clisp.org>
20882
20883         sys_select: Remove unneeded include.
20884         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
20885         have <sys/select.h>.
20886
20887 2010-12-24  Bruno Haible  <bruno@clisp.org>
20888
20889         gethostname: Provide a fallback for HOST_NAME_MAX.
20890         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
20891         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
20892         instead.
20893         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20894
20895 2010-12-24  Bruno Haible  <bruno@clisp.org>
20896
20897         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
20898         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
20899         (SA_RESTART): Likewise.
20900         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20901
20902 2010-12-24  Bruno Haible  <bruno@clisp.org>
20903
20904         signal: Define NSIG.
20905         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
20906         * tests/test-signal.c (nsig): New variable.
20907         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20908
20909 2010-12-24  Bruno Haible  <bruno@clisp.org>
20910
20911         rename, renameat: Avoid test failures on OSF/1 5.1.
20912         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
20913         alternative error codes.
20914         * tests/test-renameat.c (main): Likewise.
20915
20916 2010-12-24  Bruno Haible  <bruno@clisp.org>
20917
20918         *printf: Detect large precisions bug on Solaris 10/SPARC.
20919         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
20920         by Paul Eggert.
20921         * tests/test-snprintf-posix.h (test_function): Add this test code here
20922         too.
20923         * tests/test-sprintf-posix.h (test_function): Likewise.
20924         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20925         * tests/test-vasprintf-posix.c (test_function): Likewise.
20926         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
20927         around by gnulib.
20928         * doc/posix-functions/printf.texi: Likewise.
20929         * doc/posix-functions/snprintf.texi: Likewise.
20930         * doc/posix-functions/sprintf.texi: Likewise.
20931         * doc/posix-functions/vfprintf.texi: Likewise.
20932         * doc/posix-functions/vprintf.texi: Likewise.
20933         * doc/posix-functions/vsnprintf.texi: Likewise.
20934         * doc/posix-functions/vsprintf.texi: Likewise.
20935         * doc/posix-functions/dprintf.texi: Undo last commit.
20936         * doc/posix-functions/vdprintf.texi: Likewise.
20937
20938 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20939
20940         tests: port test-fdutimensat.c to Solaris 8
20941         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
20942         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
20943         On Solaris 8, it fails with errno == ENOSYS, because there is no
20944         futimens (so it can't use the fd), and there is no lutimens (so it
20945         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
20946
20947         vsnprintf: make more consistent with snprintf; doc fixes
20948
20949         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
20950         the byte count return problem was promoted from the snprintf-posix
20951         to the snprintf module.
20952         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20953         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
20954         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
20955         * tests/test-snprintf.c (main): Check the byte count returned.
20956         * tests/test-vsnprintf.c (main): Likewise.
20957
20958 2010-12-23  Eric Blake  <eblake@redhat.com>
20959
20960         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
20961         * modules/sigpipe (License): Relax license.
20962
20963 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20964
20965         doc: document Solaris printf bug with large float precisions
20966         * doc/posix-functions/dprintf.texi (dprintf):
20967         * doc/posix-functions/fprintf.texi (fprintf):
20968         * doc/posix-functions/printf.texi (printf):
20969         * doc/posix-functions/snprintf.texi (snprintf):
20970         * doc/posix-functions/sprintf.texi (sprintf):
20971         * doc/posix-functions/vdprintf.texi (vdprintf):
20972         * doc/posix-functions/vfprintf.texi (vfprintf):
20973         * doc/posix-functions/vprintf.texi (vprintf):
20974         * doc/posix-functions/vsnprintf.texi (vsnprintf):
20975         * doc/posix-functions/vsprintf.texi (vsprintf):
20976         Mention that these functions mishandle large floating point
20977         precisions on Solaris 10.  The same bug is also present in Solaris
20978         8, and I assume earlier.  This causes "cd gnulib-tests; make
20979         check" to fail on Solaris 8 (and I assume, later) when building
20980         the latest coreutils, in test-vasprintf-posix's call to
20981         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
20982         the wide flavors (e.g., wprintf) so this patch just updates the
20983         documentation for the narrow ones.
20984
20985         test-posixtm.c: add two tests
20986         * tests/test-posixtm.c: Add two tests, to highlight the
20987         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
20988         around this bug; this is merely to document it.
20989
20990 2010-12-22  Bruno Haible  <bruno@clisp.org>
20991
20992         getlogin_r: Work around portability problem on OSF/1.
20993         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
20994         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
20995         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
20996         test for a truncated result.
20997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
20998         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
20999         * modules/getlogin_r (Depends-on): Add memchr.
21000         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21001
21002 2010-12-22  Bruno Haible  <bruno@clisp.org>
21003
21004         ptsname: Avoid test failure on OSF/1 5.1.
21005         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21006         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21007         (same_slave): New function.
21008         (main): Use it to compare ptsname's result with the expected file name.
21009
21010 2010-12-22  Bruno Haible  <bruno@clisp.org>
21011
21012         Port extended stdio modules to HP NonStop Kernel.
21013         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21014         macros.
21015         * lib/fbufmode.c: Update comments.
21016         * lib/fflush.c: Likewise.
21017         * lib/fpurge.c: Likewise.
21018         * lib/freadable.c: Likewise.
21019         * lib/freadahead.c: Likewise.
21020         * lib/freading.c: Likewise.
21021         * lib/freadptr.c: Likewise.
21022         * lib/freadseek.c: Likewise.
21023         * lib/fseeko.c: Likewise.
21024         * lib/fseterr.c: Likewise.
21025         * lib/fwritable.c: Likewise.
21026         * lib/fwriting.c: Likewise.
21027         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21028
21029 2010-12-22  Bruno Haible  <bruno@clisp.org>
21030
21031         ttyname_r: Work around bug on OSF/1 5.1.
21032         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21033         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21034         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21035         present.
21036         * lib/ttyname_r.c (ttyname_r): Update comments.
21037
21038 2010-12-22  Bruno Haible  <bruno@clisp.org>
21039
21040         round: Implement result sign according to IEEE 754.
21041         * lib/round.c (MIN, MINUS_ZERO): New macros.
21042         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21043         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21044         * tests/test-round-ieee.c (main): Likewise.
21045         * tests/test-roundl-ieee.c (main): Likewise.
21046
21047         trunc: Implement result sign according to IEEE 754.
21048         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21049         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21050         * tests/test-trunc2.c: Include minus-zero.h.
21051         (MINUS_ZERO): New macro.
21052         (trunc_reference): Keep in sync with lib/trunc.c.
21053         * tests/test-truncf2.c: Include minus-zero.h.
21054         (MINUS_ZERO): New macro.
21055         (truncf_reference): Keep in sync with lib/trunc.c.
21056         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21057         * tests/test-trunc-ieee.c (main): Likewise.
21058         * tests/test-truncl-ieee.c (main): Likewise.
21059
21060         ceil: Implement result sign according to IEEE 754.
21061         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21062         (FUNC): Return -0.0 for -1 < x < 0.
21063         * tests/test-ceil2.c: Include minus-zero.h.
21064         (MINUS_ZERO): New macro.
21065         (ceil_reference): Keep in sync with lib/ceil.c.
21066         * tests/test-ceilf2.c: Include minus-zero.h.
21067         (MINUS_ZERO): New macro.
21068         (ceilf_reference): Keep in sync with lib/ceil.c.
21069         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21070         * tests/test-ceil-ieee.c (main): Likewise.
21071         * tests/test-ceill-ieee.c (main): Likewise.
21072
21073         floor: Implement result sign according to IEEE 754.
21074         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21075         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21076         * tests/test-floorf2.c (floorf_reference): Likewise.
21077         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21078         * tests/test-floor-ieee.c (main): Likewise.
21079         * tests/test-floorl-ieee.c (main): Likewise.
21080
21081 2010-12-22  Bruno Haible  <bruno@clisp.org>
21082
21083         getaddrinfo: Update doc.
21084         * doc/posix-functions/gai_strerror.texi: Return type is also different
21085         on AIX and HP-UX.
21086
21087 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21088
21089         getaddrinfo, inet_ntop: Update doc for Solaris.
21090         * doc/posix-functions/gai_strerror.texi: Return type is also an
21091         issue on Solaris 9 and earlier.
21092         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21093         on Solaris 10 and earlier.
21094
21095 2010-12-21  Bruno Haible  <bruno@clisp.org>
21096
21097         New module 'roundl-ieee'.
21098         * modules/roundl-ieee: New file.
21099         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21100         test whether roundl works according to ISO C 99 with IEC 60559.
21101         * m4/roundl-ieee.m4: New file.
21102         * modules/roundl-ieee-tests: New file.
21103         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21104         * tests/test-roundl.c (main): Remove signbit tests.
21105         * modules/roundl-tests (Depends-on): Remove signbit.
21106         * doc/posix-functions/roundl.texi: Mention the new module.
21107
21108 2010-12-21  Bruno Haible  <bruno@clisp.org>
21109
21110         New module 'truncl-ieee'.
21111         * modules/truncl-ieee: New file.
21112         * modules/truncl-ieee-tests: New file.
21113         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21114         * tests/test-truncl.c (main): Remove signbit tests.
21115         * modules/truncl-tests (Depends-on): Remove signbit.
21116         * doc/posix-functions/truncl.texi: Mention the new module.
21117
21118 2010-12-21  Bruno Haible  <bruno@clisp.org>
21119
21120         New module 'ceill-ieee'.
21121         * modules/ceill-ieee: New file.
21122         * modules/ceill-ieee-tests: New file.
21123         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21124         * tests/test-ceill.c (main): Remove signbit tests.
21125         * modules/ceill-tests (Depends-on): Remove signbit.
21126         * doc/posix-functions/ceill.texi: Mention the new module.
21127
21128 2010-12-21  Bruno Haible  <bruno@clisp.org>
21129
21130         New module 'floorl-ieee'.
21131         * modules/floorl-ieee: New file.
21132         * modules/floorl-ieee-tests: New file.
21133         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21134         * tests/test-floorl.c (main): Remove signbit tests.
21135         * modules/floorl-tests (Depends-on): Remove signbit.
21136         * doc/posix-functions/floorl.texi: Mention the new module.
21137
21138 2010-12-21  Bruno Haible  <bruno@clisp.org>
21139
21140         New module 'round-ieee'.
21141         * modules/round-ieee: New file.
21142         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21143         whether round works according to ISO C 99 with IEC 60559.
21144         * m4/round-ieee.m4: New file.
21145         * modules/round-ieee-tests: New file.
21146         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21147         * tests/test-round1.c (main): Remove signbit tests.
21148         * modules/round-tests (Depends-on): Remove 'signbit'.
21149         * doc/posix-functions/round.texi: Mention the new module.
21150
21151 2010-12-21  Bruno Haible  <bruno@clisp.org>
21152
21153         New module 'trunc-ieee'.
21154         * modules/trunc-ieee: New file.
21155         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21156         whether trunc works according to ISO C 99 with IEC 60559.
21157         * m4/trunc-ieee.m4: New file.
21158         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21160         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21161         * modules/trunc-ieee-tests: New file.
21162         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21163         * tests/test-trunc1.c (main): Remove signbit tests.
21164         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21165         * doc/posix-functions/trunc.texi: Mention the new module.
21166
21167 2010-12-21  Bruno Haible  <bruno@clisp.org>
21168
21169         New module 'ceil-ieee'.
21170         * modules/ceil-ieee: New file.
21171         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21172         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21173         ISO C 99 with IEC 60559.
21174         * m4/ceil-ieee.m4: New file.
21175         * modules/ceil (Files): Add lib/ceil.c.
21176         (Depends-on): Add 'float'.
21177         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21178         * lib/math.in.h (ceil): New declaration.
21179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21180         REPLACE_CEIL.
21181         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21182         * modules/ceil-ieee-tests: New file.
21183         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21184         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21185         * doc/posix-functions/ceil.texi: Mention the new module.
21186
21187 2010-12-21  Bruno Haible  <bruno@clisp.org>
21188
21189         New module 'floor-ieee'.
21190         * modules/floor-ieee: New file.
21191         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21192         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21193         ISO C 99 with IEC 60559.
21194         * m4/floor-ieee.m4: New file.
21195         * modules/floor (Files): Add lib/floor.c.
21196         (Depends-on): Add 'float'.
21197         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21198         * lib/math.in.h (floor): New declaration.
21199         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21200         REPLACE_FLOOR.
21201         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21202         * modules/floor-ieee-tests: New file.
21203         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21204         * tests/test-math-c++.cc: Check the signature of 'floor'.
21205         * doc/posix-functions/floor.texi: Mention the new module.
21206
21207 2010-12-21  Bruno Haible  <bruno@clisp.org>
21208
21209         New module 'roundf-ieee'.
21210         * modules/roundf-ieee: New file.
21211         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21212         test whether roundf works according to ISO C 99 with IEC 60559.
21213         * m4/roundf-ieee.m4: New file.
21214         * modules/roundf-ieee-tests: New file.
21215         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21216         * tests/test-roundf1.c (main): Remove signbit tests.
21217         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21218         * doc/posix-functions/roundf.texi: Mention the new module.
21219
21220 2010-12-21  Bruno Haible  <bruno@clisp.org>
21221
21222         New module 'truncf-ieee'.
21223         * modules/truncf-ieee: New file.
21224         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21225         test whether truncf works according to ISO C 99 with IEC 60559.
21226         * m4/truncf-ieee.m4: New file.
21227         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21228         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21229         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21230         * modules/truncf-ieee-tests: New file.
21231         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21232         * tests/test-truncf1.c (main): Remove signbit tests.
21233         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21234         * doc/posix-functions/truncf.texi: Mention the new module.
21235
21236 2010-12-21  Bruno Haible  <bruno@clisp.org>
21237
21238         New module 'ceilf-ieee'.
21239         * modules/ceilf-ieee: New file.
21240         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21241         test whether ceilf works according to ISO C 99 with IEC 60559.
21242         * m4/ceilf-ieee.m4: New file.
21243         * modules/ceilf-ieee-tests: New file.
21244         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21245         * tests/test-ceilf1.c (main): Remove signbit tests.
21246         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21247         * doc/posix-functions/ceilf.texi: Mention the new module.
21248
21249 2010-12-21  Bruno Haible  <bruno@clisp.org>
21250
21251         New module 'floorf-ieee'.
21252         * modules/floorf-ieee: New file.
21253         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21254         test whether floorf works according to ISO C 99 with IEC 60559.
21255         * m4/floorf-ieee.m4: New file.
21256         * modules/floorf-ieee-tests: New file.
21257         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21258         * tests/test-floorf1.c (main): Remove signbit tests.
21259         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21260         * doc/posix-functions/floorf.texi: Mention the new module.
21261
21262 2010-12-21  Bruno Haible  <bruno@clisp.org>
21263
21264         Support for minus zero in autoconf macros.
21265         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21266         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21267         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21268         * tests/minus-zero.h: Update comments.
21269
21270 2010-12-21  Bruno Haible  <bruno@clisp.org>
21271
21272         Tests for module 'ceil'.
21273         * modules/ceil-tests: New file.
21274         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21275         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21276
21277 2010-12-21  Bruno Haible  <bruno@clisp.org>
21278
21279         Tests for module 'floor'.
21280         * modules/floor-tests: New file.
21281         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21282         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21283
21284 2010-12-21  Bruno Haible  <bruno@clisp.org>
21285
21286         math: Fix indentation.
21287         * lib/math.in.h (floorf): Fix indentation.
21288
21289 2010-12-21  Bruno Haible  <bruno@clisp.org>
21290
21291         Fix cross-compilation guesses on Solaris.
21292         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21293         not match "solaris2.10".
21294         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21295         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21296         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21297
21298 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21299
21300         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21301         This fixes a problem observed with the latest coreutils snapshot
21302         that caused a test to fail on Solaris 8.  src/csplit.c's call
21303         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21304         earlier, instead of returning the number of bytes that would have
21305         been generated; this causes csplit to incorrectly report memory
21306         exhaustion.
21307         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21308         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21309         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21310         comments to match.
21311         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21312         Fix typo in matching older versions of Solaris: "solaris2.10"
21313         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21314         only for guessing while cross-compiling.
21315         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21316
21317 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21318
21319         ftoastr: fix comment again
21320         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21321         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
21322         Also, simplify example a bit by using flags = 0.
21323
21324 2010-12-20  Bruno Haible  <bruno@clisp.org>
21325
21326         round*, trunc*: Update documentation regarding glibc.
21327         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
21328         * doc/posix-functions/round.texi: Likewise.
21329         * doc/posix-functions/roundl.texi: Likewise.
21330         * doc/posix-functions/truncf.texi: Likewise.
21331         * doc/posix-functions/trunc.texi: Likewise.
21332         * doc/posix-functions/truncl.texi: Likewise.
21333
21334 2010-12-20  Bruno Haible  <bruno@clisp.org>
21335
21336         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21337         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21338         * doc/posix-functions/round.texi: Likewise.
21339         * doc/posix-functions/roundl.texi: Likewise.
21340
21341 2010-12-20  Bruno Haible  <bruno@clisp.org>
21342
21343         ttyname_r: Add missing declaration on HP-UX 11.
21344         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21345         HAVE_TTYNAME_R.
21346         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21347         declared. Set HAVE_TTYNAME_R always.
21348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21349         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21350         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21351         HAVE_TTYNAME_R.
21352         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21353
21354 2010-12-20  Bruno Haible  <bruno@clisp.org>
21355
21356         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
21357         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
21358         * doc/posix-functions/getlogin_r.texi: Likewise.
21359         * tests/test-getlogin.c: Include <errno.h>.
21360         (main): Avoid test failure on HP-UX 11.11.
21361         * tests/test-getlogin_r.c (main): Likewise.
21362
21363 2010-12-20  Bruno Haible  <bruno@clisp.org>
21364
21365         getlogin_r: Add missing declaration on HP-UX 11.
21366         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
21367         declared also when it exists as a function.
21368         * doc/posix-functions/getlogin_r.texi: Document this workaround.
21369
21370 2010-12-20  Bruno Haible  <bruno@clisp.org>
21371
21372         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
21373         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
21374         through wcrtomb.
21375
21376 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21377
21378         ftoastr: fix comment
21379         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21380         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
21381
21382 2010-12-19  Bruno Haible  <bruno@clisp.org>
21383
21384         isnan: Ensure it is a macro.
21385         * lib/math.in.h (isnan): Define as a macro if not already a macro.
21386         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
21387         Solaris.
21388
21389 2010-12-19  Bruno Haible  <bruno@clisp.org>
21390
21391         ldexpl test: Fix link error on OSF/1 5.1.
21392         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
21393
21394 2010-12-19  Bruno Haible  <bruno@clisp.org>
21395
21396         wctype: Make it work in C++ mode on OSF/1 5.1.
21397         * lib/wctype.in.h (iswblank): Declare but not define here.
21398         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
21399         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
21400         * modules/wctype (Files): Add lib/iswblank.c.
21401
21402 2010-12-19  Bruno Haible  <bruno@clisp.org>
21403
21404         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
21405         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
21406         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
21407
21408 2010-12-19  Bruno Haible  <bruno@clisp.org>
21409
21410         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
21411         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
21412         _POSIX_PII_SOCKET.
21413         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
21414         * doc/posix-functions/recvfrom.texi: Likewise.
21415         * doc/posix-functions/send.texi: Likewise.
21416         * doc/posix-functions/sendto.texi: Likewise.
21417
21418 2010-12-19  Bruno Haible  <bruno@clisp.org>
21419
21420         tcgetsid: Add missing declaration on OSF/1 5.1.
21421         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
21422         HAVE_TCGETSID.
21423         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
21424         Don't set HAVE_TCGETSID.
21425         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
21426         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
21427         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
21428         HAVE_TCGETSID.
21429         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
21430
21431 2010-12-19  Bruno Haible  <bruno@clisp.org>
21432
21433         stdio: Fix problem with popen() declaration on OSF/1 5.1.
21434         * lib/stdio.in.h: During the include_next statement, let recursive
21435         includes of this file include only the system header file.
21436
21437 2010-12-19  Bruno Haible  <bruno@clisp.org>
21438
21439         iconv_open: Fix regression from 2010-12-04.
21440         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
21441         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
21442
21443 2010-12-19  Bruno Haible  <bruno@clisp.org>
21444
21445         stdbool test: Avoid a gcc warning.
21446         * tests/test-stdbool.c (main): Fail if e1 is false.
21447         Reported by Jim Meyering.
21448
21449 2010-12-19  Jim Meyering  <meyering@redhat.com>
21450
21451         setenv: restore to working order
21452         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
21453         mistakenly removed.
21454         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
21455         HAVE_SETENV.
21456         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
21457         HAVE_SETENV.
21458
21459 2010-12-19  Bruno Haible  <bruno@clisp.org>
21460
21461         Document some different function declarations on OSF/1 5.1.
21462         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
21463         * doc/posix-functions/inet_ntop.texi: Likewise.
21464         * doc/posix-functions/gethostname.texi: Likewise.
21465         * lib/unistd.in.h (gethostname): Update comment.
21466
21467 2010-12-19  Bruno Haible  <bruno@clisp.org>
21468
21469         doc: Mention vasprintf-posix module.
21470         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
21471         the 'vasprintf-posix' module.
21472         * doc/glibc-functions/vasprintf.texi: Likewise.
21473
21474 2010-12-19  Bruno Haible  <bruno@clisp.org>
21475
21476         unsetenv: Add missing declaration on OSF/1 5.1.
21477         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
21478         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
21479         Don't set HAVE_UNSETENV. In the test program, set _BSD.
21480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
21481         not HAVE_UNSETENV.
21482         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
21483         HAVE_UNSETENV.
21484         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
21485
21486 2010-12-19  Bruno Haible  <bruno@clisp.org>
21487
21488         setenv: Add missing declaration on OSF/1 5.1.
21489         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
21490         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
21491         declared. Don't set HAVE_SETENV.
21492         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
21493         not HAVE_SETENV.
21494         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
21495         HAVE_SETENV.
21496         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
21497
21498 2010-12-19  Bruno Haible  <bruno@clisp.org>
21499
21500         nl_langinfo tests: Avoid gcc warning.
21501         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
21502
21503 2010-12-19  Bruno Haible  <bruno@clisp.org>
21504
21505         mknod: Avoid error in C++ mode on OSF/1 with GCC.
21506         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
21507         _GL_CXXALIAS_SYS.
21508
21509 2010-12-19  Bruno Haible  <bruno@clisp.org>
21510
21511         stdbool: Relax test.
21512         * tests/test-stdbool.c (e): Don't require that casts from a variable's
21513         address to 'bool' work in static initializer, for compilers other than
21514         GCC.
21515
21516 2010-12-19  Bruno Haible  <bruno@clisp.org>
21517
21518         ftello: Add missing declaration on OSF/1 5.1.
21519         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
21520         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
21521         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
21522         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
21523         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
21524
21525 2010-12-19  Bruno Haible  <bruno@clisp.org>
21526
21527         fseeko: Add missing declaration on OSF/1 5.1.
21528         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
21529         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
21530         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
21531         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
21532         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
21533
21534 2010-12-19  Bruno Haible  <bruno@clisp.org>
21535
21536         fchdir: Add missing declaration on OSF/1 5.1.
21537         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
21538         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
21539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
21540         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
21541         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
21542
21543 2010-12-19  Bruno Haible  <bruno@clisp.org>
21544
21545         relocatable-prog-wrapper: Separate from relocatable-prog.
21546         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
21547         uninstall-relocwrapper rule here.
21548         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
21549         Reported by Ian Beckwith <ianb@erislabs.net>.
21550
21551 2010-12-19  Bruno Haible  <bruno@clisp.org>
21552
21553         unistr/u8-mbsnlen: Add missing dependency.
21554         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
21555         Reported by Ian Beckwith <ianb@erislabs.net>.
21556
21557 2010-12-19  Bruno Haible  <bruno@clisp.org>
21558
21559         iconv: Make it possible again to use this module without 'iconv-h'.
21560         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
21561         if it is not defined.
21562         Reported by Ian Beckwith <ianb@erislabs.net>.
21563
21564 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
21565
21566         acl: port to Solaris 8 when copying from tmpfs to ufs
21567         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
21568         error number.  Problem observed on Solaris 8 with latest
21569         coreutils, with "mv A B", where A is on a tmpfs file system and B
21570         is on a ufs file system.  This caused coreutils' mv/part-symlink
21571         test to fail.
21572
21573         tests: set fail=0 at start
21574         * tests/init.sh (setup_): Move fail=0 initialization here ...
21575         (mktempd_): ... from here, so that tests can rely on fail being
21576         set to 0 initially.  This fixes a problem in coreutils; see:
21577         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
21578
21579 2010-12-18  Bruno Haible  <bruno@clisp.org>
21580
21581         memmem-simple: Stylistic changes.
21582         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
21583         Fix preprocessor directive indentation.
21584
21585 2010-12-15  Pádraig Brady <P@draigBrady.com>
21586
21587         memmem, memmem-simple: reorganize and expand empty needle check
21588         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
21589         functional checks to memmem-simple so that one has a fully functional
21590         memmem by using just this module.
21591         Restrict the performance only check to the memmem module.
21592         Also expand the empty needle check to ensure the correct
21593         pointer is returned, not just a non NULL pointer.
21594         * doc/glibc-functions/memmem.texi: Rearrange the portability
21595         documentation to correlate with the rearranged checks.
21596         Clarify exactly how the memmem and memmem-simple modules
21597         relate to each other.
21598
21599 2010-12-15  Pádraig Brady <P@draigBrady.com>
21600             Bruno Haible  <bruno@clisp.org>
21601
21602         Improve cross-compilation guesses for uClibc.
21603         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
21604         that uClibc does not have the glibc bug.
21605         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
21606         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
21607
21608 2010-12-14  Eric Blake  <eblake@redhat.com>
21609
21610         configmake: provide fallbacks for oldest supported autotools
21611         * m4/configmake.m4: New file.
21612         * modules/configmake (Files): Ship it.
21613         (configure.ac): Use it to guarantee fallbacks.
21614
21615 2010-12-13  Pádraig Brady <P@draigBrady.com>
21616
21617         read-file: Improve handling of large files
21618         * lib/read-file.c (fread_file): Minimize realloc()s
21619         for regular files, and better manage sizes around SIZE_MAX.
21620
21621 2010-12-13  Eric Blake  <eblake@redhat.com>
21622
21623         cloexec, fcntl: relax license
21624         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
21625         consent from all contributors.
21626         * modules/fcntl (License): Likewise.
21627
21628 2010-12-10  Bruno Haible  <bruno@clisp.org>
21629
21630         Tests for module 'pipe-posix'.
21631         * modules/pipe-posix-tests: New file.
21632         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
21633
21634 2010-12-10  Bruno Haible  <bruno@clisp.org>
21635
21636         pipe-posix: Make it work in C++ mode.
21637         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
21638         (pipe): Use common idiom, not a macro definition.
21639         * lib/pipe.c: New file.
21640         * m4/pipe.m4: New file.
21641         * modules/pipe-posix (Description): Enhance.
21642         (Files): Add lib/pipe.c, m4/pipe.m4.
21643         (configure.ac): Invoke gl_FUNC_PIPE.
21644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
21645         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
21646         * tests/test-unistd-c++.cc: Check the signature of pipe.
21647
21648 2010-12-10  Bruno Haible  <bruno@clisp.org>
21649
21650         Rename module 'pipe' to 'spawn-pipe'.
21651         * modules/spawn-pipe: New file, renamed from modules/pipe.
21652         (Files, configure.ac, Makefile.am): Update.
21653         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
21654         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
21655         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
21656         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
21657         "spawn-pipe.h" instead of "pipe.h".
21658         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
21659         to gl_SPAWN_PIPE.
21660         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
21661         (Files, Makefile.am): Update.
21662         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
21663         Update.
21664         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
21665         Include "spawn-pipe.h" instead of "pipe.h".
21666         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
21667         * lib/javacomp.c: Likewise.
21668         * lib/javaversion.c: Likewise.
21669         * lib/pipe-filter-gi.c: Likewise.
21670         * lib/pipe-filter-ii.c: Likewise.
21671         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
21672         * modules/javacomp (Depends-on): Likewise.
21673         * modules/javaversion (Depends-on): Likewise.
21674         * modules/pipe-filter-gi (Depends-on): Likewise.
21675         * modules/pipe-filter-ii (Depends-on): Likewise.
21676         * MODULES.html.sh (Executing programs): Update.
21677         * NEWS: Mention the change.
21678
21679 2010-12-10  Eric Blake  <eblake@redhat.com>
21680
21681         pipe-posix: new module
21682         * modules/pipe-posix: New file.
21683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
21684         (gl_UNISTD_H): Check for declaration.
21685         * modules/unistd (Makefile.am): Substitute it.
21686         * lib/unistd.in.h (pipe): Provide it for mingw.
21687         * doc/posix-functions/pipe.texi (pipe): Update documentation.
21688         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
21689
21690 2010-12-07  Bruno Haible  <bruno@clisp.org>
21691
21692         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
21693         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
21694         u8_strcmp_gnu.
21695         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
21696
21697 2010-12-06  Bruno Haible  <bruno@clisp.org>
21698
21699         Update internal documentation.
21700         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
21701
21702 2010-12-04  Bruno Haible  <bruno@clisp.org>
21703
21704         Put more information about failed tests into the test return codes.
21705         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
21706         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
21707         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21708         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21709         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
21710         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21711         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21712         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21713         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
21714         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21715         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
21716         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
21717         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
21718         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21719         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
21720         returns a bit mask.
21721         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
21722         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
21723         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
21724         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
21725         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21726         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21727         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
21728         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
21729         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21730         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
21731         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21732         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
21733         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21734         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
21735         * m4/link.m4 (gl_FUNC_LINK): Likewise.
21736         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
21737         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
21738         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
21739         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21740         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
21741         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21742         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21743         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
21744         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21745         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21746         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
21747         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
21748         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21749         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21750         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
21751         gl_PRINTF_PRECISION): Likewise.
21752         * m4/regex.m4 (gl_REGEX): Likewise.
21753         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
21754         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21755         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
21756         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21757         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
21758         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21759         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
21760         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
21761         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
21762         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21763         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
21764         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
21765         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
21766         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
21767         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21768         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21769         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
21770         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21771         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
21772         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
21773         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
21774         enumerated value.
21775         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
21776
21777 2010-12-04  Bruno Haible  <bruno@clisp.org>
21778
21779         Update for Solaris 11 2010-11.
21780         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
21781         Express, released in November 2010.
21782
21783 2010-12-04  Bruno Haible  <bruno@clisp.org>
21784
21785         nproc: Relax license.
21786         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
21787         and Paul Eggert.
21788         Requested by Ludovic Courtès <ludo@gnu.org>.
21789
21790 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
21791
21792         utimecmp: fine-grained src to nearby coarse-grained dest
21793
21794         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
21795         and the source is on a file system with higher-resolution time
21796         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
21797         not work, and the time stamps are close together, the algorithm to
21798         determine the exact resolution from the read-back mtime was buggy:
21799         it had a "!=" where it should have had an "==".  This bug has been
21800         in the code ever since it was introduced to gnulib.
21801         Problem reported by Dan Jacobson in
21802         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
21803
21804 2010-11-30  Bruno Haible  <bruno@clisp.org>
21805
21806         strerror_r-posix: Fix autoconf test.
21807         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
21808
21809 2010-11-28  Bruno Haible  <bruno@clisp.org>
21810             Paul Eggert  <eggert@cs.ucla.edu>
21811
21812         Tests for module 'getdomainname'.
21813         * modules/getdomainname-tests: New file.
21814         * tests/test-getdomainname.c: New file, based on
21815         tests/test-gethostname.c.
21816
21817 2010-11-28  Bruno Haible  <bruno@clisp.org>
21818             Paul Eggert  <eggert@cs.ucla.edu>
21819
21820         getdomainname: Use the system function when possible.
21821         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
21822         (getdomainname): Replace if needed. Provide the declaration if it is
21823         missing. Don't use _GL_CXXALIAS_SYS_CAST.
21824         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
21825         (getdomainname): When the system has getdomainname, call the system
21826         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
21827         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21828         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
21829         found in libnsl. Look for the declaration also in <netdb.h>. Replace
21830         the function if its second argument is of type 'int' or if it is found
21831         in libnsl.
21832         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
21833         <sys/systeminfo.h> and sysinfo().
21834         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
21835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21836         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
21837         HAVE_GETDOMAINNAME.
21838         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
21839         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
21840         * doc/glibc-functions/getdomainname.texi: Document the problems with
21841         the getdomainname declaration.
21842
21843 2010-11-28  Bruno Haible  <bruno@clisp.org>
21844
21845         sys_socket: Ensure ss_family field on AIX.
21846         * lib/sys_socket.in.h (ss_family): New macro definition.
21847         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
21848         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
21849         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21850         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
21851         * modules/sys_socket (Makefile.am): Substitute
21852         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
21853         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
21854
21855 2010-11-27  Bruno Haible  <bruno@clisp.org>
21856
21857         readline: Improve configure output.
21858         * m4/readline.m4 (gl_FUNC_READLINE): Make the
21859         "checking for readline..." result understandable.
21860
21861 2010-11-27  Bruno Haible  <bruno@clisp.org>
21862
21863         *printf-posix: Detect a bug on Solaris 10/x86.
21864         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
21865         for floating-point output.
21866         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
21867         directive.
21868         * tests/test-snprintf-posix.h (test_function): Likewise.
21869         * tests/test-sprintf-posix.h (test_function): Likewise.
21870         * tests/test-vasprintf-posix.c (test_function): Likewise.
21871         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
21872         * doc/posix-functions/printf.texi: Likewise.
21873         * doc/posix-functions/snprintf.texi: Likewise.
21874         * doc/posix-functions/sprintf.texi: Likewise.
21875         * doc/posix-functions/vfprintf.texi: Likewise.
21876         * doc/posix-functions/vprintf.texi: Likewise.
21877         * doc/posix-functions/vsnprintf.texi: Likewise.
21878         * doc/posix-functions/vsprintf.texi: Likewise.
21879         * doc/glibc-functions/obstack_printf.texi: Likewise.
21880         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
21881
21882 2010-11-27  Bruno Haible  <bruno@clisp.org>
21883
21884         Fix link error when module libunistring-optional is in use.
21885         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
21886         * modules/striconveha-tests (Makefile.am): Likewise.
21887
21888 2010-11-27  Bruno Haible  <bruno@clisp.org>
21889
21890         regex: Mention link dependencies.
21891         * modules/regex (Link): New section.
21892         * modules/rpmatch (Link): Likewise.
21893         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
21894
21895 2010-11-27  Bruno Haible  <bruno@clisp.org>
21896
21897         ftoastr: Fix compilation error on Solaris.
21898         * lib/ftoastr.c: Include <config.h>.
21899
21900 2010-11-27  Bruno Haible  <bruno@clisp.org>
21901
21902         getloadavg: Update documentation.
21903         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
21904
21905 2010-11-27  Bruno Haible  <bruno@clisp.org>
21906
21907         sys_socket: Fix test whether the functions are declared.
21908         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
21909         not <sys/select.h>.
21910
21911 2010-11-27  Bruno Haible  <bruno@clisp.org>
21912
21913         getpass: Make sure to get system declaration on some platforms.
21914         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
21915         gl_USE_SYSTEM_EXTENSIONS.
21916         * modules/getpass (Depends-on): Add extensions.
21917
21918 2010-11-26  Bruno Haible  <bruno@clisp.org>
21919
21920         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
21921         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
21922         'iconv' module is present.
21923         (ICONV_CONST): New macro.
21924         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
21925         ICONV_CONST.
21926         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
21927         set ICONV_CONST.
21928         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
21929         here.
21930         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
21931         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
21932         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
21933         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
21934         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
21935         present.
21936
21937 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
21938
21939         ftoastr: comment fix
21940         * lib/ftoastr.c: "little" -> "little or no" in comment
21941
21942 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21943
21944         stdint: port to GCC 4.3 + OSX + Octave
21945         On this platform, stdint.h is buggy and defines int64_t to long
21946         long int.  The replacement defined it to long int, causing
21947         problems with C++ style name mangling.  Instead, trust the system
21948         definition if INT64_MAX is defined, and likewise for the unsigned
21949         variant.   Problem reported by Jarno Rajahalme in
21950         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
21951         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
21952         and don't mess with int64_t and INT64_MAX in this case.
21953         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
21954
21955 2010-11-24  Bruno Haible  <bruno@clisp.org>
21956
21957         doc: Corrections regarding MacOS X 10.4 and 10.5.
21958         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
21959         MacOS X.
21960         Reported by Simon Josefsson.
21961
21962 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
21963
21964         Uninstall ".bin" files installed by relocwrapper.
21965         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
21966         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
21967         unless it is already there.
21968
21969 2010-11-21  Bruno Haible  <bruno@clisp.org>
21970
21971         Update for NetBSD 5.0.
21972         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21973         NetBSD; the test fails on NetBSD 5.0.
21974         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21975         about NetBSD.
21976
21977 2010-11-21  Bruno Haible  <bruno@clisp.org>
21978
21979         Update for HP-UX 11.23 and HP-UX 11.31.
21980         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
21981         HP-UX.
21982
21983 2010-11-21  Bruno Haible  <bruno@clisp.org>
21984
21985         Update for MacOS X 10.5.
21986         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21987         MacOS X; the test fails on MacOS X 10.5.8.
21988         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21989         about MacOS X.
21990
21991 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
21992
21993         bootstrap: add bootstrap_sync option.
21994         See discussion at
21995         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
21996         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
21997         * build-aux/bootstrap: Accept --bootstrap-sync to update
21998         bootstrap if it is not identical to the local gnulib's
21999         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22000         enable this by default.  Accept --no-bootstrap-sync to disable
22001         it.
22002
22003 2010-11-20  Bruno Haible  <bruno@clisp.org>
22004
22005         Ensure that <features.h> is included before __GLIBC__ is tested.
22006         * lib/printf-parse.h: Include <features.h>.
22007         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22008         Reported by Mike Frysinger <vapier@gentoo.org>.
22009
22010         Ensure that <features.h> is included before __GLIBC__ is tested.
22011         * lib/wchar.in.h: Include <features.h>.
22012         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22013         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22014         Reported by Mike Frysinger <vapier@gentoo.org>.
22015
22016         Ensure that <features.h> is included before __GLIBC__ is tested.
22017         * lib/arpa_inet.in.h: Include <features.h>.
22018         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22019         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22020         Reported by Mike Frysinger <vapier@gentoo.org>.
22021
22022         Ensure that <features.h> is included before __GLIBC__ is tested.
22023         * build-aux/link-warning.h: Include <features.h>.
22024         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22025         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22026         Reported by Mike Frysinger <vapier@gentoo.org>.
22027
22028         Ensure that <features.h> is included before __GLIBC__ is tested.
22029         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22030         Reported by Mike Frysinger <vapier@gentoo.org>.
22031
22032 2010-11-20  Bruno Haible  <bruno@clisp.org>
22033
22034         memmem: Fix autoconf test.
22035         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22036
22037 2010-11-20  Bruno Haible  <bruno@clisp.org>
22038
22039         Port to uClibc.
22040         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22041         * lib/fcntl.in.h: Likewise.
22042         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22043         * lib/mbrtowc.c (mbrtowc): Likewise.
22044         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22045         * lib/strerror_r.c: Likewise.
22046         * lib/unistr/u8-strnlen.c: Likewise.
22047         * lib/vasnprintf.c (decimal_point_char): Likewise.
22048         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22049         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22050         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22051         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22052         * tests/test-sigaction.c (handler, main): Likewise.
22053         * lib/freading.h: Treat uClibc like a non-glibc platform.
22054         * lib/freading.c: Likewise.
22055         * lib/gettext.h: Likewise.
22056         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22057         Likewise.
22058         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22059         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22060         * lib/propername.c (proper_name_utf8): Likewise.
22061         * lib/spawn.in.h: Likewise.
22062         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22063         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22064         mem_cd_iconveh_internal): Likewise.
22065         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22066         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22067         strstr, strcasestr): Likewise.
22068         * lib/unicodeio.c (unicode_to_mb): Likewise.
22069         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22070         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22071         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22072         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22073         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22074         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22075         * lib/unistr/u8-stpncpy.c: Likewise.
22076         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22077         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22078         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22079         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22080         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22081         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22082         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22083         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22084         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22085         Likewise.
22086         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22087         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22088         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22089         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22090         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22091         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22092         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22093         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22094         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22095         * tests/test-striconveha.c (main): Likewise.
22096         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22097         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22098         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22099         * doc/posix-functions/getline.texi: Likewise.
22100         Reported by Mike Frysinger <vapier@gentoo.org>.
22101
22102 2010-11-20  Bruno Haible  <bruno@clisp.org>
22103
22104         nproc: Fix condition.
22105         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22106         HAVE_PTHREAD_AFFINITY_NP.
22107
22108 2010-11-20  Bruno Haible  <bruno@clisp.org>
22109
22110         Fix a comment.
22111         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22112
22113 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22114
22115         ftoastr: don't assume snprintf
22116         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22117         Implement a subset of snprintf here, by using sprintf safely.
22118         * modules/ftoastr (Depends-on): Remove snprintf.
22119
22120 2010-11-19  Jim Meyering  <meyering@redhat.com>
22121
22122         test-rename.h: fix compilation failure
22123         * tests/test-rename.h (test_rename): Add omitted "}".
22124
22125 2010-11-17  Jim Meyering  <meyering@redhat.com>
22126
22127         maint.mk: add a URL discussing the no-@acronym policy
22128         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22129
22130 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22131
22132         ftoastr: depend on snprintf, improve comments
22133         * lib/ftoastr.c: Also mention Loitsch's draft.
22134         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22135         needed in the current implementation, but it might simplify
22136         speeding up the code later.
22137         * modules/ftoastr: Depend on snprintf; this improves portability.
22138         Suggested by Bruno Haible in the same email.
22139
22140         ftoastr: port to hosts lacking strtof and strtold
22141         Problem reported by Bruno Haible in
22142         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22143         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22144         environment and strtold (and presumably strtof) are not available.
22145         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22146         (configure.ac): Require gl_C99_STRTOLD.
22147
22148 2010-11-18  Bruno Haible  <bruno@clisp.org>
22149
22150         c-strtold: Avoid link error on AIX 7.
22151         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22152         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22153         (gl_C_STRTOLD): Test whether strtold_l exists.
22154         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22155
22156 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22157
22158         intprops: new macro INT_BITS_STRLEN_BOUND
22159         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22160         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22161         not exposed.  Also, it uses a slightly tighter bound than before;
22162         though this makes no practical difference, we might as well be as
22163         tight as we easily can.
22164
22165         ftoastr: new module, for lossless conversion of floats to short strings
22166         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22167         * modules/ftoastr: New files.
22168
22169 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22170
22171         bootstrap: port to Solaris sed
22172         * build-aux/bootstrap (get_version): Port to Solaris sed.
22173         See Ralf Wildenhues's note in
22174         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22175
22176 2010-11-14  Jim Meyering  <meyering@redhat.com>
22177
22178         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22179         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22180         and move definition closer to sole use.
22181
22182 2010-11-13  Jim Meyering  <meyering@redhat.com>
22183
22184         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22185         Now we require at least autoconf-2.59, which means the work-around
22186         is no longer needed.
22187         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22188         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22189         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22190         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22191         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22192
22193 2010-11-13  Bruno Haible  <bruno@clisp.org>
22194
22195         rename, renameat: Avoid test failures at NFS mounted locations.
22196         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22197         functions.
22198         (test_rename): Use assert_nonexistent.
22199         * tests/test-rename.c: Include <dirent.h>.
22200         * tests/test-renameat.c: Likewise.
22201         Reported by Gary V. Vaughan <gary@gnu.org>.
22202
22203         rename, renameat: Document Linux bug with NFS
22204         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22205         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22206         * doc/posix-functions/renameat.texi: Likewise.
22207         Suggested by Eric Blake.
22208
22209 2010-11-13  Bruno Haible  <bruno@clisp.org>
22210
22211         rename test: Add comments.
22212         * tests/test-rename.h (test_rename): Add structure and comments.
22213
22214 2010-11-13  Eric Blake  <eblake@redhat.com>
22215
22216         maintainer-makefile: cover a few more files
22217         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22218         scripts generated within C files, for libvirt.
22219
22220 2010-11-13  Bruno Haible  <bruno@clisp.org>
22221
22222         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22223         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22224         character, return the number of bytes that belong together, not always
22225         1.
22226         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22227         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22228         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22229         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22230         number of bytes of an invalid character.
22231         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22232         (main): Invoke it.
22233         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22234         results.
22235         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22236         malformed byte sequences.
22237         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22238         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22239         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22240         Reported by Ben Pfaff and Paolo Bonzini.
22241
22242 2010-11-13  Bruno Haible  <bruno@clisp.org>
22243
22244         openat: Work around glibc bug with fchownat() and empty file names.
22245         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22246         (gl_FUNC_FCHOWNAT): Invoke it.
22247         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22248         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22249         Reported by Gary V. Vaughan <gary@gnu.org>.
22250
22251 2010-11-13  Bruno Haible  <bruno@clisp.org>
22252
22253         openat: Ensure autoconf macro ordering.
22254         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22255         gl_USE_SYSTEM_EXTENSIONS.
22256         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22257
22258 2010-11-13  Bruno Haible  <bruno@clisp.org>
22259
22260         Update comments.
22261         * lib/unistr/u8-check.c: Update file name in comments.
22262         * lib/unistr/u8-mblen.c: Likewise.
22263         * lib/unistr/u8-prev.c: Likewise.
22264         * lib/unistr/u8-strmblen.c: Likewise.
22265         * lib/unistr/u8-strmbtouc.c: Likewise.
22266
22267 2010-11-13  Jim Meyering  <meyering@redhat.com>
22268
22269         tests: avoid test failure on Solaris 10 due to lack of PATH export
22270         * tests/test-update-copyright.sh: Don't forget to export PATH.
22271
22272         init.sh: ensure that IFS is defined, just in case...
22273         * tests/init.sh (setup_): Ensure that IFS is defined,
22274         so that saving and restoring it works as expected.  This
22275         appears to be useful at least for an old version of dash
22276         from a long time ago (RH 6).  See here for details:
22277         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22278
22279         maint.mk: tighten "test a == b" check
22280         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22281         test to files that contain something like #!/bin/sh.
22282         Without this, coreutils would get two false positives in
22283         the comments of C source files.
22284
22285 2010-11-12  Eric Blake  <eblake@redhat.com>
22286
22287         bootstrap: fix typo in previous attempt
22288         * build-aux/bootstrap (buildreq): Correct the grouping.
22289         Reported by Paul Eggert.
22290
22291         maintainer-makefile: prohibit test x == x
22292         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22293         Based on a report by Matthias Bolte.
22294
22295         bootstrap: allow FreeBSD gzip
22296         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22297         which has no '.' and goes to stderr.
22298         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22299         Reported by Matthias Bolte.
22300
22301         maintainer-makefile: check for i18n setup
22302         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22303         will likely work.
22304
22305 2010-11-12  Bruno Haible  <bruno@clisp.org>
22306
22307         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22308         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22309         * lib/nanosleep.c (nanosleep): Likewise.
22310
22311 2010-11-11  Bruno Haible  <bruno@clisp.org>
22312
22313         fcntl-h: Fix for use of C++ on glibc systems.
22314         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22315         also on glibc systems in C++ mode.
22316         Reported by Gary V. Vaughan <gary@gnu.org>.
22317
22318 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22319
22320         mknod: avoid false failure with dash
22321         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
22322
22323 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22324
22325         unlink: Fix "is it should" typo in diagnostic.
22326         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
22327         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
22328
22329 2010-11-11  Bruno Haible  <bruno@clisp.org>
22330
22331         Tests for module 'strerror_r-posix'.
22332         * modules/strerror_r-posix-tests: New file.
22333         * tests/test-strerror_r.c: New file.
22334         * tests/test-string-c++.cc: Check the signature of strerror_r.
22335
22336         New module 'strerror_r-posix'.
22337         * lib/string.in.h (strerror_r): New declaration.
22338         * lib/strerror_r.c: New file.
22339         * m4/strerror_r.m4: New file.
22340         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22341         of strerror_r.
22342         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22343         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22344         * modules/strerror_r-posix: New file.
22345         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22346         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22347         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22348         portability problems.
22349
22350 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22351
22352         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22353         line is also considered for output. Quoted function name in shell
22354         command, so temporary files for functions like MyClass::operator()
22355         are removed correctly without errors.
22356
22357 2010-11-09  Bruno Haible  <bruno@clisp.org>
22358
22359         * doc/posix-functions/strerror.texi: List more failing platforms.
22360
22361         * doc/posix-functions/strerror.texi: Add a comment.
22362
22363 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
22364
22365         fdopendir: fix bug on MacOS X when low on file descriptors
22366
22367         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
22368         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
22369         All callers changed.
22370         (fdopendir): Invoke save_cwd at the top level, not after using
22371         multiple dup() calls to use up file descriptors.  Then retry
22372         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
22373         less than the maximum number of open file descriptors, because
22374         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
22375         on Mac OS X 10.6.4 for tar 1.24
22376         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
22377         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
22378         and for tar 1.25
22379         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
22380
22381 2010-11-07  Bruno Haible  <bruno@clisp.org>
22382
22383         vasnprintf: Support I flag on glibc systems.
22384         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
22385         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
22386         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
22387         snprintf function.
22388         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
22389         glibc systems.
22390         * tests/test-vasnprintf-posix3.c: New file.
22391         * modules/vasnprintf-posix-tests (Files): Add it.
22392         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
22393
22394 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22395
22396         [html] Fix copy/paste bug: Use unique name for compiler warnings.
22397         * MODULES.html.sh: For compiler warnings, use name
22398         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
22399
22400 2010-11-05  Eric Blake  <eblake@redhat.com>
22401
22402         ceil, floor: avoid spurious failure with icc
22403         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
22404         [denormals-as-zero] when optimizing without -mieee-fp option.
22405         * tests/test-floorf2.c (floorf_reference): Likewise.
22406         * tests/test-ceilf1.c (dummy): New function.
22407         (main): Use it to outsmart icc's optimization.
22408         * tests/test-floorf1.c (dummy, main): Likewise.
22409
22410         tests: require working signbit
22411         * modules/ceilf-tests (Depends-on): Add signbit.
22412         * modules/ceill-tests (Depends-on): Likewise.
22413         * modules/floorf-tests (Depends-on): Likewise.
22414         * modules/floorl-tests (Depends-on): Likewise.
22415         * modules/round-tests (Depends-on): Likewise.
22416         * modules/roundf-tests (Depends-on): Likewise.
22417         * modules/roundl-tests (Depends-on): Likewise.
22418         * modules/trunc-tests (Depends-on): Likewise.
22419         * modules/truncf-tests (Depends-on): Likewise.
22420         * modules/truncl-tests (Depends-on): Likewise.
22421
22422         strtod: work around icc bug
22423         * lib/strtod.c (minus_zero): Define to working value.
22424         (strtod): Use it to avoid icc bug.
22425
22426         copysign: enhance tests
22427         * modules/copysign-tests (Files): Add minus-zero.h.
22428         * tests/test-copysign.c (main): Also test zeros.
22429
22430 2010-11-04  Eric Blake  <eblake@redhat.com>
22431
22432         ceil, floor, round, trunc: enhance tests of -0
22433         * tests/test-ceilf1.c (main): Ensure correct sign of result.
22434         * tests/test-ceill.c (main): Likewise.
22435         * tests/test-floorf1.c (main): Likewise.
22436         * tests/test-floorl.c (main): Likewise.
22437         * tests/test-round1.c (main): Likewise.
22438         * tests/test-roundf1.c (main): Likewise.
22439         * tests/test-roundl.c (main): Likewise.
22440         * tests/test-trunc1.c (main): Likewise.
22441         * tests/test-truncf1.c (main): Likewise.
22442         * tests/test-truncl.c (main): Likewise.
22443
22444 2010-11-04  Eric Blake  <eblake@redhat.com>
22445
22446         frexp, tests: work around ICC bug with -zero
22447         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
22448         works with more compilers.
22449         * tests/minus-zero.h: New file.
22450         * modules/ceilf-tests (Files): Include it.
22451         * modules/ceill-tests (Files): Likewise.
22452         * modules/floorf-tests (Files): Likewise.
22453         * modules/floorl-tests (Files): Likewise.
22454         * modules/frexp-nolibm-tests (Files): Likewise.
22455         * modules/frexp-tests (Files): Likewise.
22456         * modules/frexpl-nolibm-tests (Files): Likewise.
22457         * modules/frexpl-tests (Files): Likewise.
22458         * modules/isnan-tests (Files): Likewise.
22459         * modules/isnand-nolibm-tests (Files): Likewise.
22460         * modules/isnand-tests (Files): Likewise.
22461         * modules/isnanf-nolibm-tests (Files): Likewise.
22462         * modules/isnanf-tests (Files): Likewise.
22463         * modules/isnanl-nolibm-tests (Files): Likewise.
22464         * modules/isnanl-tests (Files): Likewise.
22465         * modules/round-tests (Files): Likewise.
22466         * modules/roundf-tests (Files): Likewise.
22467         * modules/roundl-tests (Files): Likewise.
22468         * modules/ldexpl-tests (Files): Likewise.
22469         * modules/signbit-tests (Files): Likewise.
22470         * modules/snprintf-posix-tests (Files): Likewise.
22471         * modules/sprintf-posix-tests (Files): Likewise.
22472         * modules/strtod-tests (Files): Likewise.
22473         * modules/trunc-tests (Files): Likewise.
22474         * modules/truncf-tests (Files): Likewise.
22475         * modules/truncl-tests (Files): Likewise.
22476         * modules/vsnprintf-posix-tests (Files): Likewise.
22477         * modules/vsprintf-posix-tests (Files): Likewise.
22478         * modules/vasnprintf-posix-tests (Files): Likewise.
22479         * modules/vasprintf-posix-tests (Files): Likewise.
22480         * tests/test-ceilf1.c (main): Use it.
22481         * tests/test-ceill.c (main): Likewise.
22482         * tests/test-floorf1.c (main): Likewise.
22483         * tests/test-floorl.c (main): Likewise.
22484         * tests/test-frexp.c (main): Likewise.
22485         * tests/test-frexpl.c (main): Likewise.
22486         * tests/test-isnan.c (main): Likewise.
22487         * tests/test-isnand.h (main): Likewise.
22488         * tests/test-isnanf.h (main): Likewise.
22489         * tests/test-isnanl.h (main): Likewise.
22490         * tests/test-ldexpl.c (main): Likewise.
22491         * tests/test-round.c (main): Likewise.
22492         * tests/test-roundf.c (main): Likewise.
22493         * tests/test-roundl.c (main): Likewise.
22494         * tests/test-signbit.c (test_signbitf, test_signbitd)
22495         (test_signbitl): Likewise.
22496         * tests/test-snprintf-posix.h (test_function): Likewise.
22497         * tests/test-sprintf-posix.h (test_function): Likewise.
22498         * tests/test-strtod.c (main): Likewise.
22499         * tests/test-trunc1.c (main): Likewise.
22500         * tests/test-truncf1.c (main): Likewise.
22501         * tests/test-truncl.c (main): Likewise.
22502
22503         isnanl: work around icc bug
22504         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
22505
22506 2010-11-03  Eric Blake  <eblake@redhat.com>
22507
22508         tests: fix compiler warnings
22509         * tests/test-getopt.h (test_getopt): Fix condition.
22510         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22511         * tests/test-pipe2.c (main): Likewise.
22512         * tests/test-quotearg-simple.c (main): Avoid icc warning.
22513
22514         utimens: fix broken m4 test
22515         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
22516
22517 2010-10-28  Bruno Haible  <bruno@clisp.org>
22518
22519         posix_spawn*, getdtablesize: Relax license.
22520         * modules/posix_spawn (License): Change to LGPLv2+.
22521         * modules/posix_spawnp (License): Likewise.
22522         * modules/posix_spawn-internal (License): Likewise.
22523         * modules/posix_spawnattr_init (License): Likewise.
22524         * modules/posix_spawnattr_getflags (License): Likewise.
22525         * modules/posix_spawnattr_setflags (License): Likewise.
22526         * modules/posix_spawnattr_getpgroup (License): Likewise.
22527         * modules/posix_spawnattr_setpgroup (License): Likewise.
22528         * modules/posix_spawnattr_getschedparam (License): Likewise.
22529         * modules/posix_spawnattr_setschedparam (License): Likewise.
22530         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
22531         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
22532         * modules/posix_spawnattr_getsigdefault (License): Likewise.
22533         * modules/posix_spawnattr_setsigdefault (License): Likewise.
22534         * modules/posix_spawnattr_getsigmask (License): Likewise.
22535         * modules/posix_spawnattr_setsigmask (License): Likewise.
22536         * modules/posix_spawnattr_destroy (License): Likewise.
22537         * modules/posix_spawn_file_actions_init (License): Likewise.
22538         * modules/posix_spawn_file_actions_addclose (License): Likewise.
22539         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
22540         * modules/posix_spawn_file_actions_addopen (License): Likewise.
22541         * modules/posix_spawn_file_actions_destroy (License): Likewise.
22542         * modules/getdtablesize (License): Likewise.
22543         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
22544
22545 2010-10-26  Bruno Haible  <bruno@clisp.org>
22546
22547         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
22548         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
22549         Cygwin and mingw.
22550         Suggested by Eric Blake.
22551
22552 2010-10-26  Bruno Haible  <bruno@clisp.org>
22553
22554         stdio: Work around compilation error due to renameat() on Solaris 10.
22555         * lib/stdio.in.h: Include <unistd.h> on Solaris.
22556         * lib/renameat.c: Don't include <unistd.h> here.
22557         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
22558         Reported by Paul Eggert and Eric Blake.
22559
22560 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
22561
22562         renameat: port to Solaris 10, which declares renameat in unistd.h
22563
22564         * lib/renameat.c: Include unistd.h before stdio.h, because
22565         Solaris 10 declares renameat in unistd.h.  Problem encountered
22566         when building GNU tar 1.24 on Solaris 10.
22567
22568 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22569
22570         fdopendir: fix C89 compilation
22571         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
22572         compilers.
22573
22574 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
22575
22576         inttostr: simplify by removing unnecessary redundancy
22577         * lib/anytostr.c: Don't include verify.h.
22578         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
22579         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
22580         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
22581         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
22582         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
22583         Likewise.
22584         * modules/inttostr (Depends-on): Remove 'verify'.
22585
22586 2010-10-23  Bruno Haible  <bruno@clisp.org>
22587
22588         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
22589         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
22590         Reported by Eric Blake.
22591
22592 2010-10-23  Bruno Haible  <bruno@clisp.org>
22593
22594         Tests: Fix LOCALE_JA on MirBSD 10.
22595         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
22596         to an UTF-8 locale.
22597         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
22598         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22599         Reported by Eric Blake.
22600
22601 2010-10-21  Bruno Haible  <bruno@clisp.org>
22602
22603         nl_langinfo test: Avoid test failure on NetBSD 5.
22604         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
22605         Reported by Eric Blake.
22606
22607 2010-10-21  Eric Blake  <eblake@redhat.com>
22608
22609         c-stack: work around libsigsegv 2.8 bug
22610         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
22611         overflow on at least PowerPC64.
22612
22613 2010-10-17  Bruno Haible  <bruno@clisp.org>
22614
22615         userspec: Drop redundant file.
22616         * modules/userspec (Files): Remove lib/inttostr.h.
22617
22618 2010-10-17  Bruno Haible  <bruno@clisp.org>
22619
22620         nl_langinfo tests: Silence some warnings.
22621         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
22622         Reported by Jim Meyering.
22623
22624 2010-10-17  Bruno Haible  <bruno@clisp.org>
22625
22626         Make use of GCC's attribute __alloc_size__.
22627         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
22628         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
22629         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
22630         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
22631         __alloc_size__.
22632         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22633         Suggested by Jim Meyering.
22634
22635 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
22636
22637         bootstrap: anchor .gitignore entries.
22638         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
22639         with...
22640         (insert_vc_ignore): ... this new function, which prepends `/' to
22641         all .gitignore entries before passing them to
22642         insert_sorted_if_absent.
22643
22644 2010-10-16  Bruno Haible  <bruno@clisp.org>
22645
22646         nextafter: Fix configure check.
22647         * modules/nextafter (configure.ac): Correct expected prototype.
22648
22649 2010-10-16  Bruno Haible  <bruno@clisp.org>
22650
22651         termios: Update documentation.
22652         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
22653
22654 2010-10-16  Bruno Haible  <bruno@clisp.org>
22655
22656         tests: Make them compile with TinyCC.
22657         * tests/test-strstr.c (main): Remove parentheses around array
22658         initializer.
22659
22660 2010-10-15  Eric Blake  <eblake@redhat.com>
22661
22662         ignore-value: make header idempotent
22663         * lib/ignore-value.h: Add double-inclusion guards.
22664         Reported by Stefan Berger.
22665
22666 2010-10-15  Jim Meyering  <meyering@redhat.com>
22667
22668         GNUmakefile: handle "stable" target, not "major"
22669         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
22670         lists in maint.mk and announce-gen.  Without this, "make stable"
22671         would fail to ensure that $(VERSION) is up to date.
22672
22673 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
22674
22675         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
22676         & co.
22677
22678 2010-10-14  Bruno Haible  <bruno@clisp.org>
22679
22680         vasnprintf: Don't set errno to 0.
22681         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
22682         block that sets it to 0.
22683         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
22684
22685 2010-10-14  Bruno Haible  <bruno@clisp.org>
22686
22687         socketlib: Fix.
22688         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
22689         gl_PREREQ_SYS_H_WINSOCK2.
22690         Reported by Ian Beckwith <ianb@erislabs.net>.
22691
22692 2010-10-13  Jim Meyering  <meyering@redhat.com>
22693
22694         test-select-stdin.c: avoid warn_unused_result warnings
22695         * tests/test-select-stdin.c: Include "macros.h".
22696         ASSERT that read and fflush succeed.
22697
22698 2010-10-13  Jim Meyering  <meyering@redhat.com>
22699
22700         git-version-gen: do require git-VC'd files in cwd
22701         * build-aux/git-version-gen: Reject a git version string
22702         if there are no commits associated with the current directory.
22703         This avoids an unlikely false-positive (unrelated dir whose parent
22704         repository also contains a tag matching v*), as pointed out
22705         by Giuseppe Scrivano in
22706         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
22707
22708 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
22709
22710         argv-iter: omit nonconforming declaration
22711         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
22712         enum arg_iter_err declaration, which doesn't conform to C99.
22713         Solaris 10 cc warns about this.
22714
22715 2010-10-13  Eric Blake  <eblake@redhat.com>
22716
22717         termios: fix compilation on mingw
22718         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
22719         (gl_TERMIOS_H): Adjust it on mingw.
22720         * modules/termios (Makefile.am): Substitute new key.
22721         * lib/termios.in.h (includes): Make include_next conditional.
22722         * doc/posix-headers/termios.texi (termios.h): Update
22723         documentation.
22724         Reported by Daniel P. Berrange.
22725
22726 2010-10-13  Jim Meyering  <meyering@redhat.com>
22727
22728         git-version-gen: don't require that .git/ be in the current dir
22729         * build-aux/git-version-gen: Adjust this script so that it works
22730         when run from any working directory beneath the top-level .git/-
22731         containing directory.  Inspired by a patch from Giuseppe Scrivano,
22732         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
22733
22734         test-select: avoid warn_unused_result warnings
22735         * tests/test-select.c: Include "macros.h".
22736         ASSERT that each call to read, write, and pipe succeeds.
22737         While not technically required, also check each "close".
22738         * modules/select-tests (Files): Add tests/macros.h.
22739
22740         test-symlinkat: remove declaration of unused local
22741         * tests/test-symlinkat.c (main): Remove unused local, "buf".
22742
22743         test-inttostr: avoid shadowing warnings
22744         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
22745         and use malloc rather than the stack for the same reason as
22746         mentioned in the comment justifying the other allocation.
22747
22748 2010-10-11  Bruno Haible  <bruno@clisp.org>
22749
22750         stdlib: Allow multiple gnulib generated replacements to coexist.
22751         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
22752         Reported by Sam Steingold <sds@gnu.org>.
22753
22754 2010-10-11  Jim Meyering  <meyering@redhat.com>
22755
22756         fix a documentation typo
22757         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
22758
22759 2010-10-11  Eric Blake  <eblake@redhat.com>
22760
22761         futimens: work around Solaris 11 bug
22762         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
22763         * tests/test-futimens.h (test_futimens): Enhance, rather than
22764         weaken test.
22765         * doc/posix-functions/futimens.texi (futimens): Document the bug.
22766
22767 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22768
22769         Indentation.
22770         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
22771         higher-level operators more to the left.
22772
22773 2010-10-11  Jim Meyering  <meyering@redhat.com>
22774
22775         test-futimens: avoid unwarranted test failure on Solaris 5.11
22776         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
22777         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
22778         because it tries to dereference the NULL name argument.
22779
22780 2010-10-11  Bruno Haible  <bruno@clisp.org>
22781
22782         Indentation.
22783         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
22784         indentation.
22785
22786 2010-10-11  Jim Meyering  <meyering@redhat.com>
22787
22788         spawn.in.h: make indentation consistent with parentheses
22789         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
22790         Make indentation consistent with parentheses.
22791
22792 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
22793
22794         Fix mismatched parens in previous commit
22795         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
22796         parens.
22797
22798 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
22799
22800         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
22801
22802         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
22803         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
22804         * lib/malloca.c: Include "verify.h".
22805         (verify1): Remove, replacing with a verify call.
22806         * lib/relocwrapper.c (verify1): Likewise.
22807         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
22808         Likewise.
22809         * modules/malloca (Depends-on): Add 'verify'.
22810         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
22811         * modules/vasnprintf (Depends-on): Add 'verify'.
22812         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22813         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22814         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22815         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22816         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22817         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22818         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22819
22820         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
22821
22822         Formerly the style was sometimes 2*X - 1, because the C standard
22823         was wrongly thought to disallow ?: in integral constant expressions.
22824         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
22825         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
22826         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22827         * lib/stdint.in.h (_verify_intmax_size): Likewise.
22828         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
22829         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
22830         verify that time_t cannot be floating.
22831
22832 2010-10-08  Eric Blake  <eblake@redhat.com>
22833
22834         time: enforce recent POSIX ruling that time_t is integral
22835         * lib/time.in.h (__time_t_must_be_integral): Detect any
22836         problematic systems, allowing the rest of gnulib to assume POSIX.
22837
22838 2010-10-08  Jim Meyering  <meyering@redhat.com>
22839
22840         fdopendir: fix a bug on systems lacking openat and /proc support
22841         OpenBSD 4.7 is one such system.  The most noticeable effect was
22842         failure of any application making nontrivial use of fts: rm, du,
22843         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
22844           ./rm: traversal failed: `a': Bad file descriptor
22845         Debugging that, you see that even though FD 6 was closed just
22846         prior to the opendir call in fd_clone_opendir, its resulting
22847         dir->dd_fd was 8, rather than the expected value of 6:
22848
22849         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
22850         93                close (fd);
22851         (gdb) n
22852         94                dir = fd_clone_opendir (dupfd);
22853         (gdb) n
22854         95                saved_errno = errno;
22855         (gdb) p dir->dd_fd
22856         $11 = 8
22857
22858         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
22859         The problem is that on OpenBSD, fd_clone_opendir has to resort
22860         to using the old-style save/restore CWD mechanism, due to its
22861         lack of openat/proc support, and *that* would steal the FD (6)
22862         that opendir was supposed to use.
22863
22864         The fix is to squirrel away the desired FD so that save_cwd uses a
22865         different one, and then free the dest FD right before calling opendir.
22866         That guarantees opendir will use the required file descriptor.
22867
22868         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
22869
22870 2010-10-08  Bruno Haible  <bruno@clisp.org>
22871
22872         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
22873         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
22874
22875 2010-10-08  Bruno Haible  <bruno@clisp.org>
22876
22877         nanosleep: Make replacement POSIX compliant.
22878         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
22879         is out of range.
22880         Reported by Jim Meyering.
22881
22882 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22883
22884         bootstrap: add hook for altering gnulib.mk, for Bison
22885         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
22886         the Bison bootstrapping process can rewrite file names and variables
22887         in this file before later parts of 'bootstrap' use the file.
22888         Bison wants to include lib/gnulib.mk from the top-level makefile,
22889         so it needs the file names in this file to be relative to the top
22890         level, not relative to lib; plus it needs variable names to be
22891         rewritten.
22892         (slurp): Use the new function.
22893
22894         bootstrap: reformat for readability
22895         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
22896
22897 2010-10-08  Eric Blake  <eblake@redhat.com>
22898
22899         docs: update cygwin progress
22900         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
22901         1.7.7.
22902         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
22903         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
22904         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
22905         * doc/posix-functions/carg.texi (carg): Likewise.
22906         * doc/posix-functions/cargf.texi (cargf): Likewise.
22907         * doc/posix-functions/casin.texi (casin): Likewise.
22908         * doc/posix-functions/casinf.texi (casinf): Likewise.
22909         * doc/posix-functions/casinh.texi (casinh): Likewise.
22910         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
22911         * doc/posix-functions/catan.texi (catan): Likewise.
22912         * doc/posix-functions/catanf.texi (catanf): Likewise.
22913         * doc/posix-functions/catanh.texi (catanh): Likewise.
22914         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
22915         * doc/posix-functions/ccos.texi (ccos): Likewise.
22916         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
22917         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
22918         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
22919         * doc/posix-functions/cexp.texi (cexp): Likewise.
22920         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
22921         * doc/posix-functions/cimag.texi (cimag): Likewise.
22922         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
22923         * doc/posix-functions/clog.texi (clog): Likewise.
22924         * doc/posix-functions/clogf.texi (clogf): Likewise.
22925         * doc/posix-functions/conj.texi (conj): Likewise.
22926         * doc/posix-functions/conjf.texi (conjf): Likewise.
22927         * doc/posix-functions/cpow.texi (cpow): Likewise.
22928         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
22929         * doc/posix-functions/cproj.texi (cproj): Likewise.
22930         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
22931         * doc/posix-functions/creal.texi (creal): Likewise.
22932         * doc/posix-functions/crealf.texi (crealf): Likewise.
22933         * doc/posix-functions/csin.texi (csin): Likewise.
22934         * doc/posix-functions/csinf.texi (csinf): Likewise.
22935         * doc/posix-functions/csinh.texi (csinh): Likewise.
22936         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
22937         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
22938         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
22939         * doc/posix-functions/ctan.texi (ctan): Likewise.
22940         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
22941         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
22942         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
22943         * doc/posix-headers/complex.texi (complex.h): Likewise.
22944
22945 2010-10-07  Jim Meyering  <meyering@redhat.com>
22946
22947         parse-datetime: avoid compilation failure on OpenBSD 4.7
22948         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
22949         This works around a compilation failure on OpenBSD 4.7:
22950         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
22951
22952 2010-10-07  Eric Blake  <eblake@redhat.com>
22953
22954         docs: update cygwin progress
22955         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
22956         1.7.6.
22957         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
22958         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
22959         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
22960         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
22961         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
22962         Likewise.
22963         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
22964         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
22965         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
22966         Likewise.
22967         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
22968         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
22969         Likewise.
22970         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
22971         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
22972         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
22973         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
22974         Likewise.
22975         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
22976         Likewise.
22977         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
22978
22979         docs: update parse-datetime history
22980         * doc/parse-datetime.texi (Authors of parse_datetime): Better
22981         documentation of this function's history and alternatives.
22982
22983         cygwin: use more robust version check
22984         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
22985         exclude an eventual cygwin 1.9.1.
22986         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22987         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22988         (gl_FUNC_STRCASESTR): Likewise.
22989         Reported by Bruno Haible.
22990
22991 2010-10-06  Bruno Haible  <bruno@clisp.org>
22992
22993         string, sys_select: Avoid #including large headers unless necessary.
22994         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
22995         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
22996         OSF/1, BeOS, Haiku.
22997         Reported by Jim Meyering.
22998
22999 2010-10-05  Eric Blake  <eblake@redhat.com>
23000
23001         memmem, strstr, strcasestr: fix bug with long periodic needle
23002         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23003         periodic needle having false positive.
23004         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23005         and cygwin 1.7.7.
23006         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23007         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23008         (gl_FUNC_STRCASESTR): Likewise.
23009         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23010         * tests/test-memmem.c (main): Expose the bug.
23011         * tests/test-strcasestr.c (main): Likewise.
23012         * tests/test-strstr.c (main): Likewise.
23013         * tests/test-c-strcasestr.c (main): Likewise.
23014         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23015         * doc/posix-functions/strstr.texi (strstr): Likewise.
23016         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23017         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23018
23019 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23020
23021         parse-datetime: do some more renaming
23022         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23023         parse_datetime, not get_date.  Mention the renaming.
23024         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23025         in comments.
23026         * m4/bison.m4: Likewise.
23027
23028 2010-10-05  Eric Blake  <eblake@redhat.com>
23029
23030         parse-datetime: better name than get_date
23031         * NEWS: Reword the deprecation notice.
23032         * modules/get_date: Rename to modules/parse-datetime.
23033         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23034         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23035         * lib/get_date.y: Rename to lib/parse-datetime.y.
23036         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23037         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23038         * doc/getdate.texi: Provide fallback wrapper.
23039         * lib/getdate.h: Move guts, and wrap...
23040         * lib/parse-datetime.h: ...new file.
23041         * lib/parse-datetime.y (get_date): Rename...
23042         (parse_datetime): ...to this.
23043         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23044         (gl_PARSE_DATETIME): ...to this.
23045         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23046         documentation.
23047         * modules/getdate (Files): Provide fallback docs and header.
23048         (Notice, Depends-on): Update references.
23049         * tests/test-parse-datetime.c: Likewise.
23050         * DEPENDENCIES: Likewise.
23051         * MODULES.html.sh (Date and time <time.h>): Likewise.
23052         * doc/parse-datetime.texi (Date input formats)
23053         (Authors of parse_datetime): Likewise.
23054         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23055         (Include): Likewise.
23056         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23057         * gnulib-tool: Likewise.
23058         * m4/bison.m4 (gl_BISON): Likewise.
23059         Suggested by Bruno Haible.
23060
23061 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23062
23063         more ports to Solaris tr, which needs [] around ranges
23064         * gnulib-tool: Solaris tr needs [] around ranges.
23065         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23066         * tests/test-pipe-filter-gi1.c (main): Likewise.
23067         * tests/test-pipe-filter-ii1.c (main): Likewise.
23068
23069 2010-10-05  Eric Blake  <eblake@redhat.com>
23070
23071         bootstrap: fix Solaris regression
23072         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23073         around ranges.
23074         Reported by Pádraig Brady.
23075
23076         bootstrap: work with pkg-config
23077         * build-aux/bootstrap (check_versions): Also transliterate - in
23078         prerequisite name.
23079         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23080         prerequisites that were already found, to avoid confusion.
23081         Reported by Justin Clift.
23082
23083         faccessat: remove unused wrappers
23084         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23085         presence of these wrappers dragged in -lgen on Solaris.
23086         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23087
23088 2010-10-05  Jim Meyering  <meyering@redhat.com>
23089
23090         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23091         * Makefile (sc_pragma_columns): New syntax-check rule.
23092
23093 2010-10-04  Bruno Haible  <bruno@clisp.org>
23094
23095         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23096         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23097         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23098         Reported by Bruce Korb and Eric Blake.
23099
23100 2010-10-04  Bruno Haible  <bruno@clisp.org>
23101
23102         threadlib: Make option --with-libpth-prefix work.
23103         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23104         use $LIBPTH, not just -lpth.
23105
23106 2010-10-04  Bruno Haible  <bruno@clisp.org>
23107
23108         Avoid line length limitation from HP NonStop system header files.
23109         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23110         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23111         * lib/ctype.in.h: Likewise.
23112         * lib/dirent.in.h: Likewise.
23113         * lib/errno.in.h: Likewise.
23114         * lib/fcntl.in.h: Likewise.
23115         * lib/float.in.h: Likewise.
23116         * lib/getopt.in.h: Likewise.
23117         * lib/iconv.in.h: Likewise.
23118         * lib/inttypes.in.h: Likewise.
23119         * lib/langinfo.in.h: Likewise.
23120         * lib/locale.in.h: Likewise.
23121         * lib/math.in.h: Likewise.
23122         * lib/netdb.in.h: Likewise.
23123         * lib/netinet_in.in.h: Likewise.
23124         * lib/poll.in.h: Likewise.
23125         * lib/pthread.in.h: Likewise.
23126         * lib/pty.in.h: Likewise.
23127         * lib/sched.in.h: Likewise.
23128         * lib/se-selinux.in.h: Likewise.
23129         * lib/search.in.h: Likewise.
23130         * lib/signal.in.h: Likewise.
23131         * lib/spawn.in.h: Likewise.
23132         * lib/stdarg.in.h: Likewise.
23133         * lib/stddef.in.h: Likewise.
23134         * lib/stdint.in.h: Likewise.
23135         * lib/stdio.in.h: Likewise.
23136         * lib/stdlib.in.h: Likewise.
23137         * lib/string.in.h: Likewise.
23138         * lib/strings.in.h: Likewise.
23139         * lib/sys_file.in.h: Likewise.
23140         * lib/sys_ioctl.in.h: Likewise.
23141         * lib/sys_select.in.h: Likewise.
23142         * lib/sys_socket.in.h: Likewise.
23143         * lib/sys_stat.in.h: Likewise.
23144         * lib/sys_time.in.h: Likewise.
23145         * lib/sys_times.in.h: Likewise.
23146         * lib/sys_utsname.in.h: Likewise.
23147         * lib/sys_wait.in.h: Likewise.
23148         * lib/sysexits.in.h: Likewise.
23149         * lib/termios.in.h: Likewise.
23150         * lib/time.in.h: Likewise.
23151         * lib/unistd.in.h: Likewise.
23152         * lib/wchar.in.h: Likewise.
23153         * lib/wctype.in.h: Likewise.
23154         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23155         * modules/ctype (Makefile.am): Likewise.
23156         * modules/dirent (Makefile.am): Likewise.
23157         * modules/errno (Makefile.am): Likewise.
23158         * modules/fcntl-h (Makefile.am): Likewise.
23159         * modules/float (Makefile.am): Likewise.
23160         * modules/getopt-posix (Makefile.am): Likewise.
23161         * modules/iconv-h (Makefile.am): Likewise.
23162         * modules/inttypes (Makefile.am): Likewise.
23163         * modules/langinfo (Makefile.am): Likewise.
23164         * modules/locale (Makefile.am): Likewise.
23165         * modules/math (Makefile.am): Likewise.
23166         * modules/netdb (Makefile.am): Likewise.
23167         * modules/netinet_in (Makefile.am): Likewise.
23168         * modules/poll-h (Makefile.am): Likewise.
23169         * modules/pthread (Makefile.am): Likewise.
23170         * modules/pty (Makefile.am): Likewise.
23171         * modules/sched (Makefile.am): Likewise.
23172         * modules/search (Makefile.am): Likewise.
23173         * modules/selinux-h (Makefile.am): Likewise.
23174         * modules/signal (Makefile.am): Likewise.
23175         * modules/spawn (Makefile.am): Likewise.
23176         * modules/stdarg (Makefile.am): Likewise.
23177         * modules/stddef (Makefile.am): Likewise.
23178         * modules/stdint (Makefile.am): Likewise.
23179         * modules/stdio (Makefile.am): Likewise.
23180         * modules/stdlib (Makefile.am): Likewise.
23181         * modules/string (Makefile.am): Likewise.
23182         * modules/strings (Makefile.am): Likewise.
23183         * modules/sys_file (Makefile.am): Likewise.
23184         * modules/sys_ioctl (Makefile.am): Likewise.
23185         * modules/sys_select (Makefile.am): Likewise.
23186         * modules/sys_socket (Makefile.am): Likewise.
23187         * modules/sys_stat (Makefile.am): Likewise.
23188         * modules/sys_time (Makefile.am): Likewise.
23189         * modules/sys_times (Makefile.am): Likewise.
23190         * modules/sys_utsname (Makefile.am): Likewise.
23191         * modules/sys_wait (Makefile.am): Likewise.
23192         * modules/sysexits (Makefile.am): Likewise.
23193         * modules/termios (Makefile.am): Likewise.
23194         * modules/time (Makefile.am): Likewise.
23195         * modules/unistd (Makefile.am): Likewise.
23196         * modules/wchar (Makefile.am): Likewise.
23197         * modules/wctype (Makefile.am): Likewise.
23198
23199 2010-10-04  Bruno Haible  <bruno@clisp.org>
23200
23201         read-file tests: Avoid a test failure on NonStop Kernel.
23202         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23203         a regular file.
23204         Reported by Joachim Schmitz <schmitz@hp.com>.
23205
23206 2010-10-03  Bruno Haible  <bruno@clisp.org>
23207
23208         gnulib-tool: Fixes for --create-testdir with --libtool.
23209         * gnulib-tool (func_get_automake_snippet): Don't augment
23210         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23211         an executable.
23212         (func_create_testdir): Handle module 'alloca' like func_import.
23213         Reported by Bruce Korb <bruce.korb@gmail.com>.
23214
23215 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23216
23217         Avoid some lines longer than 80 characters.
23218         * lib/stdint.in.h: Break long comment lines.
23219         * lib/math.in.h: Likewise.
23220         (_GL_NUM_UINT_WORDS): New macro, for readability.
23221         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23222         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23223         * lib/stdlib.in.h: Likewise.
23224         * lib/spawn.in.h: Likewise.
23225         * lib/sys_socket.in.h: Update an URL.
23226         * lib/sys_stat.in.h: Break long line.
23227
23228 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23229
23230         Improve pmccabe2html.
23231         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23232         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23233         when the sources change. Remove the line in the HTML about "Used
23234         ranges" (which implied that there might be other unused ranges),
23235         rename "Resume" to "Summary" (easier to understand for more users).
23236         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23237         styles, and some unnecessary blank lines.
23238
23239 2010-10-03  Bruno Haible  <bruno@clisp.org>
23240             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23241
23242         acl: Add support for ACLs on NonStop Kernel.
23243         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23244         Check whether the function aclsort() exists.
23245         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23246         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23247         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23248         (acl_nontrivial [HAVE_ACLSORT]: New function.
23249         (file_has_acl): Implement for NonStop Kernel.
23250         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23251         (qset_acl): Implement for NonStop Kernel.
23252         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23253         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23254         (main): Implement for NonStop Kernel.
23255         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23256         Kernel. Handle this flavor.
23257         * tests/test-set-mode-acl.sh: Likewise.
23258         * tests/test-copy-acl.sh: Likewise.
23259         * tests/test-copy-file.sh: Likewise.
23260
23261 2010-10-03  Bruno Haible  <bruno@clisp.org>
23262
23263         Info about ACLs on NonStop Kernel.
23264         * doc/acl-resources.txt: Add info about NonStop Kernel.
23265         References by Joachim Schmitz <schmitz@hp.com>.
23266
23267 2010-10-02  Bruno Haible  <bruno@clisp.org>
23268
23269         Define missing EDQUOT on NonStop Kernel.
23270         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23271         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23272         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23273         missing.
23274         * doc/posix-headers/errno.texi: Mention the NSK bug.
23275         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23276         Reported by Joachim Schmitz <schmitz@hp.com>.
23277
23278 2010-10-02  Bruno Haible  <bruno@clisp.org>
23279
23280         Update doc for POSIX:2008.
23281         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23282         Update URL of POSIX specification.
23283
23284 2010-10-02  Bruno Haible  <bruno@clisp.org>
23285
23286         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23287         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23288         from gnulib, not from Automake.
23289
23290 2010-10-02  Bruno Haible  <bruno@clisp.org>
23291
23292         New module 'system-posix'.
23293         * modules/system-posix: New file.
23294         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23295         module is present.
23296         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23297         GNULIB_SYSTEM_POSIX.
23298         * modules/stdlib (Depends-on): Remove sys_wait.
23299         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23300         * doc/posix-functions/system.texi: Mention the new module.
23301         * doc/posix-headers/stdlib.texi: Likewise.
23302         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23303         define test_sys_wait_macros to a no-op.
23304         Reported by Sam Steingold <sds@gnu.org>.
23305
23306 2010-09-30  Bruno Haible  <bruno@clisp.org>
23307
23308         More renaming from 'getdate' to 'get_date'.
23309         * doc/get_date.texi: Renamed from doc/getdate.texi.
23310         * modules/get_date (Files): Update.
23311         * MODULES.html.sh (Date and time <time.h>): Update.
23312         * DEPENDENCIES: Update.
23313         * gnulib-tool: Update comment.
23314         * m4/bison.m4 (gl_BISON): Likewise.
23315         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23316
23317 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23318
23319         bootstrap: support ACLOCAL_FLAGS during aclocal
23320         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
23321         can add additional -I dir for third-party .m4 files.
23322
23323 2010-09-30  Eric Blake  <eblake@redhat.com>
23324
23325         bootstrap: use glibtoolize on MacOS
23326         * build-aux/bootstrap (check_versions): Convert libtool into
23327         libtoolize.
23328         (tool search): Move libtool check earlier, and look for
23329         glibtoolize for MacOS.
23330         (gnulib_tool_options): Auto-add --libtool when appropriate.
23331         Reported by Justin Clift.
23332
23333         poll: fix typo that broke test on MacOS
23334         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23335         Reported by Justin Clift.
23336
23337         getdate: rename to get_date
23338         Note: getdate.h is not renamed, to minimize client impact.
23339         * modules/getdate: Mark obsolete.  Move old contents...
23340         * modules/get_date: ...to new module name.
23341         * modules/getdate-tests: Move...
23342         * modules/get_date-tests: ...here.
23343         * m4/getdate.m4: Move...
23344         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23345         * lib/getdate.y: Move...
23346         * lib/get_date.y: ...here.
23347         * tests/test-getdate.c: Move...
23348         * tests/test-get_date.c: ...here.
23349         * doc/posix-functions/getdate.texi (getdate): Update name.
23350         * NEWS: Mention the change.
23351
23352 2010-09-29  Bruno Haible  <bruno@clisp.org>
23353
23354         Separate the module 'waitpid' from the module 'sys_wait'.
23355         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
23356         present.
23357         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
23358         gl_MODULE_INDICATOR_FOR_TESTS.
23359         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
23360         * modules/sys_wait (Depends-on): Remove waitpid.
23361         (Makefile.am): Substitute GNULIB_WAITPID.
23362         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
23363         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
23364         signature only if the 'waitpid' module is present.
23365         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
23366         * NEWS: Mention the change.
23367         * modules/grantpt (Depends-on): Add waitpid.
23368         * modules/wait-process (Depends-on): Likewise.
23369
23370 2010-09-29  Bruno Haible  <bruno@clisp.org>
23371
23372         More tests for module 'sys_wait'.
23373         * modules/sys_wait-c++-tests: New file.
23374         * tests/test-sys_wait-c++.cc: New file.
23375         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
23376         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23377
23378 2010-09-29  Bruno Haible  <bruno@clisp.org>
23379
23380         New module 'waitpid'.
23381         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
23382         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
23383         Don't include <process.h>.
23384         (waitpid): Declare only, using modern idiom.
23385         * m4/waitpid.m4: New file.
23386         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
23387         * modules/waitpid: New file.
23388         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
23389         (Makefile.am): Update.
23390         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23391
23392 2010-09-28  Bruno Haible  <bruno@clisp.org>
23393
23394         poll: Assume ANSI C.
23395         * lib/poll.c (poll): Use an ANSI C declaration.
23396
23397 2010-09-28  Bruno Haible  <bruno@clisp.org>
23398
23399         poll-h: Create poll.h on all platforms.
23400         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
23401         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
23402         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
23403         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
23404         (gl_REPLACE_POLL_H): Don't set POLL_H.
23405         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
23406         * modules/poll-h (Depends-on): Add include_next.
23407         (Makefile.am): Create poll.h unconditionally. Substitute also
23408         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
23409
23410 2010-09-28  Bruno Haible  <bruno@clisp.org>
23411
23412         Tests for module 'poll-h'.
23413         * modules/poll-h-c++-tests: New file.
23414         * tests/test-poll-h-c++.cc: New file.
23415
23416         Tests for module 'poll-h'.
23417         * modules/poll-h-tests: New file.
23418         * tests/test-poll-h.c: New file.
23419
23420 2010-09-28  Bruno Haible  <bruno@clisp.org>
23421
23422         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
23423         * modules/poll-h (Depends-on): Add 'extensions'.
23424
23425 2010-09-28  Bruno Haible  <bruno@clisp.org>
23426
23427         New module 'poll-h'.
23428         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
23429         (poll): Use modern idiom.
23430         * modules/poll-h: New file.
23431         * modules/poll (Files): Remove lib/poll.in.h.
23432         (Depends-on): Add poll-h.
23433         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
23434         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
23435         * m4/poll_h.m4: New file.
23436         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
23437         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
23438         and invoke gl_REPLACE_POLL_H.
23439         * lib/poll.c: Use common idiom.
23440         * tests/test-poll.c: Likewise.
23441         * doc/posix-headers/poll.texi: Mention the poll-h module.
23442         Suggested by Eric Blake.
23443
23444 2010-09-26  Bruno Haible  <bruno@clisp.org>
23445
23446         sys_wait: Implement WSTOPSIG.
23447         * lib/sys_wait.in.h (WSTOPSIG): New macro.
23448         Reported by Simon Josefsson.
23449
23450 2010-09-26  Simon Josefsson  <simon@josefsson.org>
23451
23452         stdlib, sys_wait: Avoid compilation error on mingw.
23453         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
23454
23455 2010-09-26  Bruno Haible  <bruno@clisp.org>
23456
23457         stdlib tests: Avoid code duplication.
23458         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
23459         * modules/sys_wait-tests (Files): Likewise.
23460         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
23461         * tests/test-stdlib.c: Include test-sys_wait.h.
23462         (main): Invoke test_sys_wait_macros.
23463         * tests/test-sys_wait.c: Include test-sys_wait.h.
23464         (main): Invoke test_sys_wait_macros.
23465
23466 2010-09-25  Simon Josefsson  <simon@josefsson.org>
23467
23468         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
23469         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
23470         sure Windows sockets are working before calling getaddrinfo.
23471         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
23472         * doc/gnulib.texi (Windows sockets): Fix typo.
23473
23474 2010-09-25  Bruno Haible  <bruno@clisp.org>
23475
23476         Tests for module 'regex-quote'.
23477         * modules/regex-quote-tests: New file.
23478         * tests/test-regex-quote.c: New file.
23479
23480         New module 'regex-quote'.
23481         * lib/regex-quote.h: New file.
23482         * lib/regex-quote.c: New file.
23483         * modules/regex-quote: New file.
23484         Suggested by Reuben Thomas <rrt@sc3d.org>.
23485
23486 2010-09-24  Bruno Haible  <bruno@clisp.org>
23487
23488         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
23489         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
23490
23491 2010-09-23  Bruno Haible  <bruno@clisp.org>
23492
23493         setenv: Relax license.
23494         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
23495         Blake.
23496         Requested by Eric Blake.
23497
23498 2010-09-22  Bruno Haible  <bruno@clisp.org>
23499
23500         termios: Relax license.
23501         * modules/termios (License): Change to LGPLv2+.
23502         Requested by Eric Blake.
23503
23504 2010-09-22  Bruno Haible  <bruno@clisp.org>
23505
23506         threadlib: Allow the package to change the default to 'no'.
23507         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
23508         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
23509         Reported by Paul Eggert.
23510
23511 2010-09-22  Pádraig Brady  <P@draigbrady.com>
23512             Bruno Haible  <bruno@clisp.org>
23513
23514         Fix endless loop in mbmemcasecoll.
23515         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
23516         byte.
23517         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
23518
23519 2010-09-22  Bruno Haible  <bruno@clisp.org>
23520
23521         Tests for module 'memcoll'.
23522         * modules/memcoll-tests: New file.
23523         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
23524
23525         memcoll, xmemcoll: Clarify size vs. length.
23526         * modules/memcoll.c (memcoll0): Clarify specification.
23527         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
23528         passed to collate_error.
23529
23530 2010-09-22  Bruno Haible  <bruno@clisp.org>
23531
23532         Tests for module 'memcasecmp'.
23533         * modules/memcasecmp-tests: New file.
23534         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
23535
23536 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
23537
23538         * lib/pthread.in.h: Add split double-inclusion guard, and include
23539         system <pthread.h> if there is one.  Use @@-style as in other
23540         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
23541         pthread.h doesn't.
23542         (pthread_mutexattr_destroy, pthread_mutexattr_init):
23543         (pthread_mutexattr_settype, pthread_mutex_trylock):
23544         New static inline functions, if there's no system <pthread.h>.
23545         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
23546         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
23547         Approximate with mutexes if the system lacks spinlocks, as in
23548         MacOS.
23549         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
23550         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
23551         @@-style.  Check for spinlocks separately.
23552         (gl_PTHREAD_DEFAULTS): New macro.
23553         * modules/pthread: Redo to use a more typical style for in.h files.
23554
23555 2010-09-21  Eric Blake  <eblake@redhat.com>
23556
23557         net_if: enhance tests
23558         * tests/test-net_if.c (main): Move signature checks earlier.
23559         Print failures to stderr.
23560         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
23561         Document the bug that we do not yet fix.
23562
23563 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23564
23565         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
23566         about gnulib, not GSS.
23567
23568 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23569
23570         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
23571         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
23572         for Emacs.
23573         * build-aux/pmccabe2html: Make Makefile.am example code more
23574         cut-and-paste friendly.
23575
23576 2010-09-21  Simon Josefsson  <simon@josefsson.org>
23577
23578         * tests/test-net_if.c: New file.
23579         * modules/net_if-tests: New file.
23580
23581 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
23582
23583         pthread: add pthread_spin_destroy
23584         * lib/pthread.in.h (pthread_spin_destroy): New function.
23585
23586 2010-09-19  Bruno Haible  <bruno@clisp.org>
23587
23588         gnulib-tool: Fix --help output.
23589         * gnulib-tool (func_usage): Fix help message.
23590         Reported by Reuben Thomas <rrt@sc3d.org>.
23591
23592 2010-09-18  Jim Meyering  <meyering@redhat.com>
23593
23594         maint.mk: avoid unexpanded \n in two diagnostics
23595         * top/maint.mk (sc_prohibit_always_true_header_tests):
23596         Don't use a literal \n in a halt=... assignment.  It would not be
23597         expanded, and the two \n bytes would appear in the diagnostic output
23598         rather than the desired newline.  Use halt=$$(printf ... instead.
23599         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
23600
23601 2010-09-18  Bruno Haible  <bruno@clisp.org>
23602
23603         netinet_in: Doc tweak.
23604         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
23605         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23606
23607 2010-09-18  Jim Meyering  <meyering@redhat.com>
23608
23609         init.sh: correct an outdated comment
23610         * tests/init.sh (create_exe_shims_):  s/function/alias/
23611
23612         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
23613         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
23614         a file named "*.exe" is removed between the glob expansion and the
23615         processing of that oddly named file.
23616
23617 2010-09-17  Eric Blake  <eblake@redhat.com>
23618
23619         mirbsd: add some more support
23620         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
23621         in BSD family.
23622         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
23623         devices as OpenBSD.
23624         * m4/host-os.m4 (mirbsd): Add MirBSD.
23625
23626         tests: fix unportable assumption on sys/wait.h
23627         * tests/test-sys_wait.c (main): Relax test.
23628         * tests/test-stdlib.c (main): Likewise.
23629
23630         init.sh: accomodate directory with no .exes
23631         * tests/init.sh: Accomodate directory containing only scripts.
23632
23633         tests: avoid compiler warning
23634         * tests/test-stdlib.c (main): Use the variable.
23635
23636         fdutimens, fdutimensat: update signature, again
23637         * lib/utimens.h (gl_futimens): Delete, and move signature...
23638         (fdutimens): ...here.
23639         (fdutimensat): Rearrange signature.
23640         (lutimensat): Rename variable for clarity.
23641         * lib/fdutimensat.c (fdutimensat): Update signature.
23642         * lib/utimens.c (fdutimens): Likewise.
23643         (gl_futimens): Delete.
23644         (utimens, lutimens): Update callers.
23645         * lib/futimens.c (futimens): Likewise.
23646         * tests/test-fdutimensat.c: Likewise.
23647         * tests/test-utimens.c: Likewise.
23648         * tests/test-futimens.h: Update comment.
23649         * NEWS: Mention this.
23650         Suggested by Paul Eggert.
23651
23652 2010-09-17  Bruno Haible  <bruno@clisp.org>
23653
23654         Take over the maintenance of some older macros from Autoconf.
23655         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
23656         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
23657         GNU Autoconf.
23658         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
23659         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
23660
23661 2010-09-17  Eric Blake  <eblake@redhat.com>
23662
23663         fdutimensat: drop atflag validation
23664         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
23665         with valid fd, to close a race scenario where futimens is
23666         unsupported and FILE was replaced by a symlink.
23667         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
23668         accordingly.
23669         Suggested by Paul Eggert.
23670
23671 2010-09-16  Bruno Haible  <bruno@clisp.org>
23672
23673         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
23674         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
23675
23676 2010-09-16  Bruno Haible  <bruno@clisp.org>
23677
23678         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
23679         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
23680         login_tty exists.
23681         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23682
23683 2010-09-16  Bruno Haible  <bruno@clisp.org>
23684
23685         login_tty: Make the replacement code work on BSD systems.
23686         * lib/login_tty.c: Include <sys/ioctl.h>.
23687         (login_tty): Use ioctl TIOCSCTTY when available.
23688         * modules/login_tty (Depends-on): Add sys_ioctl.
23689         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23690
23691 2010-09-16  Bruno Haible  <bruno@clisp.org>
23692
23693         login_tty: Stricter unit test.
23694         * modules/login_tty-tests (Depends-on): Add tcgetsid.
23695         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
23696         and tcgetsid() after login_tty.
23697         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23698
23699 2010-09-16  Bruno Haible  <bruno@clisp.org>
23700
23701         New module 'tcgetsid'.
23702         * lib/tcgetsid.c: New file.
23703         * m4/tcgetsid.m4: New file.
23704         * modules/tcgetsid: New file.
23705         * modules/termios (Depends-on): Add c++defs, warn-on-use.
23706         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
23707         GNULIB_TCGETSID, HAVE_TCGETSID.
23708         * lib/termios.in.h: Include <sys/types.h>.
23709         (tcgetsid): New declaration.
23710         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
23711         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
23712         * doc/posix-functions/tcgetsid.texi: Mention the new module.
23713         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
23714
23715 2010-09-16  Bruno Haible  <bruno@clisp.org>
23716
23717         Tests for module 'termios'.
23718         * modules/termios-c++-tests: New file.
23719         * modules/termios-tests: New file.
23720         * tests/test-termios-c++.cc: New file.
23721         * tests/test-termios.c: New file.
23722
23723         New module 'termios'.
23724         * modules/termios: New file.
23725         * lib/termios.in.h: New file.
23726         * m4/termios_h.m4: New file.
23727         * doc/posix-headers/termios.texi: Mention the new module.
23728
23729 2010-09-16  Eric Blake  <eblake@redhat.com>
23730
23731         fdutimensat: add an atflag parameter
23732         * lib/fdutimensat.c (fdutimensat): Add new parameter.
23733         * lib/utimens.h (fdutimensat): Update prototype.
23734         * tests/test-fdutimensat.c: Adjust test to match.
23735         * NEWS: Document the change.
23736         Suggested by Paul Eggert.
23737
23738 2010-09-16  Bruno Haible  <bruno@clisp.org>
23739
23740         Fix typos in comments.
23741         * lib/striconveh.h: Fix typo in comment.
23742         * lib/login_tty.c (login_tty): Likewise.
23743
23744 2010-09-15  Bruno Haible  <bruno@clisp.org>
23745
23746         stdlib: clarify MirBSD WEXITSTATUS bug
23747         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
23748         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23749
23750 2010-09-15  Eric Blake  <eblake@redhat.com>
23751
23752         stdlib: work around MirBSD WEXITSTATUS bug
23753         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
23754         * modules/stdlib (Depends-on): Add sys_wait.
23755         * tests/test-sys_wait.c (main): Enhance test.
23756         * tests/test-stdlib.c (main): Likewise.
23757         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
23758
23759         docs: mention MacOS issue with WEXITSTATUS(constant)
23760         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
23761         issue.
23762         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23763
23764         strnlen: add tests
23765         * modules/strnlen-tests: New file.
23766         * tests/test-strnlen.c: Likewise.
23767
23768 2010-09-14  Bruno Haible  <bruno@clisp.org>
23769
23770         unistr/base: Avoid link errors when module 'libunistring' is also used.
23771         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
23772         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
23773         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
23774         Declare also when HAVE_LIBUNISTRING is set.
23775         Reported by Pádraig Brady <P@draigbrady.com>.
23776
23777 2010-09-14  Eric Blake  <eblake@redhat.com>
23778
23779         test-rawmemchr: make more robust
23780         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
23781         (Depends-on, configure.ac): Add needed prerequisites to use it.
23782         * modules/memchr-tests (Files, Depends-on, configure.ac):
23783         Likewise, to avoid implicit reliance on memchr module prereqs.
23784         * tests/test-memchr.c (main): Ensure proper masking.
23785         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
23786         reads.
23787
23788         memchr: detect glibc Alpha bug
23789         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
23790         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
23791         Alpha.
23792         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
23793         * tests/test-memchr.c (main): Enhance test.
23794         Reported by Nelson H. F. Beebe.
23795
23796 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
23797
23798         fts, getcwd, glob: audit for dirfd returning -1
23799         * lib/fts.c (opendir): Remove #define; no longer used.
23800         (opendirat): New arg PDIR_FD.  All callers changed.
23801         (fts_build, _opendir2): Use new opendirat to avoid the need for
23802         dirfd, or for checking whether dirfd returns a negative value.
23803         Don't use opendir; always use openat followed by fdopendir.
23804         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
23805         it.
23806         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
23807         returns -1 here.
23808         * modules/fts (Depends-on): Remove dirfd.
23809         * modules/getcwd (Depends-on): Likewise.
23810
23811 2010-09-13  Eric Blake  <eblake@redhat.com>
23812
23813         float: fix broken MirBSD header
23814         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
23815         * doc/posix-headers/float.texi (float.h): Document it.
23816
23817 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
23818
23819         fts: use O_NOFOLLOW to avoid race condition when opening a directory
23820         * lib/fts.c (opendirat): New arg extra_flags.
23821         (__opendir2): Use it to avoid following symlinks when opening
23822         a directory, if symlinks are not supposed to be followed.  See
23823         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
23824
23825         fdopendir: preserve argument fd before returning
23826         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
23827         (fdopendir_with_dup, fd_clone_opendir): New static functions.
23828         (fdopendir): Use them, arranging for FD to be open to the same
23829         directory that it was when it started.  (It might be temporarily
23830         closed while fdopendir is running, so this not thread- or
23831         signal-safe.)  Be careful to do the right thing even when file
23832         descriptors are scarce and dup fails with errno == EMFILE.  See
23833         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
23834
23835 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
23836
23837         regex: Pass the system regex if its only problem is 32-bit regoff_t.
23838         * NEWS: Document change.
23839         * m4/regex.m4: Disable test for regoff_t size.
23840
23841 2010-09-13  Jim Meyering  <meyering@redhat.com>
23842
23843         fts: don't operate on an invalid file descriptor after failed dup
23844         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
23845         negative file descriptor.
23846
23847 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
23848
23849         savedir: add streamsavedir, deprecate fdsavedir
23850         * NEWS: Mention deprecation of fdsavedir.
23851         * lib/savedir.c (streamsavedir): New extern function, whose name
23852         ends in "savedir" to be consistent with the others.  This differs
23853         from savedirstream in that it doesn't close its argument.  The
23854         next version of GNU tar will use this instead of fdsavedir, to
23855         avoid some race conditions and conserve file descriptors.
23856         (savedirstream): Reimplement as a wrapper around streamsavedir.
23857         (fdsavedir): Add a comment deprecating this function.  As far as
23858         I know, only GNU tar used it, and GNU tar doesn't need it any more.
23859         * lib/savedir.h (streamsavedir): New decl.
23860         (fdsavedir): Add a comment deprecating this.
23861
23862 2010-09-10  Bruno Haible  <bruno@clisp.org>
23863
23864         langinfo: Fix last commit.
23865         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
23866         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
23867         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23868
23869 2010-09-10  Bruno Haible  <bruno@clisp.org>
23870
23871         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
23872         * lib/progreloc.c (O_EXEC): Define fallback.
23873
23874 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
23875
23876         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
23877         * NEWS: Document recent changes to fcntl-h.
23878         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
23879         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
23880         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
23881         Similarly for O_SEARCH; this last was already true, but not documented.
23882         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
23883         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
23884         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
23885         Likewise.
23886         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
23887         is zero, not whether it is defined.
23888         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
23889         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
23890         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
23891
23892 2010-09-10  Bruno Haible  <bruno@clisp.org>
23893
23894         langinfo, nl_langinfo: Fix for IRIX 5.3.
23895         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
23896         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
23897         HAVE_LANGINFO_YESEXPR.
23898         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
23899         HAVE_LANGINFO_YESEXPR.
23900         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
23901         HAVE_LANGINFO_T_FMT_AMPM is 0.
23902         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
23903         HAVE_LANGINFO_YESEXPR is 0.
23904         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
23905         NOEXPR.
23906         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
23907         * doc/posix-functions/nl_langinfo.texi: Likewise.
23908         Reported by Eric Blake.
23909
23910 2010-09-10  Bruno Haible  <bruno@clisp.org>
23911
23912         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
23913         * doc/glibc-functions/login_tty.texi: Mention the include file problem
23914         on FreeBSD 8.0 and OpenBSD 4.6.
23915         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
23916         * m4/pty_h.m4 (gl_PTY_H): Likewise.
23917         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
23918         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
23919         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
23920         ac_includes_default.
23921         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23922
23923 2010-09-09  Eric Blake  <eblake@redhat.com>
23924
23925         strsignal: work around NetBSD bug
23926         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
23927         * lib/string.in.h (includes): Likewise.
23928         * doc/posix-functions/strsignal.texi (strsignal): Document the
23929         bug.
23930         Reported by Nelson H. F. Beebe.
23931
23932         gnulib-tool: work with NetBSD /bin/sh
23933         * gnulib-tool (func_cache_var, func_cache_lookup_module)
23934         (func_get_description, func_get_comment, func_get_status)
23935         (func_get_notice, func_get_applicability, func_get_filelist)
23936         (func_get_dependencies, func_get_autoconf_early_snippet)
23937         (func_get_autoconf_snippet, func_get_automake_snippet)
23938         (func_get_include_directive, func_get_link_directive)
23939         (func_get_license, func_get_maintainer, func_import): Avoid
23940         shell syntax errors from parsing syntax extensions.
23941
23942 2010-09-09  Bruno Haible  <bruno@clisp.org>
23943
23944         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23945         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
23946         a reliable way to determine whether the 'alias' command works.
23947
23948 2010-09-08  Jim Meyering  <meyering@redhat.com>
23949
23950         init.sh: penalize a set-x-impaired shell; don't disqualify it
23951         * tests/init.sh: Too many shells corrupt application stderr when
23952         you set -x, so we can't afford to disqualify them, since at least
23953         on Irix-6.5, that would disqualify all bourne shells.
23954         Instead, use a two-pass approach.
23955         On the first pass, try to find a shell that meets the stricter
23956         condition that set -x does not corrupt stderr.
23957         If no shell meets the stricter condition, retest each candidate
23958         shell, but without that extra condition.  Finally, when
23959         VERBOSE=yes is requested and set -x might cause trouble, simply
23960         issue a warning and refrain from enabling debug output.
23961
23962 2010-09-08  Eric Blake  <eblake@redhat.com>
23963
23964         unsetenv: fix OpenBSD bug
23965         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
23966         * doc/posix-functions/unsetenv.texi (unsetenv): Update
23967         documentation.
23968         Reported by Jim Meyering.
23969
23970         strtod: work around IRIX 6.5 bug
23971         * lib/strtod.c (strtod): Reparse number on shorter string if
23972         exponent parse was invalid.
23973         * tests/test-strtod.c (main): Add check for "0x1p 2".
23974         Reported by Tom G. Christensen.
23975
23976         getopt: optimize previous patch
23977         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
23978         empty variable.  Speed up awk script.
23979         Reported by Paolo Bonzini.
23980
23981 2010-09-08  Jim Meyering  <meyering@redhat.com>
23982
23983         test.sh: disqualify shells for which set -x corrupts stderr
23984         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
23985         and OpenBSD 4.7.  They make it so with "set -x", environment settings
23986         appear in stderr output.  For example, this command:
23987             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
23988         prints "P=1" on those two systems:
23989
23990 2010-09-08  Bruno Haible  <bruno@clisp.org>
23991
23992         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23993         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
23994         commands, because some shells ignore redirections when there is an
23995         error in the command lookup.
23996         Reported by Eric Blake.
23997
23998 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
23999
24000         * lib/regex.h: Fix a mention of `regex_compile' (should be
24001         `re_compile_pattern').
24002         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24003         (re_set_registers): Correct name of parameter in comment.
24004
24005         * doc/regex.texi: Add documentation for missing syntax flags.
24006         Remove commented-out documentation of defunct syntax option
24007         RE_NO_EMPTY_ALTS.
24008         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24009         Add documentation of re_set_registers.
24010         Document trick to re-use a pattern buffer by setting fastmap manually.
24011         Update documentation of struct re_pattern_buffer per public members.
24012         Uncomment documentation of equivalence class operators and
24013         collating symbol operators, since they are now implemented,
24014         Explain leftmost-longest matching in relation to alternatives.
24015         Tidy documentation of substring matching.
24016         Remove POSIX documentation, which is done better in
24017         glibc, and refer the reader there. Keep BSD API documentation, as
24018         that is not readily available elsewhere.
24019
24020 2010-09-07  Eric Blake  <eblake@redhat.com>
24021
24022         getopt: handle POSIXLY_CORRECT set but not exported
24023         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24024         export state of POSIXLY_CORRECT, due to bash set -o posix.
24025         Reported by Dustin J. Mitchell.
24026
24027 2010-09-05  Bruno Haible  <bruno@clisp.org>
24028
24029         gnulib-tool: Highlight the changed options.
24030         * gnulib-tool (func_usage): Display the --import, --add-import,
24031         --remove-import explanations in bold font.
24032
24033 2010-09-06  Karl Berry  <karl@gnu.org>
24034
24035         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24036
24037 2010-09-05  Bruno Haible  <bruno@clisp.org>
24038
24039         uniwidth/width: Update comment.
24040         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24041         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24042
24043 2010-09-05  Bruno Haible  <bruno@clisp.org>
24044
24045         isinf, isnan: Relax license.
24046         * modules/isinf (License): Change from GPL to LGPL, with consent from
24047         Ben Pfaff.
24048         * modules/isnan (License): Likewise.
24049         Requested by Ludovic Courtès.
24050
24051 2010-09-04  Bruno Haible  <bruno@clisp.org>
24052
24053         gnulib-tool: Help migration from --import to --add-import or --update.
24054         * gnulib-tool: Emit a verbose error message when --import is used
24055         without any module name.
24056
24057 2010-09-04  Bruno Haible  <bruno@clisp.org>
24058
24059         Update doc about gnulib-tool.
24060         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24061         'gnulib-tool --update' in more detail.
24062         Reported by Eric Blake.
24063
24064 2010-09-04  Bruno Haible  <bruno@clisp.org>
24065
24066         gnulib-tool: Change --import. New options --add/remove-import.
24067         * gnulib-tool: New options --add-import, --remove-import.
24068         (func_usage): Document them.
24069         (have_associative): Define always.
24070         (func_import): In import mode, don't merge the specified settings with
24071         the cached settings. Implement remove-import mode.
24072         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24073         Explain when to use them versus --import.
24074         (Simple update): Use --add-import instead of --import.
24075         * NEWS: Mention the change.
24076
24077 2010-09-04  Bruno Haible  <bruno@clisp.org>
24078
24079         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24080         separate gnulib.mk.
24081
24082 2010-09-04  Bruno Haible  <bruno@clisp.org>
24083
24084         gnulib-tool: Don't talk about CVS any more.
24085         * gnulib-tool (func_usage, func_import): Write "version control"
24086         instead of CVS.
24087
24088 2010-09-04  Jim Meyering  <meyering@redhat.com>
24089
24090         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24091         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24092         false positives (whose names may be ill-chosen) when searching
24093         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24094         would cause a false-positive.
24095
24096         avoid coreutils "make distcheck" failure
24097         Coreutils tests with an absolute build directory name that contains
24098         a space.  Not quoting this directory name caused a failure.
24099         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24100         * tests/test-vc-list-files-cvs.sh: Likewise.
24101
24102 2010-09-04  Bruno Haible  <bruno@clisp.org>
24103
24104         gnulib-tool: Avoid error when run in a package without Makefile.am.
24105         * gnulib-tool: When collecting the m4dirs in a package that does not
24106         have a Makefile.am, eliminate those directories that contain no
24107         gnulib-cache.m4. Fix expression that counts these directories.
24108
24109 2010-09-04  Bruno Haible  <bruno@clisp.org>
24110
24111         update-copyright test: Improve output when perl is missing or too old.
24112         * tests/test-update-copyright.sh: Move test of Perl version down after
24113         the test whether Perl exists. Provide an explanation relating Perl's
24114         error message to Automake's SKIP: message.
24115
24116 2010-09-04  Bruno Haible  <bruno@clisp.org>
24117
24118         Don't augment PATH in TESTS_ENVIRONMENT.
24119         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24120         set abs_aux_dir instead of augmenting PATH.
24121         * modules/vc-list-files-tests (Makefile.am): Likewise.
24122         * tests/test-update-copyright.sh: Augment PATH here.
24123         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24124         path_prepend_.
24125         * tests/test-vc-list-files-git.sh: Likewise.
24126
24127 2010-09-04  Jim Meyering  <meyering@redhat.com>
24128
24129         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24130         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24131
24132 2010-09-04  Bruno Haible  <bruno@clisp.org>
24133
24134         strdup: Fix compilation error in C++ mode.
24135         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24136         the macro.
24137
24138 2010-09-04  Bruno Haible  <bruno@clisp.org>
24139
24140         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24141         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24142         macro into a function.
24143         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24144
24145 2010-09-04  Bruno Haible  <bruno@clisp.org>
24146
24147         Set PATH_SEPARATOR the same way autoconf does.
24148         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24149         the value of PATH_SEPARATOR the same way autoconf-generated configure
24150         scripts do.
24151         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24152         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24153
24154 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24155
24156         Set PATH_SEPARATOR the same way autoconf does.
24157         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24158         the same way autoconf-generated configure scripts do.
24159         * posix-modules: Likewise.
24160
24161 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24162
24163         hash: fix safe_hasher const typo
24164         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24165         const; otherwise, there is a type error later.
24166
24167 2010-09-02  Jim Meyering  <meyering@redhat.com>
24168
24169         test-update-copyright.sh: require perl 5.8.0
24170         * tests/test-update-copyright.sh: Require 5.8.0,
24171         which Tom G. Christensen has confirmed is adequate,
24172         while 5.6.1 is not.
24173
24174 2010-09-02  Eric Blake  <eblake@redhat.com>
24175
24176         tests: init.sh improvements for re-exec'ing with zsh
24177         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24178         -vx through shell re-exec.
24179         Reported by Tom G. Christensen.
24180
24181         wctype: fix typo in previous commit
24182         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24183         Reported by Ludovic Courtès.
24184
24185 2010-09-02  Jim Meyering  <meyering@redhat.com>
24186
24187         test-update-copyright.sh: skip test if Perl is too old
24188         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24189         Reported by Tom G. Christensen.
24190
24191 2010-09-02  Bruno Haible  <bruno@clisp.org>
24192
24193         wctype: Avoid compilation error on IRIX 6.5.30.
24194         * lib/wctype.in.h (iswblank): Declare with a replacement if
24195         REPLACE_ISWBLANK is set.
24196         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24197         declared. Set REPLACE_ISWBLANK.
24198         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24199         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24200         * doc/posix-headers/wctype.texi: Likewise.
24201         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24202
24203 2010-09-01  Bruno Haible  <bruno@clisp.org>
24204
24205         New module 'socketlib'.
24206         * modules/socketlib: New file.
24207         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24208         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24209         * modules/sockets (Depends-on): Add socketlib.
24210         Suggested by Sam Steingold <sds@gnu.org>.
24211
24212 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24213
24214         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24215
24216         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24217         when one needs search access to a directory but not read access.
24218         On systems where it is available, it works in some cases where
24219         O_RDONLY does not, namely on directories that are searchable but
24220         not readable, and which need only to be searchable.  If O_SEARCH
24221         is not available, fall back to the traditional method of using
24222         O_RDONLY.
24223
24224         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24225         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24226         when opening a directory that needs only to be searchable.
24227         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24228         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24229         * lib/openat-proc.c (openat_proc_name): Likewise.
24230         * lib/openat.c (openat_needs_fchdir): Likewise.
24231         * lib/save-cwd.c (save_cwd): Likewise.
24232         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24233
24234 2010-08-28  Bruno Haible  <bruno@clisp.org>
24235
24236         New module 'host-cpu-c-abi'.
24237         * modules/host-cpu-c-abi: New file.
24238         * m4/host-cpu-c-abi.m4: New file, based on part of
24239         clisp/src/m4/general.m4.
24240         Requested by Sam Steingold <sds@gnu.org>.
24241
24242 2010-08-31  Eric Blake  <eblake@redhat.com>
24243         and Jim Meyering  <meyering@redhat.com>
24244
24245         hash: factor, and guard against misbehaving hasher function
24246         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24247         of table->hasher's return value.  Also protect against a hash value
24248         so large that adding it to table->bucket results in a NULL pointer.
24249         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24250         Use it in place of open-coded check-and-abort.
24251
24252 2010-08-30  Bruno Haible  <bruno@clisp.org>
24253
24254         hash: silence spurious clang warning
24255         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24256         Reported by Eric Blake.
24257
24258 2010-08-30  Eric Blake  <eblake@redhat.com>
24259
24260         strstr, memmem, strcasestr: avoid leaked shell message
24261         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24262         FreeBSD.
24263         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24264         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24265
24266         tests: silence clang warning
24267         * tests/test-malloca.c (do_allocation): Avoid dead store.
24268
24269 2010-08-29  Bruno Haible  <bruno@clisp.org>
24270
24271         gettext: Fix recent mistake.
24272         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24273
24274 2010-08-29  Bruno Haible  <bruno@clisp.org>
24275
24276         selinux-h: Offer a --without-selinux option.
24277         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24278         --without-selinux was specified, skip all tests and define
24279         HAVE_SELINUX_SELINUX_H to 0.
24280         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24281         set LIB_SELINUX to empty.
24282         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24283         gl_LIBSELINUX. If --without-selinux was specified, replace
24284         selinux/context.h.
24285         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24286
24287 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24288             Bruno Haible  <bruno@clisp.org>
24289
24290         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24291         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24292         of HAVE_REALLOC.
24293         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24294         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24295         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24296         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24297
24298 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24299             Bruno Haible  <bruno@clisp.org>
24300
24301         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24302         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24303         HAVE_CALLOC.
24304         * lib/xmalloc.c: Update accordingly.
24305         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24306         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24307         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24308
24309 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24310             Bruno Haible  <bruno@clisp.org>
24311
24312         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24313         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24314         HAVE_MALLOC.
24315         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24316         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24317         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24318
24319 2010-08-29  Bruno Haible  <bruno@clisp.org>
24320
24321         Update modules list.
24322         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24323         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
24324         (String handling <string.h>): Add astrxfrm.
24325         (File system functions): Add readlinkat.
24326
24327 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24328
24329         Tests for module 'realloc-gnu'.
24330         * modules/realloc-gnu-tests: New file.
24331         * tests/test-realloc-gnu.c: New file.
24332
24333         Tests for module 'calloc-gnu'.
24334         * modules/calloc-gnu-tests: New file.
24335         * tests/test-calloc-gnu.c: New file.
24336
24337         Tests for module 'malloc-gnu'.
24338         * modules/malloc-gnu-tests: New file.
24339         * tests/test-malloc-gnu.c: New file.
24340
24341 2010-08-28  Bruno Haible  <bruno@clisp.org>
24342
24343         Rename module 'realloc' -> 'realloc-gnu'.
24344         * modules/realloc-gnu: New file, copied from modules/realloc.
24345         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24346         obsolete.
24347         * modules/mgetgroups (Depends-on): Update.
24348         * doc/posix-functions/realloc.texi: Update.
24349         * NEWS: Mention the change.
24350
24351         Rename module 'calloc' -> 'calloc-gnu'.
24352         * modules/calloc-gnu: New file, copied from modules/calloc.
24353         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
24354         obsolete.
24355         * doc/posix-functions/calloc.texi: Update.
24356         * NEWS: Mention the change.
24357
24358         Rename module 'malloc' -> 'malloc-gnu'.
24359         * modules/malloc-gnu: New file, copied from modules/malloc.
24360         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
24361         obsolete.
24362         * modules/argp (Depends-on): Update.
24363         * modules/regex (Depends-on): Update.
24364         * doc/posix-functions/malloc.texi: Update.
24365         * NEWS: Mention the change.
24366
24367 2010-08-28  Eric Blake  <eblake@redhat.com>
24368
24369         pread, pwrite: add missing dependency
24370         * modules/pread (Depends-on): Add extensions.
24371         * modules/pwrite (Depends-on): Likewise.
24372
24373 2010-08-28  Bruno Haible  <bruno@clisp.org>
24374
24375         unistr/u*-strchr: Fix tests dependencies.
24376         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
24377         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
24378         Reported by Ian Beckwith <ianb@erislabs.net>.
24379
24380 2010-08-28  Bruno Haible  <bruno@clisp.org>
24381
24382         read-file: Don't occupy too much unused memory.
24383         * lib/read-file.c (fread_file): Shrink the buffer at the end.
24384
24385 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
24386             Eric Blake  <eblake@redhat.com>
24387             Bruno Haible  <bruno@clisp.org>
24388
24389         read-file: Avoid memory reallocations with regular files.
24390         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
24391         (fread_file): With regular files, use the remaining length as the
24392         initial buffer size.  Check against overflow.
24393         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
24394         sys_stat.
24395
24396 2010-08-28  Bruno Haible  <bruno@clisp.org>
24397
24398         ftello: Relax license.
24399         * modules/ftello (License): Relax to LGPLv2+.
24400         Reported by Eric Blake.
24401
24402 2010-08-28  Bruno Haible  <bruno@clisp.org>
24403
24404         Avoid relocwrapper link errors due to gnulib replacement functions.
24405         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
24406         function.
24407         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24408
24409 2010-08-28  Bruno Haible  <bruno@clisp.org>
24410
24411         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
24412         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
24413         defined.
24414         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
24415         Suggested by Eric Blake.
24416
24417 2010-08-28  Bruno Haible  <bruno@clisp.org>
24418
24419         sys_socket, netdb: Ensure socklen_t gets defined.
24420         * modules/sys_socket (Depends-on): Add socklen.
24421         * modules/netdb (Depends-on): Likewise.
24422         * modules/getaddrinfo (Depends-on): Remove socklen.
24423         * modules/getsockopt (Depends-on): Likewise.
24424         * modules/setsockopt (Depends-on): Likewise.
24425         * tests/test-sys_socket.c: Check that socklen_t is defined.
24426         * tests/test-netdb.c: Likewise.
24427         * m4/socklen.m4: Update comments.
24428         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24429
24430 2010-08-27  Eric Blake  <eblake@redhat.com>
24431
24432         login_tty: add missing dependency
24433         * modules/login_tty (Depends-on): Add pty.
24434
24435 2010-08-26  Eric Blake  <eblake@redhat.com>
24436
24437         lib-symbol-versions: fix m4 quoting
24438         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
24439         format for AC_LINK_IFELSE.
24440
24441         glob: fix compile test
24442         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
24443
24444         btowc: fix missing file
24445         * modules/btowc (Files): Also ship locale-fr.m4.
24446
24447         lseek: fix link test
24448         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
24449         AC_LINK_IFELSE.
24450
24451         include_next: silence autoconf 2.68 warning
24452         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
24453         AC_COMPILE_IFELSE as special.
24454         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
24455         autoconf < 2.68.
24456
24457         acl: fix compilation test
24458         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
24459         AC_COMPILE_IFELSE.
24460
24461 2010-08-26  Bruno Haible  <bruno@clisp.org>
24462
24463         Modernize AC_TRY_RUN invocations.
24464         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
24465         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24466         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
24467         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
24468         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
24469         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24470         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24471         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24472         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24473         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24474         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24475         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24476         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24477         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24478         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24479         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24480         gl_MBRLEN_NUL_RETVAL): Likewise.
24481         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24482         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24483         Likewise.
24484         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24485         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24486         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24487         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24488         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
24489         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
24490         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
24491         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
24492         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
24493         Likewise.
24494         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
24495         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
24496         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24497         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24498         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24499         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24500         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24501         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
24502         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24503         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24504
24505 2010-08-26  Bruno Haible  <bruno@clisp.org>
24506
24507         Modernize AC_TRY_LINK invocations.
24508         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
24509         AC_TRY_LINK.
24510         * m4/argp.m4 (gl_ARGP): Likewise.
24511         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
24512         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24513         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
24514         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24515         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24516         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
24517         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
24518         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
24519         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24520         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
24521         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24522         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
24523         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
24524         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24525         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24526         * m4/hostent.m4 (gl_HOSTENT): Likewise.
24527         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24528         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
24529         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
24530         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
24531         Likewise.
24532         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
24533         Likewise.
24534         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
24535         Likewise.
24536         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
24537         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
24538         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
24539         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24540         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
24541         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24542         * m4/servent.m4 (gl_SERVENT): Likewise.
24543         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
24544         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
24545         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
24546         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
24547         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24548         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
24549         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24550         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24551         * modules/tsearch-tests (configure.ac): Likewise.
24552
24553 2010-08-26  Bruno Haible  <bruno@clisp.org>
24554
24555         Modernize AC_TRY_COMPILE invocations.
24556         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
24557         AC_TRY_COMPILE.
24558         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
24559         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
24560         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
24561         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
24562         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
24563         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
24564         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24565         * m4/lock.m4 (gl_LOCK): Likewise.
24566         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
24567         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24568         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
24569         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24570         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
24571         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
24572         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
24573         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
24574         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
24575         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
24576         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
24577         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
24578         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
24579         extraneous semicolon.
24580
24581 2010-08-26  Jim Meyering  <meyering@redhat.com>
24582
24583         stat-time: relax license LGPL
24584         * modules/stat-time (License): Change from GPL to LGPL,
24585         with consent from all contributors, for use in libguile.
24586         Requested by Ludovic Courtès.
24587
24588 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
24589
24590         poll: return immediately on POLLHUP.
24591         * lib/poll.c (poll): Always set timeout before wait_timeout is
24592         computed.
24593
24594 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24595
24596         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
24597         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
24598         rmdir ("dir/.//"), unlinkat.
24599
24600 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
24601
24602         stdbool: avoid spurious failure with modern xlc
24603         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24604
24605 2010-08-24  Bruno Haible  <bruno@clisp.org>
24606
24607         getloadavg: simplify code
24608         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
24609         gl_have_func. Update comments.
24610
24611 2010-08-24  Eric Blake  <eblake@redhat.com>
24612
24613         getloadavg: don't define SVR4 on cygwin
24614         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
24615         only define SVR4 when -lkvm is required.
24616         Reported by Yaakov Selkowitz.
24617
24618 2010-08-24  Bruno Haible  <bruno@clisp.org>
24619
24620         priv-set: fix comment
24621         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
24622
24623 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24624
24625         priv-set: fix comments
24626         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
24627         to match code, as suggested by David Bartley in:
24628         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
24629
24630 2010-08-23  Eric Blake  <eblake@redhat.com>
24631
24632         stdbool: avoid rejecting clang
24633         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24634         * tests/test-stdbool.c: Enable more tests if using the system
24635         <stdbool.h> instead of the gnulib replacement.
24636         (main): Move xlc bug test to a runtime test for all compilers.
24637         Reported by Anders Kaseorg.
24638
24639         argz: fix shell quoting issue
24640         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
24641         Reported by Charles Wilson.
24642
24643 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
24644             Erik Faye-Lund <kusmabite@gmail.com>
24645
24646         poll, select: handle ERROR_BROKEN_PIPE.
24647         * lib/poll.c (win32_compute_revents): Return POLLHUP when
24648         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24649         * lib/select.c (win32_compute_revents): Do not mark a pipe
24650         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24651
24652 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
24653
24654         fts: allow compilation with C++
24655         * lib/fts_.h: Specify extern "C" linkage with C++.
24656
24657 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24658
24659         Fix gnulib-tool sed script de-commentation for AIX sed.
24660         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
24661         sed.
24662
24663 2010-08-17  Eric Blake  <eblake@redhat.com>
24664
24665         test-stddef: test for (some) offsetof bugs
24666         * tests/test-stddef.c: Enhance test to ensure correct type of
24667         offsetof.
24668         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
24669         that we are not fixing at this time.
24670
24671 2010-08-15  Bruno Haible  <bruno@clisp.org>
24672
24673         stpncpy: Allow stpncpy to be defined as a macro.
24674         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
24675         if it's already correctly declared.
24676         * lib/string.in.h (stpncpy): Undefine before redefining.
24677         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
24678
24679 2010-08-14  Bruno Haible  <bruno@clisp.org>
24680
24681         Rename module 'memxfrm' to 'amemxfrm'.
24682         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
24683         (amemxfrm): Renamed from memxfrm.
24684         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
24685         (amemxfrm): Renamed from memxfrm.
24686         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
24687         * NEWS: Mention the change.
24688         * MODULES.html.sh (String handling <string.h>): Update.
24689         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
24690         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
24691         * lib/unicase/u16-casexfrm.c: Likewise.
24692         * lib/unicase/u32-casexfrm.c: Likewise.
24693         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
24694         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
24695         * lib/uninorm/u16-normxfrm.c: Likewise.
24696         * lib/uninorm/u32-normxfrm.c: Likewise.
24697         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
24698         memxfrm.
24699         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
24700         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
24701         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
24702         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
24703         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
24704         Suggested by Paul Eggert.
24705
24706 2010-08-14  Bruno Haible  <bruno@clisp.org>
24707
24708         Tests for module 'astrxfrm'.
24709         * modules/astrxfrm-tests: New file.
24710         * tests/test-astrxfrm.c: New file.
24711
24712         New module 'astrxfrm'.
24713         * lib/astrxfrm.h: New file.
24714         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
24715         * modules/astrxfrm: New file.
24716
24717 2010-08-14  Reuben Thomas <rrt@sc3d.org>
24718
24719         regex: Tweak doc.
24720         * doc/regex.texi (Overview): Don't mention regex.c.
24721         (GNU Regular Expression Compiling): Likewise.
24722         (Match-end-of-line Operator): Mention 'not_eol'.
24723
24724 2010-08-14  Brian Gough  <bjg@gnu.org>
24725             Bruno Haible  <bruno@clisp.org>
24726
24727         git-merge-changelog: add doc relating to use with bzr and hg.
24728         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
24729
24730 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
24731
24732         pthread: fix pthread.h creation for srcdir != builddir
24733         * modules/pthread (Makefile.am): Fix the rule to work also in a
24734         non-srcdir build.
24735
24736 2010-08-13  Karl Berry  <karl@gnu.org>
24737
24738         * doc/regex.texi (Predefined Syntaxes): @smallexample.
24739         * doc/posix-*/*: force line break before @url of POSIX
24740         specifications.
24741         Suggested by Werner Lemberg.
24742
24743 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
24744
24745         strtod: fix const diagnostic
24746         * lib/strtod.c (strtod): Don't assign const char * to char *,
24747         as this elicits a warning from GCC when warnings are enabled.
24748
24749 2010-08-10  Pádraig Brady <P@draigbrady.com>
24750         and Eric Blake  <eblake@redhat.com>
24751
24752         copy-acl: ignore ENOTSUP on HP-UX
24753         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
24754         so that it is available for HP-UX.
24755         * lib/copy-acl.c (qcopy_acl): Use it.
24756         Reported by Patrick M. Callahan.
24757
24758 2010-08-10  Eric Blake  <eblake@redhat.com>
24759
24760         open, chown: relax license
24761         * modules/open (License): Change to LGPLv2+, with consent by all
24762         authors, for use in augeas.
24763         * modules/chown (License): Likewise.
24764         * modules/lchown (Likewise): Likewise.
24765         Requested by Adam Stokes.
24766
24767 2010-08-09  Karl Berry  <karl@gnu.org>
24768
24769         * build-aux/ar-lib: new file, import from Automake.
24770         * config/srclist.txt: autocheck for updates.
24771
24772 2010-08-09  Eric Blake  <eblake@redhat.com>
24773
24774         readlinkat: adjust client modules
24775         * modules/areadlinkat (Depends-on): Use readlinkat, not
24776         symlinkat.
24777         * modules/areadlinkat-with-size (Depends-on): Likewise.
24778
24779         mknod: be more vocal about danger of running tests as root
24780         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
24781         root, since that is just asking for problems.
24782         Suggested by Bruno Haible, based on a report by Rainer Tammer.
24783
24784         readlinkat: split into its own module
24785         * modules/symlinkat: Split readlinkat...
24786         * modules/readlinkat: ...into separate module.
24787         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
24788         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
24789         * lib/symlinkat.c (readlinkat): Move...
24790         * lib/readlinkat.c: ...into new file.
24791         * modules/symlinkat-tests: Split readlinkat test...
24792         * modules/readlinkat-tests: ...into separate module.
24793         * tests/test-symlinkat.c: Split...
24794         * tests/test-readlinkat.c: ...into new file.
24795         * NEWS: Document the split.
24796         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24797         * lib/unistd.in.h (readlinkat): Likewise.
24798         Suggested by Bruno Haible.
24799
24800 2010-08-08  Bruno Haible  <bruno@clisp.org>
24801
24802         memxfrm: Speed up.
24803         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
24804         that usually only one call to strxfrm is necessary for each string
24805         part.
24806         Reported by Paul Eggert <eggert@cs.ucla.edu>.
24807
24808 2010-08-07  Karl Berry  <karl@gnu.org>
24809
24810         * doc/posix-headers/limits.texi,
24811         * doc/posix-functions/malloc.texi,
24812         * doc/posix-functions/strsignal.texi: missing @item.
24813         * doc/ld-version-script.texi: spurious leading i.
24814         * doc/regex.texi (Interval Operators): no commas inside @var.
24815
24816 2010-08-01  Bruno Haible  <bruno@clisp.org>
24817
24818         Integrate the regex documentation.
24819         * doc/gnulib.texi: Define 'cn' index.
24820         (Regular expressions): New a chapter that includes regex.texi and
24821         regexprops-generic.texi.
24822         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
24823         syntax.
24824
24825         Whitespace cleanup.
24826         * doc/regex.texi: Remove trailing spaces.
24827
24828         Add regex documentation.
24829         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
24830         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
24831         Written by Kathy A. Hargreaves and Karl Berry.
24832
24833 2010-08-01  Bruno Haible  <bruno@clisp.org>
24834
24835         link: Update documentation.
24836         * doc/posix-functions/link.texi: Update regarding Solaris.
24837
24838 2010-07-31  Bruno Haible  <bruno@clisp.org>
24839
24840         Update modules list.
24841         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
24842         (String handling <string.h>): Add memcmp2, memxfrm.
24843         (Container data structures): Add xlist, xsublist, xoset.
24844         (Core language properties): Add alignof, unused-parameter.
24845         (Process control, Numeric conversion functions <stdlib.h>): Renamed
24846         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
24847         (Unibyte characters <ctype.h>): New section.
24848         (String handling <string.h>): New section.
24849         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
24850         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
24851         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
24852         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
24853         tan, tanh, tanl, y0, y1, yn.
24854         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
24855         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
24856         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
24857         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
24858         unlockpt, vdprintf, vdprintf-posix.
24859         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
24860         (File system functions): Add concat-filename, sys_file, sys_ioctl,
24861         xconcat-filename.
24862         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
24863         getdtablesize, pipe2, pipe2-safer.
24864         (Security): New section.
24865         (Networking functions): Add accept4.
24866         (Signal handling): Add sigpipe.
24867         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
24868         mbmemcasecoll.
24869         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
24870         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
24871         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
24872         pipe-filter-ii.
24873         (Misc): Add argp-version-etc, login_tty, parse-duration.
24874
24875 2010-07-31  Bruno Haible  <bruno@clisp.org>
24876
24877         Improve doc in MODULES.html.
24878         * modules/linkat (Description): Add the word "function".
24879         * modules/mkfifo (Description): Likewise.
24880         * modules/mknod (Description): Likewise.
24881         * modules/remove (Description): Likewise.
24882         * modules/renameat (Description): Likewise.
24883         * modules/stat (Description): Likewise.
24884         * modules/symlink (Description): Likewise.
24885         * modules/unlink (Description): Likewise.
24886
24887 2010-07-31  Bruno Haible  <bruno@clisp.org>
24888
24889         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
24890         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
24891         option --enable/disable-c++ instead of --enable/disable-cxx.
24892         * NEWS: Mention the change.
24893
24894 2010-07-31  Bruno Haible  <bruno@clisp.org>
24895
24896         readlink, areadlink: Relax test a bit.
24897         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
24898         alternative to ENOTDIR.
24899         * tests/test-areadlink.h (test_areadlink): Likewise.
24900         Reported by Rainer Tammer.
24901
24902 2010-07-31  Bruno Haible  <bruno@clisp.org>
24903
24904         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
24905         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
24906         character, perform the search using U_STRCHR.
24907         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
24908         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
24909         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
24910         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
24911         Suggested by Paolo Bonzini.
24912
24913 2010-07-31  Bruno Haible  <bruno@clisp.org>
24914
24915         unistr/u*-strstr: Fix dependencies.
24916         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
24917         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
24918         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
24919
24920 2010-07-31  Bruno Haible  <bruno@clisp.org>
24921
24922         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
24923         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
24924         the beginning of the loop.
24925         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
24926         cases in 'switch' statement.
24927
24928         unistr/u8-strchr: Fix several bugs.
24929         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
24930         the string. When not found, return NULL, not a pointer near the end.
24931
24932         More tests for unistr/u8-strchr.
24933         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
24934         that the function does not read past the first occurrence of the byte
24935         being searched.
24936         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
24937         * tests/unistr/test-u16-strchr.c (main): New function.
24938         * tests/unistr/test-u32-strchr.c (main): New function.
24939
24940 2010-07-31  Bruno Haible  <bruno@clisp.org>
24941
24942         posix-modules: Ignore backup files of documentation files.
24943         * posix-modules: grep only through files named *.texi.
24944
24945 2010-07-31  Bruno Haible  <bruno@clisp.org>
24946
24947         symlinkat: Fix documentation.
24948         * doc/posix-functions/readlinkat.texi: Fix module name.
24949
24950 2010-07-31  Bruno Haible  <bruno@clisp.org>
24951
24952         fchownat: Replace also when chown has the trailing slash bug.
24953         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
24954         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
24955         introduced on 2010-04-10.
24956         Reported by Rainer Tammer.
24957
24958 2010-07-31  Bruno Haible  <bruno@clisp.org>
24959
24960         linkat: Work around AIX 7.1 bug.
24961         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
24962         whether linkat handles trailing slash correctly. If not, replace linkat
24963         and define LINKAT_TRAILING_SLASH_BUG.
24964         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
24965         check whether (fd1,file1) points to a directory if file1 or file2 ends
24966         in a slash. Code taken from lib/link.c.
24967         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
24968         Reported by Rainer Tammer.
24969
24970 2010-07-31  Bruno Haible  <bruno@clisp.org>
24971
24972         Correctly determine whether pow is available in libc on AIX 7 with xlc.
24973         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
24974         This disables an xlc optimization that was causing wrong test results.
24975         Reported by Rainer Tammer.
24976
24977 2010-07-31  Bruno Haible  <bruno@clisp.org>
24978
24979         iconv: Work around AIX 6.1..7.1 bug.
24980         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
24981         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
24982         cross-compiling, guess no on all versions of AIX.
24983         Reported by Rainer Tammer.
24984
24985 2010-07-31  Bruno Haible  <bruno@clisp.org>
24986
24987         readlink: Relax test a bit.
24988         * tests/test-readlink.h (test_readlink): Allow different errno value
24989         when readlink is called with a file name that ends in / and refers to
24990         a file.
24991         Suggested by Eric Blake.
24992         Reported by Rainer Tammer.
24993
24994 2010-07-31  Bruno Haible  <bruno@clisp.org>
24995
24996         copysign: Does not require -lm on glibc systems.
24997         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
24998         gl_COMMON_DOUBLE_MATHFUNC.
24999         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25000
25001 2010-07-31  Bruno Haible  <bruno@clisp.org>
25002
25003         duplocale: Work around AIX 7.1 bug.
25004         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25005         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25006         * lib/duplocale.c (rpl_duplocale): Update comment.
25007         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25008         Reported by Rainer Tammer.
25009
25010 2010-07-30  Bruno Haible  <bruno@clisp.org>
25011
25012         dirfd: Avoid link error on AIX 7.1.
25013         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25014         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25015         exist, set REPLACE_DIRFD.
25016         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25017         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25018         * doc/posix-functions/dirfd.texi: Update.
25019         Reported by Rainer Tammer.
25020
25021 2010-07-30  Eric Blake  <eblake@redhat.com>
25022
25023         strtod: next round of AIX fixes
25024         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25025         exponent.
25026         * tests/test-strtod.c (main): Enhance tests.
25027         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25028         Reported by Rainer Tammer.
25029
25030         futimens: fix configure check
25031         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25032         Reported by Bruno Haible.
25033
25034 2010-07-30  Bruno Haible  <bruno@clisp.org>
25035
25036         getline: Update regarding AIX.
25037         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25038         Reported by Rainer Tammer.
25039
25040 2010-07-30  Bruno Haible  <bruno@clisp.org>
25041
25042         wcwidth: Drop replacement on AIX 7.
25043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25044         AIX 7.
25045         Reported by Rainer Tammer.
25046
25047 2010-07-30  Bruno Haible  <bruno@clisp.org>
25048
25049         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25050         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25051         a 'char *'.
25052         Reported by Rainer Tammer.
25053
25054 2010-07-30  Bruno Haible  <bruno@clisp.org>
25055
25056         unlink: Update regarding AIX.
25057         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25058         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25059         Reported by Rainer Tammer.
25060
25061 2010-07-30  Bruno Haible  <bruno@clisp.org>
25062
25063         symlink: Update regarding AIX.
25064         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25065         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25066         Reported by Rainer Tammer.
25067
25068 2010-07-30  Bruno Haible  <bruno@clisp.org>
25069
25070         strndup: Update regarding AIX.
25071         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25072         AIX 7.
25073         Reported by Rainer Tammer.
25074
25075 2010-07-30  Bruno Haible  <bruno@clisp.org>
25076
25077         stat: Update regarding AIX.
25078         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25079         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25080         Reported by Rainer Tammer.
25081
25082 2010-07-30  Bruno Haible  <bruno@clisp.org>
25083
25084         truncl: Fix autoconf test.
25085         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25086         whether truncl works.
25087         Reported by Rainer Tammer.
25088
25089 2010-07-30  Bruno Haible  <bruno@clisp.org>
25090
25091         round: Update regarding AIX.
25092         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25093         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25094         Reported by Rainer Tammer.
25095
25096 2010-07-30  Bruno Haible  <bruno@clisp.org>
25097
25098         rename: Update regarding AIX.
25099         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25100         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25101         Reported by Rainer Tammer.
25102
25103 2010-07-30  Bruno Haible  <bruno@clisp.org>
25104
25105         printf.m4: Update regarding AIX.
25106         * m4/printf.m4: Update comments regarding AIX.
25107         Reported by Rainer Tammer.
25108
25109 2010-07-30  Bruno Haible  <bruno@clisp.org>
25110
25111         iconv: Update regarding AIX.
25112         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25113         AIX 7.
25114         Reported by Rainer Tammer.
25115
25116 2010-07-30  Bruno Haible  <bruno@clisp.org>
25117
25118         getopt: Update regarding AIX.
25119         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25120         no on AIX.
25121         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25122         Reported by Rainer Tammer.
25123
25124 2010-07-30  Bruno Haible  <bruno@clisp.org>
25125
25126         ldexpl; Update regarding AIX.
25127         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25128         on AIX 7.
25129         Reported by Rainer Tammer.
25130
25131 2010-07-30  Bruno Haible  <bruno@clisp.org>
25132
25133         frexpl: Update regarding AIX.
25134         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25135         on AIX 7.
25136         Reported by Rainer Tammer.
25137
25138 2010-07-30  Bruno Haible  <bruno@clisp.org>
25139
25140         open, fopen: Update regarding AIX.
25141         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25142         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25143         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25144         * doc/posix-functions/fopen.texi: Likewise.
25145         Reported by Rainer Tammer.
25146
25147 2010-07-30  Bruno Haible  <bruno@clisp.org>
25148
25149         chown: Update doc regarding AIX.
25150         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25151         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25152         Reported by Rainer Tammer.
25153
25154 2010-07-30  Eric Blake  <eblake@redhat.com>
25155
25156         strtod: fix bug in replacement function on AIX
25157         * lib/strtod.c (strtod): Special case broken "0x" parse in
25158         underlying strtod.
25159         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25160         * doc/posix-functions/strtod.texi (strtod): Likewise.
25161         Reported by Rainer Tammer.
25162
25163 2010-07-30  Bruno Haible  <bruno@clisp.org>
25164
25165         mbrlen: Fix cross-compilation guess for AIX.
25166         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25167         guess. Leftover from 2008-12-22.
25168
25169 2010-07-30  Bruno Haible  <bruno@clisp.org>
25170
25171         mbrtowc: Fix cross-compilation guess for AIX.
25172         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25173         guess. Leftover from 2008-12-21.
25174
25175 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25176
25177         init.sh: work around trap limitation of some shells
25178         * tests/init.sh (setup_): Move exit trap outside of shell function.
25179
25180 2010-07-29  Eric Blake  <eblake@redhat.com>
25181
25182         strtod: aid debugging
25183         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25184         understanding why strtod is rejected.
25185
25186 2010-07-28  Bruno Haible  <bruno@clisp.org>
25187
25188         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25189         * lib/unistr/u8-chr.c: Include <string.h>.
25190         * tests/unistr/test-u8-chr.c: Likewise.
25191         * tests/unistr/test-u16-chr.c: Likewise.
25192         * tests/unistr/test-u32-chr.c: Likewise.
25193         * tests/unistr/test-u8-strchr.c: Likewise.
25194         * tests/unistr/test-u16-strchr.c: Likewise.
25195         * tests/unistr/test-u32-strchr.c: Likewise.
25196         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25197         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25198         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25199         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25200
25201 2010-07-28  Bruno Haible  <bruno@clisp.org>
25202
25203         Use spaces for indentation, not tabs.
25204         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25205
25206 2010-07-27  Bruno Haible  <bruno@clisp.org>
25207
25208         mbspcasecmp: Fix function specification.
25209         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25210         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25211         Reported by Eric Blake <eblake@redhat.com>.
25212
25213 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25214
25215         timespec: use cast and not conditional, as truncation isn't possible
25216         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25217         instead of a conditional.  Comment about the situation in more detail.
25218         This undoes most of the 2009-10-29 patch.
25219
25220 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25221
25222         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25223         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25224         * lib/unistr/u8-strchr.c: Likewise.
25225         * modules/unistr/u8-chr: Depend on memchr.
25226
25227         unistr/u*-strchr: add tests
25228         * modules/unistr/u8-strchr-tests: New file.
25229         * modules/unistr/u16-strchr-tests: New file.
25230         * modules/unistr/u32-strchr-tests: New file.
25231         * tests/unistr/test-strchr.h: New file.
25232         * tests/unistr/test-u8-strchr.c: New file.
25233         * tests/unistr/test-u16-strchr.c: New file.
25234         * tests/unistr/test-u32-strchr.c: New file.
25235
25236         unistr/u*-chr: test multibyte sequences more
25237         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25238         test vector.
25239         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25240         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25241         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25242
25243         unistr/u*-chr: test multibyte sequences
25244         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25245
25246         unistr/u*-chr: prepare for multibyte tests
25247         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25248         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25249         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25250         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25251         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25252         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25253
25254 2010-07-18  Bruno Haible  <bruno@clisp.org>
25255
25256         unistr/u8-strchr: Optimize non-ASCII argument case.
25257         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25258         because the first byte often matches anyway.
25259         Reported by Pádraig Brady <P@draigbrady.com>.
25260
25261 2010-07-15  Karl Berry  <karl@gnu.org>
25262
25263         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25264
25265 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25266
25267         getcwd: on Solaris, work better if ancestors are inaccessible
25268         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25269         buffer and size, try again with a large buffer.  This works better
25270         on Solaris, since its getcwd succeeds even if the path to the root
25271         is inaccessible, and this is helpful in common cases such as .zfs
25272         hidden directories.  Problem reported by J Chapman Flack in
25273         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25274         Use system getcwd if it's declared, not merely if it's partly
25275         working; use the partly-working test only to avoid needless effort
25276         if the system getcwd fails.
25277         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25278         comment that was already obsolete and is now even more obsolete.
25279         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25280         now might call strdup.
25281
25282 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25283
25284         pthread: Add enough so that coreutils/src/sort.c compiles.
25285         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25286         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25287         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25288         Include <sys/types.h>, in case it defines pthread_t.
25289         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25290         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25291         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25292         (pthread_rwlockattr_t, pthread_spinlock_t):
25293         New typedefs, if HAVE_PTHREAD_T is not defined.
25294         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25295         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25296         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25297         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25298         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25299         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25300         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25301         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25302         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25303         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25304         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25305         New macros.
25306         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25307         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25308         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25309         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25310         (pthread_spin_unlock): New dummy functions.
25311         (pthread_create): Return EAGAIN; don't set errno.
25312         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25313         require AC_C_INLINE.
25314         * modules/pthread (Depends-on): Add sched, time.
25315         (pthread.h): Use AM_V_GEN.
25316
25317 2010-07-13  Bruno Haible  <bruno@clisp.org>
25318
25319         striconveh: Don't malloc memory if the result buffer is sufficient.
25320         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
25321         buffer if its size is sufficient.
25322         Reported by Ludovic Courtès <ludo@gnu.org>.
25323
25324 2010-07-13  Bruno Haible  <bruno@clisp.org>
25325
25326         strtod: Add safety check.
25327         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
25328
25329 2010-07-12  Bruno Haible  <bruno@clisp.org>
25330
25331         Unify tests that set gl_cv_func_ldexpl_no_libm.
25332         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
25333         gl_FUNC_LDEXPL.
25334         (gl_FUNC_LDEXPL): Invoke it.
25335         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25336
25337 2010-07-12  Bruno Haible  <bruno@clisp.org>
25338
25339         Unify tests that set gl_cv_func_ldexp_no_libm.
25340         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25341         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25342         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25343         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25344         * modules/strtod (Files): Add m4/ldexp.m4.
25345
25346 2010-07-12  Bruno Haible  <bruno@clisp.org>
25347
25348         Unify tests that set gl_cv_func_frexpl_no_libm.
25349         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25350         gl_FUNC_FREXPL_NO_LIBM.
25351         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25352         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25353
25354 2010-07-12  Bruno Haible  <bruno@clisp.org>
25355
25356         Unify tests that set gl_cv_func_frexp_no_libm.
25357         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
25358         gl_FUNC_FREXP_NO_LIBM.
25359         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
25360         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25361
25362 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25363
25364         memcoll: clarify sizes versus lengths, document better, and tweak perf
25365         * lib/memcoll.c (strcoll_loop, memcoll0):
25366         Improve quality of descriptive comments.  Name variables
25367         consistently as to whether they are lengths (which do not include
25368         terminating null) versus sizes (which do).
25369         * lib/xmemcoll.c (xmemcoll0): Likewise.
25370         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
25371         returned when s1size == 0; this is easier to compile and saves
25372         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
25373
25374 2010-07-12  Bruno Haible  <bruno@clisp.org>
25375
25376         Tests for module '_Exit'.
25377         * modules/_Exit-tests: New file.
25378         * tests/test-_Exit.sh: New file.
25379         * tests/test-_Exit.c: New file.
25380
25381         New module '_Exit'.
25382         * lib/stdlib.in.h (__attribute__): New macro.
25383         (_Exit): New declaration.
25384         * lib/_Exit.c: New file.
25385         * m4/_Exit.m4: New file.
25386         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
25387         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
25388         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
25389         * modules/_Exit: New file.
25390         * tests/test-stdlib-c++.cc (_Exit): Check signature.
25391         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
25392
25393 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25394
25395         strtod: make it more-accurate typically, and don't require libm
25396         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
25397         Include limits.h.  Don't include string.h.
25398         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
25399         (locale_isspace): New function, so that no casts are needed to
25400         check whether *s is a space.
25401         (ldexp): Provide an unused dummy if not available.
25402         (scale_radix_exp, parse_number, underlying_strtod): New functions.
25403         (strtod): Use them.  This implementation prefers to use the
25404         underlying strtod if available, falling back on our own code
25405         only to fix known bugs.  This is more likely to produce an
25406         accurate result.  Also, it avoids the use of libm functions.
25407         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
25408         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
25409         was absent, but it caused a test failure with coreutils.
25410         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
25411         with libm.
25412         * modules/strtod (Makefile.am, Link): libm is no longer needed.
25413         * modules/strtod-tests (Makefile.am): Likewise.
25414
25415 2010-07-11  Pádraig Brady  <P@draigBrady.com>
25416             Bruno Haible  <bruno@clisp.org>
25417
25418         unistr/u8-strchr: Optimize ASCII argument case.
25419         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
25420
25421 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
25422
25423         (x)memcoll: minor tweaks
25424         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
25425         is after the type that it qualifies.
25426         (memcoll0): Likewise.
25427         * lib/memcoll.h (memcoll0): Likewise.
25428         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
25429         * lib/xmemcoll.h (xmemcoll0): Likewise.
25430         * lib/memcoll.c (memcoll0): Correct the comment.  This function
25431         differs from memcoll in that the NUL byte is part of the argument.
25432         Omit the abort-checks, as performance is a real issue here.  Plus,
25433         the checks were wrong anyway (an off-by-one error).  Omit local
25434         variable 'diff', as it's a bit clearer that way.
25435         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
25436         no longer needed.
25437
25438 2010-07-08  Chen Guo <chenguo4@yahoo.com>
25439
25440         (x)memcoll: speedup when input is known to be NUL delimited
25441         * lib/memcoll.c: Include stdlib.
25442         (memcoll0): New function.
25443         (strcoll_loop): New function, refactored for use in both memcoll
25444         and memcoll0.
25445         * lib/memcoll.h (memcoll0): Add prototype.
25446         * lib/xmemcoll.c (xmemcoll0): New function.
25447         (collate_error): New function, refactored for use in both xmemcoll
25448         and xmemcoll0.
25449         * lib/xmemcoll.h (xmemcoll0): Add prototype.
25450         * m4/memcoll.m4: add inline invocation.
25451
25452 2010-07-06  Pádraig Brady  <P@draigBrady.com>
25453
25454         * build-aux/bootstrap: Remove any local translations
25455         from the translation project synchronization directory,
25456         so that local only translations are not distributed.
25457
25458 2010-07-04  Bruno Haible  <bruno@clisp.org>
25459
25460         fsusage: Clarify which code applies to which platforms.
25461         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
25462         platform.
25463         * lib/fsusage.c (get_fs_usage): Likewise.
25464
25465 2010-07-04  Bruno Haible  <bruno@clisp.org>
25466
25467         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
25468         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
25469         Reported by Martin Lambers <marlam@marlam.de>.
25470
25471 2010-07-04  Jim Meyering  <meyering@redhat.com>
25472
25473         hash: once again explicitly disallow insertion of NULL
25474         * lib/hash.c (hash_insert0): Reinstate just-removed test:
25475         inserting a NULL pointer cannot work with these functions.
25476         Add a comment with details.
25477         This reverts part of the 2010-07-01 commit, 5bef1a35
25478         "hash: extend module to deal with non-pointer keys".
25479
25480 2010-07-01  Bruno Haible  <bruno@clisp.org>
25481
25482         stdbool: Update doc.
25483         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
25484         Info from Christian Weisgerber <naddy@mips.inka.de>.
25485
25486 2010-07-01  Jim Meyering  <meyering@redhat.com>
25487
25488         hash: extend module to deal with non-pointer keys
25489         * lib/hash.c (hash_insert0): New interface, much like hash_insert
25490         but that allows insertion of non-pointer entries.
25491         Do not disallow an ENTRY value of NULL.
25492         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
25493         * lib/hash.h (hash_insert0): Declare.
25494
25495 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25496
25497         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
25498         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
25499         not present (i.e. with autoconf 2.59 and when using gettextize, not
25500         gnulib), require AC_GNU_SOURCE instead.
25501
25502 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
25503
25504         idpriv-drop: Fix tests.
25505         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
25506         not to the test-idpriv-droptemp program.
25507
25508 2010-06-29  Bruno Haible  <bruno@clisp.org>
25509
25510         string: Fix syntax error with g++ 2.96.
25511         * lib/string.in.h (__pure__): Remove definition.
25512         (_GL_ATTRIBUTE_PURE): New macro.
25513         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
25514         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
25515         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25516
25517 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
25518
25519         unitypes: Fix bug introduced on 2010-05-18.
25520         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
25521
25522 2010-06-22  Eric Blake  <eblake@redhat.com>
25523
25524         memmem: slight optimization
25525         * lib/str-two-way.h (critical_factorization): Update comments.
25526         Reduce work during factorization phase.
25527         Reported by Carlos Bueno <carlos@bueno.org>.
25528
25529 2010-06-21  Bruno Haible  <bruno@clisp.org>
25530
25531         Fix HAVE_CALLOC_POSIX misnomer.
25532         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
25533         !HAVE_CALLOC_POSIX.
25534         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
25535         HAVE_CALLOC_POSIX.
25536         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
25537         instead of HAVE_CALLOC_POSIX.
25538         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
25539         HAVE_CALLOC_POSIX.
25540
25541         Use modern idiom for calloc() replacement.
25542         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
25543         AC_FUNC_CALLOC.
25544         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
25545         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
25546         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25547         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
25548         (gl_REPLACE_CALLOC): New macro.
25549
25550 2010-06-21  Bruno Haible  <bruno@clisp.org>
25551
25552         Fix HAVE_REALLOC_POSIX misnomer.
25553         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
25554         !HAVE_REALLOC_POSIX.
25555         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
25556         HAVE_REALLOC_POSIX.
25557         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
25558         instead of HAVE_REALLOC_POSIX.
25559         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
25560         HAVE_REALLOC_POSIX.
25561
25562         Use modern idiom for realloc() replacement.
25563         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
25564         AC_FUNC_REALLOC.
25565         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
25566         Autoconf's AC_FUNC_REALLOC.
25567         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25568         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
25569         (gl_REPLACE_REALLOC): New macro.
25570         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25571
25572 2010-06-21  Bruno Haible  <bruno@clisp.org>
25573
25574         Fix HAVE_MALLOC_POSIX misnomer.
25575         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
25576         !HAVE_MALLOC_POSIX.
25577         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
25578         HAVE_MALLOC_POSIX.
25579         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
25580         instead of HAVE_MALLOC_POSIX.
25581         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
25582         HAVE_MALLOC_POSIX.
25583
25584         Use modern idiom for malloc() replacement.
25585         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
25586         AC_FUNC_MALLOC.
25587         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
25588         Autoconf's AC_FUNC_MALLOC.
25589         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25590         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
25591         (gl_REPLACE_MALLOC): New macro.
25592         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25593
25594 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
25595
25596         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
25597         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
25598         This macro takes 3 arguments, not 4.
25599
25600 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
25601
25602         ipv6: fix detection under mingw
25603         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
25604         in6_addr.
25605
25606 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
25607
25608         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
25609         that strtod() works when cross-compiling to a glibc version known
25610         to work.
25611
25612 2010-06-15  Bruno Haible  <bruno@clisp.org>
25613
25614         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
25615
25616 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
25617
25618         select: Correct timeout.
25619         * lib/select.c (rpl_select): Compute wait_timeout correctly.
25620
25621 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25622
25623         git-version-gen: init shell var to avoid env var influence
25624         * build-aux/git-version-gen (v): Init shell var to empty.
25625
25626 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
25627
25628         priv-set: Don't assume that priv.h exists merely because getppriv does.
25629         See Jan Andersen's bug report about AIX 5L in
25630         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
25631         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
25632         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
25633         * lib/priv-set.h: Likewise.
25634         * tests/test-priv-set.c: Likewise.
25635
25636 2010-06-13  Bruno Haible  <bruno@clisp.org>
25637
25638         relocatable: Make it easier to test whether to install wrappers.
25639         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
25640         RELOCATABLE_VIA_WRAPPER.
25641
25642 2010-06-13  Bruno Haible  <bruno@clisp.org>
25643
25644         gnulib-tool: Display specified modules and dependencies differently.
25645         * gnulib-tool (func_show_module_list): New function.
25646         (func_import, func_create_testdir): Invoke it.
25647         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25648
25649 2010-06-13  Bruno Haible  <bruno@clisp.org>
25650
25651         gnulib-tool: Align code of func_import and func_create_testdir.
25652         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
25653         specified_modules.
25654
25655 2010-06-12  Jim Meyering  <meyering@redhat.com>
25656
25657         test-inttostr: avoid spurious failure on Solaris 9
25658         * tests/test-inttostr.c (main): Skip the test when snprintf fails
25659         to accept "%ju".  Reported by Bruno Haible.
25660
25661 2010-06-11  Jim Meyering  <meyering@redhat.com>
25662
25663         test-sys_socket: mark variables as used more readably
25664         * tests/test-sys_socket.c (main): Mark otherwise unused variables
25665         as "used" explicitly via (void) statement casts.  This is more
25666         readable than using them in an artificial return expression.
25667         Suggestion from Bruno Haible.
25668
25669 2010-06-11  Bruno Haible  <bruno@clisp.org>
25670
25671         Avoid some more warnings from "gcc -Wwrite-strings".
25672         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
25673         to 'const char *'.
25674         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
25675         * tests/test-c-strcasestr.c (main): Likewise.
25676         * tests/test-mbscasestr1.c (main): Likewise.
25677         * tests/test-mbscasestr2.c (main): Likewise.
25678         * tests/test-memmem.c (main): Likewise.
25679         * tests/test-strstr.c (main): Likewise.
25680         * tests/test-strcasestr.c (main): Likewise.
25681
25682 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25683
25684         init.sh: change framework_failure_ to fail with status 99, not 1
25685         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
25686         automake's parallel-tests rule that this is an unexpected failure,
25687         even if the test is listed in XFAIL_TESTS.
25688
25689 2010-06-11  Jim Meyering  <meyering@redhat.com>
25690
25691         test-inttostr: avoid warnings about 4-6KB literal strings
25692         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
25693         Include "macros.h", for its definition of ASSERT.
25694         (CK): s/assert/ASSERT/
25695         * modules/inttostr-tests (Files): Add macros.h.
25696
25697         init.sh: don't use $ME_ or skip_ before they are defined
25698         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
25699         their first uses.  Also hoist their companions: warn_, fail_,
25700         framework_failure_, $stderr_fileno.  Prompted by a patch from
25701         Stefano Lattarini.
25702
25703         test-sys_socket: avoid set-but-not-used warnings from gcc
25704         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
25705         avoid warning about set-but-not-used variables.
25706
25707         test-xvasprintf: avoid 'const' discard warnings
25708         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
25709         "const" when assigning from literal strings.
25710         (test_xasprintf): Add "void" in function argument list to placate
25711         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
25712
25713         tests: avoid compilation warnings in argmatch and exclude tests...
25714         in packages that define ARGMATCH_DIE_DECL, like coreutils.
25715         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
25716         Since it always exits, declare with the "noreturn" attribute.
25717         * tests/test-argmatch.c: Likewise.
25718
25719         tests: avoid 'const' discard warnings in mbsstr tests
25720         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
25721         * tests/test-mbsstr2.c (main): Likewise.
25722
25723         test-verify: avoid warning from gcc's -Wmissing-declarations
25724         * tests/test-verify.c (function): Declare to be static.
25725
25726         test-inttostr.c: include <string.h> for use of strcmp
25727         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
25728
25729         test-linkat: avoid failed assertion on "other" architectures
25730         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
25731         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
25732         sparc: https://bugs.launchpad.net/bugs/591968
25733
25734 2010-06-11  Jim Meyering  <meyering@redhat.com>
25735
25736         printf.m4: avoid autoconf's "Expanded Before Required" warning
25737         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
25738         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
25739         autoconf warning.
25740
25741 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
25742
25743         Replacement header templates are now named with ".in", not "_".
25744         * doc/gnulib-intro.texi: Correct.
25745
25746 2010-06-10  Jim Meyering  <meyering@redhat.com>
25747
25748         inttostr-tests: depend on snprintf, not snprintf-posix
25749         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
25750         snprintf-posix, to avoid this aclocal failure:
25751           missing file gnulib-tests/vasnprintf.c
25752           configure.ac:45: error: expected source file, required through \
25753           AC_LIBSOURCES, not found
25754
25755 2010-06-10  Jim Meyering  <meyering@redhat.com>
25756
25757         inttostr: add a new function, inttostr, and tests
25758         The namesake function was not available.  The existence of the
25759         template file, inttostr.c makes its addition nontrivial.
25760         * lib/anytostr.c: Rename from inttostr.c.
25761         (anytostr): Rename from inttostr.
25762         * lib/inttostr.c: New file.
25763         * modules/inttostr (Files): Add anytostr.c.
25764         (Makefile.am): Set lib_SOURCES instead of ...
25765         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
25766         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
25767         * lib/offtostr.c: Likewise.
25768         * lib/uinttostr.c: Likewise.
25769         * lib/umaxtostr.c: Likewise.
25770         * modules/inttostr-tests: New file.
25771         * tests/test-inttostr.c: New file.  Test these functions.
25772
25773 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
25774             Bruno Haible  <bruno@clisp.org>
25775
25776         Add "Extending Gnulib" chapter to manual.
25777         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
25778         chapter.
25779         (Extending Gnulib): New chapter.
25780         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
25781         chapter.
25782
25783 2010-06-09  Bruno Haible  <bruno@clisp.org>
25784
25785         Avoid relocwrapper link errors due to gnulib replacement functions.
25786         * lib/areadlink.c: Use the system's malloc, realloc functions.
25787         (areadlink): Set errno to ENOMEM explicitly.
25788         * modules/areadlink (Depends-on): Remove malloc-posix.
25789         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25790
25791 2010-06-09  Bruno Haible  <bruno@clisp.org>
25792
25793         Avoid relocwrapper link errors due to gnulib replacement functions.
25794         * lib/canonicalize-lgpl.c: Use the system's malloc function.
25795         * lib/malloca.c: Likewise.
25796         * lib/relocatable.c: Likewise.
25797         * lib/progreloc.c: Use the system's malloc, sprintf functions.
25798         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
25799         * lib/setenv.c: Use the system's malloc, realloc functions.
25800         * lib/strerror.c: Use the system's sprintf function.
25801         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25802
25803 2010-06-04  Bruno Haible  <bruno@clisp.org>
25804
25805         Prefer documented low-level autoconf macro names.
25806         * m4/lib-link.m4: Use m4_translit instead of translit.
25807         * m4/environ.m4: Likewise.
25808         * m4/mathfunc.m4: Likewise.
25809         * m4/onceonly.m4: Likewise.
25810         * m4/stdint.m4: Likewise.
25811         Suggested by Eric Blake.
25812
25813 2010-06-04  Martin Lambers  <marlam@marlam.de>
25814             Bruno Haible  <bruno@clisp.org>
25815
25816         havelib: Allow library names with '+' characters.
25817         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
25818         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
25819
25820 2010-06-09  Bruno Haible  <bruno@clisp.org>
25821
25822         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
25823         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
25824         realloc failed.
25825
25826 2010-06-08  Peter Simons  <simons@cryp.to>
25827
25828         maint.mk: make the news-check rule more configurable
25829         * top/maint.mk (news-check-lines-spec): New variable.
25830         (news-check): Use "sed -n 1,10p" in place of "head".
25831
25832 2010-06-07  Jim Meyering  <meyering@redhat.com>
25833
25834         do-release-commit-and-tag: fix typo in --help
25835         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
25836
25837         regex: avoid new dead-code warning with gcc-4.6.0
25838         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
25839         if-block containing a while-loop.  It's been unused for at least
25840         5 years.
25841
25842 2010-06-05  Bruno Haible  <bruno@clisp.org>
25843
25844         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
25845         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
25846
25847 2010-06-04  Bruno Haible  <bruno@clisp.org>
25848
25849         Update to GNU gettext 0.18.1.
25850         * modules/gettext (configure.ac): Require gettext infrastructure from
25851         version 0.18.1.
25852
25853 2010-06-03  Bruno Haible  <bruno@clisp.org>
25854
25855         Don't use AC_LIBOBJ with file names in subdirectories.
25856         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
25857         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
25858         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
25859         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
25860         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
25861         gl_LIBUNISTRING_LIBSOURCE.
25862         (Makefile.am): Augment lib_SOURCES here, conditionally.
25863         * NEWS: Drop requirement for Automake option 'subdir-objects'.
25864
25865 2010-06-03  Bruno Haible  <bruno@clisp.org>
25866
25867         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
25868         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
25869         expansion does not end with a newline.
25870         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
25871         unnecessary newline.
25872
25873 2010-06-03  Bruno Haible  <bruno@clisp.org>
25874
25875         Reduce dependencies.
25876         * tests/test-quotearg.h: New file, extracted from
25877         tests/test-quotearg.c.
25878         * tests/test-quotearg-simple.c: New file, extracted from
25879         tests/test-quotearg.c.
25880         * tests/test-quotearg.c: Don't include <ctype.h>.
25881         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
25882         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
25883         use_quote_double_quotes, use_quotearg_colon): Moved to
25884         tests/test-quotearg.h.
25885         (results_g, flag_results, custom_quotes, custom_results): Moved
25886         to tests/test-quotearg-simple.c.
25887         (main): Moved the part that does not depend on gettext to
25888         tests/test-quotearg-simple.c. Return 77 if the test cannot be
25889         performed.
25890         * modules/quotearg-simple: New file.
25891         * modules/quotearg-simple-tests: New file.
25892         * modules/quotearg (Depends-on): Add quotearg-simple.
25893         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
25894         (Files): Add tests/test-quotearg.h.
25895         Reported by Paolo Bonzini.
25896
25897 2010-06-03  Bruno Haible  <bruno@clisp.org>
25898
25899         Reduce dependencies.
25900         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
25901
25902 2010-06-03  Bruno Haible  <bruno@clisp.org>
25903
25904         time: Undefine more broken macros.
25905         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
25906         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
25907         Reported by Eric Blake.
25908
25909 2010-06-03  Bruno Haible  <bruno@clisp.org>
25910
25911         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
25912         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
25913         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
25914         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
25915         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
25916         Reported by Ludovic Courtès <ludo@gnu.org>.
25917
25918 2010-06-02  Eric Blake  <eblake@redhat.com>
25919
25920         time: work with mingw + pthreads-win32 library
25921         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
25922         if timespec is defined only in pthread.h.
25923         * modules/time (Makefile.am): Substitute it.
25924         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
25925         <pthread.h>, when needed.
25926         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
25927         from the library.
25928
25929 2010-05-31  Bruno Haible  <bruno@clisp.org>
25930
25931         Avoid expanding two macros in the wrong order.
25932         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
25933         gl_LIBUNISTRING if it is defined.
25934         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
25935         autoconf >= 2.64.
25936         Reported by Ludovic Courtès <ludo@gnu.org>.
25937
25938 2010-05-27  Jim Meyering  <meyering@redhat.com>
25939
25940         maint.mk: also prohibit "#undef" of always-defined symbols
25941         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
25942         Allow more than one space before the symbol name.
25943         (sc_prohibit_always-defined_macros): Use grep's -E, now that
25944         the regexp uses alternation.
25945
25946 2010-05-26  Eric Blake  <eblake@redhat.com>
25947
25948         maint.mk: avoid echo -e
25949         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
25950         Convert all uses of echo -* to printf.
25951         Reported by Matthias Bolte.
25952
25953 2010-05-25  Bruno Haible  <bruno@clisp.org>
25954
25955         Update to GNU gettext 0.18, part 2.
25956         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
25957         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
25958
25959 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25960
25961         Add missing include in test-pwrite.c.
25962         * tests/test-pwrite.c: Include string.h, for strcmp.
25963
25964 2010-05-24  Bruno Haible  <bruno@clisp.org>
25965
25966         * NEWS: Mention requirement for Automake option 'subdir-objects'.
25967
25968 2010-05-24  Bruno Haible  <bruno@clisp.org>
25969
25970         Don't use conversion with transliteration in u{8,16,32}_strcoll.
25971         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
25972         iconveh_error argument.
25973         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
25974         U_STRCONV_TO_LOCALE.
25975         * lib/unistr/u16-strcoll.c: Likewise.
25976         * lib/unistr/u32-strcoll.c: Likewise.
25977         * modules/unistr/u8-strcoll (Depends-on): Add
25978         uniconv/u8-strconv-to-enc, localcharset. Remove
25979         uniconv/u8-strconv-to-locale.
25980         (configure.ac): Bump version number.
25981         * modules/unistr/u16-strcoll (Depends-on): Add
25982         uniconv/u16-strconv-to-enc, localcharset. Remove
25983         uniconv/u16-strconv-to-locale.
25984         (configure.ac): Bump version number.
25985         * modules/unistr/u32-strcoll (Depends-on): Add
25986         uniconv/u32-strconv-to-enc, localcharset. Remove
25987         uniconv/u32-strconv-to-locale.
25988         (configure.ac): Bump version number.
25989
25990 2010-05-24  Bruno Haible  <bruno@clisp.org>
25991
25992         Avoid a test failure on NetBSD 5.0.
25993         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
25994         an iconv() bug.
25995
25996 2010-05-24  Bruno Haible  <bruno@clisp.org>
25997
25998         Adjust #include directive style.
25999         * modules/regex (Includes): Recommend to write <regex.h>.
26000
26001 2010-05-24  Bruno Haible  <bruno@clisp.org>
26002
26003         regex: Don't require alloca.
26004         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26005         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26006         only inside if (0).
26007
26008 2010-05-23  Jim Meyering  <meyering@redhat.com>
26009
26010         test-renameat.c: include <sys/stat.h>
26011         * tests/test-renameat.c: Include <sys/stat.h>; required for
26012         definition of S_IS* macros.
26013
26014 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26015
26016         Update maintainer documentation for 'relocatable-prog' module.
26017         * doc/relocatable-maint.texi: Update.
26018         Comments by Bruno Haible.
26019
26020 2010-05-23  Bruno Haible  <bruno@clisp.org>
26021
26022         git-merge-changelog: Enable --split-merged-entry by default.
26023         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26024         (usage): Don't mention this option any more.
26025         Reported by Ralf Wildenhues.
26026
26027 2010-05-23  Jim Meyering  <meyering@redhat.com>
26028
26029         test-pwrite: do not leave behind a test file named "out"
26030         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26031         The trivial-looking use of init.sh is really necessary.
26032         It ensures that the temporary file, "out", is created in
26033         a temporary directory, and removed upon termination.
26034         * tests/test-pwrite.sh: Re-add file.
26035         * modules/pwrite-tests: Reference it.
26036
26037 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26038
26039         Fix output redirection buglet in init.sh.
26040         * tests/init.sh: Fix redirection of stderr.
26041
26042 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26043
26044         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26045
26046 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26047
26048         * modules/valgrind-tests: New file.
26049         * m4/valgrind-tests.m4: New file.
26050         * doc/valgrind-tests.texi: New file.
26051         * doc/gnulib.texi (Running self-tests under valgrind): New
26052         section.
26053
26054 2010-05-19  Bruno Haible  <bruno@clisp.org>
26055
26056         Clean up dead code in recent commit.
26057         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26058         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26059         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26060         Suggested by Paolo Bonzini.
26061
26062 2010-05-19  Bruno Haible  <bruno@clisp.org>
26063
26064         Avoid valgrind error reports from libunistring.
26065         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26066         * modules/libunistring (Files): Add it.
26067         * modules/libunistring-optional (Files): Likewise.
26068
26069 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26070             Bruno Haible  <bruno@clisp.org>
26071
26072         New module 'libunistring-optional'.
26073         * modules/libunistring-optional: New file.
26074         * m4/libunistring-base.m4: New file.
26075         * m4/libunistring-optional.m4: New file.
26076         * lib/unicase.in.h: Renamed from lib/unicase.h.
26077         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26078         * lib/unictype.in.h: Renamed from lib/unictype.h.
26079         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26080         * lib/uniname.in.h: Renamed from lib/uniname.h.
26081         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26082         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26083         * lib/unistr.in.h: Renamed from lib/unistr.h.
26084         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26085         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26086         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26087         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26088         gl_LIBUNISTRING. If the library was found, determine the installed
26089         version and set LIBUNISTRING_VERSION.
26090         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26091         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26092         handle a configuration option --with-included-libunistring.
26093         * modules/libunistring (Files): Add m4/absolute-header.m4.
26094         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26095         Add m4/libunistring-base.m4.
26096         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26097         (Makefile.am): Build unicase.h from unicase.in.h.
26098         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26099         Add m4/libunistring-base.m4.
26100         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26101         (Makefile.am): Build uniconv.h from uniconv.in.h.
26102         * modules/unictype/base (Files): Use unictype.in.h instead of
26103         unictype.h. Add m4/libunistring-base.m4.
26104         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26105         (Makefile.am): Build unictype.h from unictype.in.h.
26106         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26107         Add m4/libunistring-base.m4.
26108         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26109         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26110         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26111         Add m4/libunistring-base.m4.
26112         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26113         (Makefile.am): Build uniname.h from uniname.in.h.
26114         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26115         Add m4/libunistring-base.m4.
26116         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26117         (Makefile.am): Build uninorm.h from uninorm.in.h.
26118         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26119         unistdio.h. Add m4/libunistring-base.m4.
26120         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26121         (Makefile.am): Build unistdio.h from unistdio.in.h.
26122         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26123         Add m4/libunistring-base.m4.
26124         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26125         (Makefile.am): Build unistr.h from unistr.in.h.
26126         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26127         Add m4/libunistring-base.m4.
26128         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26129         (Makefile.am): Build unitypes.h from unitypes.in.h.
26130         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26131         Add m4/libunistring-base.m4.
26132         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26133         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26134         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26135         uniwidth.h. Add m4/libunistring-base.m4.
26136         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26137         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26138         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26139         instead of augmenting lib_SOURCES.
26140         * modules/unicase/empty-suffix-context: Likewise.
26141         * modules/unicase/locale-language: Likewise.
26142         * modules/unicase/tolower: Likewise.
26143         * modules/unicase/totitle: Likewise.
26144         * modules/unicase/toupper: Likewise.
26145         * modules/unicase/u8-casecmp: Likewise.
26146         * modules/unicase/u8-casecoll: Likewise.
26147         * modules/unicase/u8-casefold: Likewise.
26148         * modules/unicase/u8-casexfrm: Likewise.
26149         * modules/unicase/u8-ct-casefold: Likewise.
26150         * modules/unicase/u8-ct-tolower: Likewise.
26151         * modules/unicase/u8-ct-totitle: Likewise.
26152         * modules/unicase/u8-ct-toupper: Likewise.
26153         * modules/unicase/u8-is-cased: Likewise.
26154         * modules/unicase/u8-is-casefolded: Likewise.
26155         * modules/unicase/u8-is-lowercase: Likewise.
26156         * modules/unicase/u8-is-titlecase: Likewise.
26157         * modules/unicase/u8-is-uppercase: Likewise.
26158         * modules/unicase/u8-prefix-context: Likewise.
26159         * modules/unicase/u8-suffix-context: Likewise.
26160         * modules/unicase/u8-tolower: Likewise.
26161         * modules/unicase/u8-totitle: Likewise.
26162         * modules/unicase/u8-toupper: Likewise.
26163         * modules/unicase/u16-casecmp: Likewise.
26164         * modules/unicase/u16-casecoll: Likewise.
26165         * modules/unicase/u16-casefold: Likewise.
26166         * modules/unicase/u16-casexfrm: Likewise.
26167         * modules/unicase/u16-ct-casefold: Likewise.
26168         * modules/unicase/u16-ct-tolower: Likewise.
26169         * modules/unicase/u16-ct-totitle: Likewise.
26170         * modules/unicase/u16-ct-toupper: Likewise.
26171         * modules/unicase/u16-is-cased: Likewise.
26172         * modules/unicase/u16-is-casefolded: Likewise.
26173         * modules/unicase/u16-is-lowercase: Likewise.
26174         * modules/unicase/u16-is-titlecase: Likewise.
26175         * modules/unicase/u16-is-uppercase: Likewise.
26176         * modules/unicase/u16-prefix-context: Likewise.
26177         * modules/unicase/u16-suffix-context: Likewise.
26178         * modules/unicase/u16-tolower: Likewise.
26179         * modules/unicase/u16-totitle: Likewise.
26180         * modules/unicase/u16-toupper: Likewise.
26181         * modules/unicase/u32-casecmp: Likewise.
26182         * modules/unicase/u32-casecoll: Likewise.
26183         * modules/unicase/u32-casefold: Likewise.
26184         * modules/unicase/u32-casexfrm: Likewise.
26185         * modules/unicase/u32-ct-casefold: Likewise.
26186         * modules/unicase/u32-ct-tolower: Likewise.
26187         * modules/unicase/u32-ct-totitle: Likewise.
26188         * modules/unicase/u32-ct-toupper: Likewise.
26189         * modules/unicase/u32-is-cased: Likewise.
26190         * modules/unicase/u32-is-casefolded: Likewise.
26191         * modules/unicase/u32-is-lowercase: Likewise.
26192         * modules/unicase/u32-is-titlecase: Likewise.
26193         * modules/unicase/u32-is-uppercase: Likewise.
26194         * modules/unicase/u32-prefix-context: Likewise.
26195         * modules/unicase/u32-suffix-context: Likewise.
26196         * modules/unicase/u32-tolower: Likewise.
26197         * modules/unicase/u32-totitle: Likewise.
26198         * modules/unicase/u32-toupper: Likewise.
26199         * modules/unicase/ulc-casecmp: Likewise.
26200         * modules/unicase/ulc-casecoll: Likewise.
26201         * modules/unicase/ulc-casexfrm: Likewise.
26202         * modules/uniconv/u8-conv-from-enc: Likewise.
26203         * modules/uniconv/u8-conv-to-enc: Likewise.
26204         * modules/uniconv/u8-strconv-from-enc: Likewise.
26205         * modules/uniconv/u8-strconv-from-locale: Likewise.
26206         * modules/uniconv/u8-strconv-to-enc: Likewise.
26207         * modules/uniconv/u8-strconv-to-locale: Likewise.
26208         * modules/uniconv/u16-conv-from-enc: Likewise.
26209         * modules/uniconv/u16-conv-to-enc: Likewise.
26210         * modules/uniconv/u16-strconv-from-enc: Likewise.
26211         * modules/uniconv/u16-strconv-from-locale: Likewise.
26212         * modules/uniconv/u16-strconv-to-enc: Likewise.
26213         * modules/uniconv/u16-strconv-to-locale: Likewise.
26214         * modules/uniconv/u32-conv-from-enc: Likewise.
26215         * modules/uniconv/u32-conv-to-enc: Likewise.
26216         * modules/uniconv/u32-strconv-from-enc: Likewise.
26217         * modules/uniconv/u32-strconv-from-locale: Likewise.
26218         * modules/uniconv/u32-strconv-to-enc: Likewise.
26219         * modules/uniconv/u32-strconv-to-locale: Likewise.
26220         * modules/unictype/bidicategory-byname: Likewise.
26221         * modules/unictype/bidicategory-name: Likewise.
26222         * modules/unictype/bidicategory-of: Likewise.
26223         * modules/unictype/bidicategory-test: Likewise.
26224         * modules/unictype/block-list: Likewise.
26225         * modules/unictype/block-test: Likewise.
26226         * modules/unictype/category-C: Likewise.
26227         * modules/unictype/category-Cc: Likewise.
26228         * modules/unictype/category-Cf: Likewise.
26229         * modules/unictype/category-Cn: Likewise.
26230         * modules/unictype/category-Co: Likewise.
26231         * modules/unictype/category-Cs: Likewise.
26232         * modules/unictype/category-L: Likewise.
26233         * modules/unictype/category-Ll: Likewise.
26234         * modules/unictype/category-Lm: Likewise.
26235         * modules/unictype/category-Lo: Likewise.
26236         * modules/unictype/category-Lt: Likewise.
26237         * modules/unictype/category-Lu: Likewise.
26238         * modules/unictype/category-M: Likewise.
26239         * modules/unictype/category-Mc: Likewise.
26240         * modules/unictype/category-Me: Likewise.
26241         * modules/unictype/category-Mn: Likewise.
26242         * modules/unictype/category-N: Likewise.
26243         * modules/unictype/category-Nd: Likewise.
26244         * modules/unictype/category-Nl: Likewise.
26245         * modules/unictype/category-No: Likewise.
26246         * modules/unictype/category-P: Likewise.
26247         * modules/unictype/category-Pc: Likewise.
26248         * modules/unictype/category-Pd: Likewise.
26249         * modules/unictype/category-Pe: Likewise.
26250         * modules/unictype/category-Pf: Likewise.
26251         * modules/unictype/category-Pi: Likewise.
26252         * modules/unictype/category-Po: Likewise.
26253         * modules/unictype/category-Ps: Likewise.
26254         * modules/unictype/category-S: Likewise.
26255         * modules/unictype/category-Sc: Likewise.
26256         * modules/unictype/category-Sk: Likewise.
26257         * modules/unictype/category-Sm: Likewise.
26258         * modules/unictype/category-So: Likewise.
26259         * modules/unictype/category-Z: Likewise.
26260         * modules/unictype/category-Zl: Likewise.
26261         * modules/unictype/category-Zp: Likewise.
26262         * modules/unictype/category-Zs: Likewise.
26263         * modules/unictype/category-and: Likewise.
26264         * modules/unictype/category-and-not: Likewise.
26265         * modules/unictype/category-byname: Likewise.
26266         * modules/unictype/category-name: Likewise.
26267         * modules/unictype/category-none: Likewise.
26268         * modules/unictype/category-of: Likewise.
26269         * modules/unictype/category-or: Likewise.
26270         * modules/unictype/category-test: Likewise.
26271         * modules/unictype/combining-class: Likewise.
26272         * modules/unictype/ctype-alnum: Likewise.
26273         * modules/unictype/ctype-alpha: Likewise.
26274         * modules/unictype/ctype-blank: Likewise.
26275         * modules/unictype/ctype-cntrl: Likewise.
26276         * modules/unictype/ctype-digit: Likewise.
26277         * modules/unictype/ctype-graph: Likewise.
26278         * modules/unictype/ctype-lower: Likewise.
26279         * modules/unictype/ctype-print: Likewise.
26280         * modules/unictype/ctype-punct: Likewise.
26281         * modules/unictype/ctype-space: Likewise.
26282         * modules/unictype/ctype-upper: Likewise.
26283         * modules/unictype/ctype-xdigit: Likewise.
26284         * modules/unictype/decimal-digit: Likewise.
26285         * modules/unictype/digit: Likewise.
26286         * modules/unictype/mirror: Likewise.
26287         * modules/unictype/numeric: Likewise.
26288         * modules/unictype/property-alphabetic: Likewise.
26289         * modules/unictype/property-ascii-hex-digit: Likewise.
26290         * modules/unictype/property-bidi-arabic-digit: Likewise.
26291         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26292         * modules/unictype/property-bidi-block-separator: Likewise.
26293         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26294         * modules/unictype/property-bidi-common-separator: Likewise.
26295         * modules/unictype/property-bidi-control: Likewise.
26296         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26297         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26298         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26299         * modules/unictype/property-bidi-european-digit: Likewise.
26300         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26301         * modules/unictype/property-bidi-left-to-right: Likewise.
26302         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26303         * modules/unictype/property-bidi-other-neutral: Likewise.
26304         * modules/unictype/property-bidi-pdf: Likewise.
26305         * modules/unictype/property-bidi-segment-separator: Likewise.
26306         * modules/unictype/property-bidi-whitespace: Likewise.
26307         * modules/unictype/property-byname: Likewise.
26308         * modules/unictype/property-combining: Likewise.
26309         * modules/unictype/property-composite: Likewise.
26310         * modules/unictype/property-currency-symbol: Likewise.
26311         * modules/unictype/property-dash: Likewise.
26312         * modules/unictype/property-decimal-digit: Likewise.
26313         * modules/unictype/property-default-ignorable-code-point: Likewise.
26314         * modules/unictype/property-deprecated: Likewise.
26315         * modules/unictype/property-diacritic: Likewise.
26316         * modules/unictype/property-extender: Likewise.
26317         * modules/unictype/property-format-control: Likewise.
26318         * modules/unictype/property-grapheme-base: Likewise.
26319         * modules/unictype/property-grapheme-extend: Likewise.
26320         * modules/unictype/property-grapheme-link: Likewise.
26321         * modules/unictype/property-hex-digit: Likewise.
26322         * modules/unictype/property-hyphen: Likewise.
26323         * modules/unictype/property-id-continue: Likewise.
26324         * modules/unictype/property-id-start: Likewise.
26325         * modules/unictype/property-ideographic: Likewise.
26326         * modules/unictype/property-ids-binary-operator: Likewise.
26327         * modules/unictype/property-ids-trinary-operator: Likewise.
26328         * modules/unictype/property-ignorable-control: Likewise.
26329         * modules/unictype/property-iso-control: Likewise.
26330         * modules/unictype/property-join-control: Likewise.
26331         * modules/unictype/property-left-of-pair: Likewise.
26332         * modules/unictype/property-line-separator: Likewise.
26333         * modules/unictype/property-logical-order-exception: Likewise.
26334         * modules/unictype/property-lowercase: Likewise.
26335         * modules/unictype/property-math: Likewise.
26336         * modules/unictype/property-non-break: Likewise.
26337         * modules/unictype/property-not-a-character: Likewise.
26338         * modules/unictype/property-numeric: Likewise.
26339         * modules/unictype/property-other-alphabetic: Likewise.
26340         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26341         * modules/unictype/property-other-grapheme-extend: Likewise.
26342         * modules/unictype/property-other-id-continue: Likewise.
26343         * modules/unictype/property-other-id-start: Likewise.
26344         * modules/unictype/property-other-lowercase: Likewise.
26345         * modules/unictype/property-other-math: Likewise.
26346         * modules/unictype/property-other-uppercase: Likewise.
26347         * modules/unictype/property-paired-punctuation: Likewise.
26348         * modules/unictype/property-paragraph-separator: Likewise.
26349         * modules/unictype/property-pattern-syntax: Likewise.
26350         * modules/unictype/property-pattern-white-space: Likewise.
26351         * modules/unictype/property-private-use: Likewise.
26352         * modules/unictype/property-punctuation: Likewise.
26353         * modules/unictype/property-quotation-mark: Likewise.
26354         * modules/unictype/property-radical: Likewise.
26355         * modules/unictype/property-sentence-terminal: Likewise.
26356         * modules/unictype/property-soft-dotted: Likewise.
26357         * modules/unictype/property-space: Likewise.
26358         * modules/unictype/property-terminal-punctuation: Likewise.
26359         * modules/unictype/property-test: Likewise.
26360         * modules/unictype/property-titlecase: Likewise.
26361         * modules/unictype/property-unassigned-code-value: Likewise.
26362         * modules/unictype/property-unified-ideograph: Likewise.
26363         * modules/unictype/property-uppercase: Likewise.
26364         * modules/unictype/property-variation-selector: Likewise.
26365         * modules/unictype/property-white-space: Likewise.
26366         * modules/unictype/property-xid-continue: Likewise.
26367         * modules/unictype/property-xid-start: Likewise.
26368         * modules/unictype/property-zero-width: Likewise.
26369         * modules/unictype/scripts: Likewise.
26370         * modules/unictype/syntax-c-ident: Likewise.
26371         * modules/unictype/syntax-c-whitespace: Likewise.
26372         * modules/unictype/syntax-java-ident: Likewise.
26373         * modules/unictype/syntax-java-whitespace: Likewise.
26374         * modules/unilbrk/u8-possible-linebreaks: Likewise.
26375         * modules/unilbrk/u8-width-linebreaks: Likewise.
26376         * modules/unilbrk/u16-possible-linebreaks: Likewise.
26377         * modules/unilbrk/u16-width-linebreaks: Likewise.
26378         * modules/unilbrk/u32-possible-linebreaks: Likewise.
26379         * modules/unilbrk/u32-width-linebreaks: Likewise.
26380         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
26381         * modules/unilbrk/ulc-width-linebreaks: Likewise.
26382         * modules/uniname/uniname: Likewise.
26383         * modules/uninorm/canonical-decomposition: Likewise.
26384         * modules/uninorm/composition: Likewise.
26385         * modules/uninorm/decomposing-form: Likewise.
26386         * modules/uninorm/decomposition: Likewise.
26387         * modules/uninorm/filter: Likewise.
26388         * modules/uninorm/nfc: Likewise.
26389         * modules/uninorm/nfd: Likewise.
26390         * modules/uninorm/nfkc: Likewise.
26391         * modules/uninorm/nfkd: Likewise.
26392         * modules/uninorm/u8-normalize: Likewise.
26393         * modules/uninorm/u8-normcmp: Likewise.
26394         * modules/uninorm/u8-normcoll: Likewise.
26395         * modules/uninorm/u8-normxfrm: Likewise.
26396         * modules/uninorm/u16-normalize: Likewise.
26397         * modules/uninorm/u16-normcmp: Likewise.
26398         * modules/uninorm/u16-normcoll: Likewise.
26399         * modules/uninorm/u16-normxfrm: Likewise.
26400         * modules/uninorm/u32-normalize: Likewise.
26401         * modules/uninorm/u32-normcmp: Likewise.
26402         * modules/uninorm/u32-normcoll: Likewise.
26403         * modules/uninorm/u32-normxfrm: Likewise.
26404         * modules/unistdio/u8-asnprintf: Likewise.
26405         * modules/unistdio/u8-asprintf: Likewise.
26406         * modules/unistdio/u8-snprintf: Likewise.
26407         * modules/unistdio/u8-sprintf: Likewise.
26408         * modules/unistdio/u8-u8-asnprintf: Likewise.
26409         * modules/unistdio/u8-u8-asprintf: Likewise.
26410         * modules/unistdio/u8-u8-snprintf: Likewise.
26411         * modules/unistdio/u8-u8-sprintf: Likewise.
26412         * modules/unistdio/u8-u8-vasnprintf: Likewise.
26413         * modules/unistdio/u8-u8-vasprintf: Likewise.
26414         * modules/unistdio/u8-u8-vsnprintf: Likewise.
26415         * modules/unistdio/u8-u8-vsprintf: Likewise.
26416         * modules/unistdio/u8-vasnprintf: Likewise.
26417         * modules/unistdio/u8-vasprintf: Likewise.
26418         * modules/unistdio/u8-vsnprintf: Likewise.
26419         * modules/unistdio/u8-vsprintf: Likewise.
26420         * modules/unistdio/u16-asnprintf: Likewise.
26421         * modules/unistdio/u16-asprintf: Likewise.
26422         * modules/unistdio/u16-snprintf: Likewise.
26423         * modules/unistdio/u16-sprintf: Likewise.
26424         * modules/unistdio/u16-u16-asnprintf: Likewise.
26425         * modules/unistdio/u16-u16-asprintf: Likewise.
26426         * modules/unistdio/u16-u16-snprintf: Likewise.
26427         * modules/unistdio/u16-u16-sprintf: Likewise.
26428         * modules/unistdio/u16-u16-vasnprintf: Likewise.
26429         * modules/unistdio/u16-u16-vasprintf: Likewise.
26430         * modules/unistdio/u16-u16-vsnprintf: Likewise.
26431         * modules/unistdio/u16-u16-vsprintf: Likewise.
26432         * modules/unistdio/u16-vasnprintf: Likewise.
26433         * modules/unistdio/u16-vasprintf: Likewise.
26434         * modules/unistdio/u16-vsnprintf: Likewise.
26435         * modules/unistdio/u16-vsprintf: Likewise.
26436         * modules/unistdio/u32-asnprintf: Likewise.
26437         * modules/unistdio/u32-asprintf: Likewise.
26438         * modules/unistdio/u32-snprintf: Likewise.
26439         * modules/unistdio/u32-sprintf: Likewise.
26440         * modules/unistdio/u32-u32-asnprintf: Likewise.
26441         * modules/unistdio/u32-u32-asprintf: Likewise.
26442         * modules/unistdio/u32-u32-snprintf: Likewise.
26443         * modules/unistdio/u32-u32-sprintf: Likewise.
26444         * modules/unistdio/u32-u32-vasnprintf: Likewise.
26445         * modules/unistdio/u32-u32-vasprintf: Likewise.
26446         * modules/unistdio/u32-u32-vsnprintf: Likewise.
26447         * modules/unistdio/u32-u32-vsprintf: Likewise.
26448         * modules/unistdio/u32-vasnprintf: Likewise.
26449         * modules/unistdio/u32-vasprintf: Likewise.
26450         * modules/unistdio/u32-vsnprintf: Likewise.
26451         * modules/unistdio/u32-vsprintf: Likewise.
26452         * modules/unistdio/ulc-asnprintf: Likewise.
26453         * modules/unistdio/ulc-asprintf: Likewise.
26454         * modules/unistdio/ulc-fprintf: Likewise.
26455         * modules/unistdio/ulc-snprintf: Likewise.
26456         * modules/unistdio/ulc-sprintf: Likewise.
26457         * modules/unistdio/ulc-vasnprintf: Likewise.
26458         * modules/unistdio/ulc-vasprintf: Likewise.
26459         * modules/unistdio/ulc-vfprintf: Likewise.
26460         * modules/unistdio/ulc-vsnprintf: Likewise.
26461         * modules/unistdio/ulc-vsprintf: Likewise.
26462         * modules/unistr/u8-check: Likewise.
26463         * modules/unistr/u8-chr: Likewise.
26464         * modules/unistr/u8-cmp: Likewise.
26465         * modules/unistr/u8-cmp2: Likewise.
26466         * modules/unistr/u8-cpy: Likewise.
26467         * modules/unistr/u8-cpy-alloc: Likewise.
26468         * modules/unistr/u8-endswith: Likewise.
26469         * modules/unistr/u8-mblen: Likewise.
26470         * modules/unistr/u8-mbsnlen: Likewise.
26471         * modules/unistr/u8-mbtouc: Likewise.
26472         * modules/unistr/u8-mbtouc-unsafe: Likewise.
26473         * modules/unistr/u8-mbtoucr: Likewise.
26474         * modules/unistr/u8-move: Likewise.
26475         * modules/unistr/u8-next: Likewise.
26476         * modules/unistr/u8-prev: Likewise.
26477         * modules/unistr/u8-set: Likewise.
26478         * modules/unistr/u8-startswith: Likewise.
26479         * modules/unistr/u8-stpcpy: Likewise.
26480         * modules/unistr/u8-stpncpy: Likewise.
26481         * modules/unistr/u8-strcat: Likewise.
26482         * modules/unistr/u8-strchr: Likewise.
26483         * modules/unistr/u8-strcmp: Likewise.
26484         * modules/unistr/u8-strcoll: Likewise.
26485         * modules/unistr/u8-strcpy: Likewise.
26486         * modules/unistr/u8-strcspn: Likewise.
26487         * modules/unistr/u8-strdup: Likewise.
26488         * modules/unistr/u8-strlen: Likewise.
26489         * modules/unistr/u8-strmblen: Likewise.
26490         * modules/unistr/u8-strmbtouc: Likewise.
26491         * modules/unistr/u8-strncat: Likewise.
26492         * modules/unistr/u8-strncmp: Likewise.
26493         * modules/unistr/u8-strncpy: Likewise.
26494         * modules/unistr/u8-strnlen: Likewise.
26495         * modules/unistr/u8-strpbrk: Likewise.
26496         * modules/unistr/u8-strrchr: Likewise.
26497         * modules/unistr/u8-strspn: Likewise.
26498         * modules/unistr/u8-strstr: Likewise.
26499         * modules/unistr/u8-strtok: Likewise.
26500         * modules/unistr/u8-to-u16: Likewise.
26501         * modules/unistr/u8-to-u32: Likewise.
26502         * modules/unistr/u8-uctomb: Likewise.
26503         * modules/unistr/u16-check: Likewise.
26504         * modules/unistr/u16-chr: Likewise.
26505         * modules/unistr/u16-cmp: Likewise.
26506         * modules/unistr/u16-cmp2: Likewise.
26507         * modules/unistr/u16-cpy: Likewise.
26508         * modules/unistr/u16-cpy-alloc: Likewise.
26509         * modules/unistr/u16-endswith: Likewise.
26510         * modules/unistr/u16-mblen: Likewise.
26511         * modules/unistr/u16-mbsnlen: Likewise.
26512         * modules/unistr/u16-mbtouc: Likewise.
26513         * modules/unistr/u16-mbtouc-unsafe: Likewise.
26514         * modules/unistr/u16-mbtoucr: Likewise.
26515         * modules/unistr/u16-move: Likewise.
26516         * modules/unistr/u16-next: Likewise.
26517         * modules/unistr/u16-prev: Likewise.
26518         * modules/unistr/u16-set: Likewise.
26519         * modules/unistr/u16-startswith: Likewise.
26520         * modules/unistr/u16-stpcpy: Likewise.
26521         * modules/unistr/u16-stpncpy: Likewise.
26522         * modules/unistr/u16-strcat: Likewise.
26523         * modules/unistr/u16-strchr: Likewise.
26524         * modules/unistr/u16-strcmp: Likewise.
26525         * modules/unistr/u16-strcoll: Likewise.
26526         * modules/unistr/u16-strcpy: Likewise.
26527         * modules/unistr/u16-strcspn: Likewise.
26528         * modules/unistr/u16-strdup: Likewise.
26529         * modules/unistr/u16-strlen: Likewise.
26530         * modules/unistr/u16-strmblen: Likewise.
26531         * modules/unistr/u16-strmbtouc: Likewise.
26532         * modules/unistr/u16-strncat: Likewise.
26533         * modules/unistr/u16-strncmp: Likewise.
26534         * modules/unistr/u16-strncpy: Likewise.
26535         * modules/unistr/u16-strnlen: Likewise.
26536         * modules/unistr/u16-strpbrk: Likewise.
26537         * modules/unistr/u16-strrchr: Likewise.
26538         * modules/unistr/u16-strspn: Likewise.
26539         * modules/unistr/u16-strstr: Likewise.
26540         * modules/unistr/u16-strtok: Likewise.
26541         * modules/unistr/u16-to-u32: Likewise.
26542         * modules/unistr/u16-to-u8: Likewise.
26543         * modules/unistr/u16-uctomb: Likewise.
26544         * modules/unistr/u32-check: Likewise.
26545         * modules/unistr/u32-chr: Likewise.
26546         * modules/unistr/u32-cmp: Likewise.
26547         * modules/unistr/u32-cmp2: Likewise.
26548         * modules/unistr/u32-cpy: Likewise.
26549         * modules/unistr/u32-cpy-alloc: Likewise.
26550         * modules/unistr/u32-endswith: Likewise.
26551         * modules/unistr/u32-mblen: Likewise.
26552         * modules/unistr/u32-mbsnlen: Likewise.
26553         * modules/unistr/u32-mbtouc: Likewise.
26554         * modules/unistr/u32-mbtouc-unsafe: Likewise.
26555         * modules/unistr/u32-mbtoucr: Likewise.
26556         * modules/unistr/u32-move: Likewise.
26557         * modules/unistr/u32-next: Likewise.
26558         * modules/unistr/u32-prev: Likewise.
26559         * modules/unistr/u32-set: Likewise.
26560         * modules/unistr/u32-startswith: Likewise.
26561         * modules/unistr/u32-stpcpy: Likewise.
26562         * modules/unistr/u32-stpncpy: Likewise.
26563         * modules/unistr/u32-strcat: Likewise.
26564         * modules/unistr/u32-strchr: Likewise.
26565         * modules/unistr/u32-strcmp: Likewise.
26566         * modules/unistr/u32-strcoll: Likewise.
26567         * modules/unistr/u32-strcpy: Likewise.
26568         * modules/unistr/u32-strcspn: Likewise.
26569         * modules/unistr/u32-strdup: Likewise.
26570         * modules/unistr/u32-strlen: Likewise.
26571         * modules/unistr/u32-strmblen: Likewise.
26572         * modules/unistr/u32-strmbtouc: Likewise.
26573         * modules/unistr/u32-strncat: Likewise.
26574         * modules/unistr/u32-strncmp: Likewise.
26575         * modules/unistr/u32-strncpy: Likewise.
26576         * modules/unistr/u32-strnlen: Likewise.
26577         * modules/unistr/u32-strpbrk: Likewise.
26578         * modules/unistr/u32-strrchr: Likewise.
26579         * modules/unistr/u32-strspn: Likewise.
26580         * modules/unistr/u32-strstr: Likewise.
26581         * modules/unistr/u32-strtok: Likewise.
26582         * modules/unistr/u32-to-u16: Likewise.
26583         * modules/unistr/u32-to-u8: Likewise.
26584         * modules/unistr/u32-uctomb: Likewise.
26585         * modules/uniwbrk/u8-wordbreaks: Likewise.
26586         * modules/uniwbrk/u16-wordbreaks: Likewise.
26587         * modules/uniwbrk/u32-wordbreaks: Likewise.
26588         * modules/uniwbrk/ulc-wordbreaks: Likewise.
26589         * modules/uniwbrk/wordbreak-property: Likewise.
26590         * modules/uniwidth/u8-strwidth: Likewise.
26591         * modules/uniwidth/u8-width: Likewise.
26592         * modules/uniwidth/u16-strwidth: Likewise.
26593         * modules/uniwidth/u16-width: Likewise.
26594         * modules/uniwidth/u32-strwidth: Likewise.
26595         * modules/uniwidth/u32-width: Likewise.
26596         * modules/uniwidth/width: Likewise.
26597         * modules/unicase/cased-tests (Makefile.am): Link all test programs
26598         with $(LIBUNISTRING).
26599         * modules/unicase/ignorable-tests: Likewise.
26600         * modules/unicase/locale-language-tests: Likewise.
26601         * modules/unicase/tolower-tests: Likewise.
26602         * modules/unicase/totitle-tests: Likewise.
26603         * modules/unicase/toupper-tests: Likewise.
26604         * modules/unicase/u8-casecmp-tests: Likewise.
26605         * modules/unicase/u8-casecoll-tests: Likewise.
26606         * modules/unicase/u8-casefold-tests: Likewise.
26607         * modules/unicase/u8-is-cased-tests: Likewise.
26608         * modules/unicase/u8-is-casefolded-tests: Likewise.
26609         * modules/unicase/u8-is-lowercase-tests: Likewise.
26610         * modules/unicase/u8-is-titlecase-tests: Likewise.
26611         * modules/unicase/u8-is-uppercase-tests: Likewise.
26612         * modules/unicase/u8-tolower-tests: Likewise.
26613         * modules/unicase/u8-totitle-tests: Likewise.
26614         * modules/unicase/u8-toupper-tests: Likewise.
26615         * modules/unicase/u16-casecmp-tests: Likewise.
26616         * modules/unicase/u16-casecoll-tests: Likewise.
26617         * modules/unicase/u16-casefold-tests: Likewise.
26618         * modules/unicase/u16-is-cased-tests: Likewise.
26619         * modules/unicase/u16-is-casefolded-tests: Likewise.
26620         * modules/unicase/u16-is-lowercase-tests: Likewise.
26621         * modules/unicase/u16-is-titlecase-tests: Likewise.
26622         * modules/unicase/u16-is-uppercase-tests: Likewise.
26623         * modules/unicase/u16-tolower-tests: Likewise.
26624         * modules/unicase/u16-totitle-tests: Likewise.
26625         * modules/unicase/u16-toupper-tests: Likewise.
26626         * modules/unicase/u32-casecmp-tests: Likewise.
26627         * modules/unicase/u32-casecoll-tests: Likewise.
26628         * modules/unicase/u32-casefold-tests: Likewise.
26629         * modules/unicase/u32-is-cased-tests: Likewise.
26630         * modules/unicase/u32-is-casefolded-tests: Likewise.
26631         * modules/unicase/u32-is-lowercase-tests: Likewise.
26632         * modules/unicase/u32-is-titlecase-tests: Likewise.
26633         * modules/unicase/u32-is-uppercase-tests: Likewise.
26634         * modules/unicase/u32-tolower-tests: Likewise.
26635         * modules/unicase/u32-totitle-tests: Likewise.
26636         * modules/unicase/u32-toupper-tests: Likewise.
26637         * modules/unicase/ulc-casecmp-tests: Likewise.
26638         * modules/unicase/ulc-casecoll-tests: Likewise.
26639         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
26640         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
26641         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
26642         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
26643         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
26644         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
26645         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
26646         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
26647         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
26648         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
26649         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
26650         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
26651         * modules/unictype/bidicategory-byname-tests: Likewise.
26652         * modules/unictype/bidicategory-name-tests: Likewise.
26653         * modules/unictype/bidicategory-of-tests: Likewise.
26654         * modules/unictype/bidicategory-test-tests: Likewise.
26655         * modules/unictype/block-list-tests: Likewise.
26656         * modules/unictype/block-of-tests: Likewise.
26657         * modules/unictype/block-test-tests: Likewise.
26658         * modules/unictype/category-C-tests: Likewise.
26659         * modules/unictype/category-Cc-tests: Likewise.
26660         * modules/unictype/category-Cf-tests: Likewise.
26661         * modules/unictype/category-Cn-tests: Likewise.
26662         * modules/unictype/category-Co-tests: Likewise.
26663         * modules/unictype/category-Cs-tests: Likewise.
26664         * modules/unictype/category-L-tests: Likewise.
26665         * modules/unictype/category-Ll-tests: Likewise.
26666         * modules/unictype/category-Lm-tests: Likewise.
26667         * modules/unictype/category-Lo-tests: Likewise.
26668         * modules/unictype/category-Lt-tests: Likewise.
26669         * modules/unictype/category-Lu-tests: Likewise.
26670         * modules/unictype/category-M-tests: Likewise.
26671         * modules/unictype/category-Mc-tests: Likewise.
26672         * modules/unictype/category-Me-tests: Likewise.
26673         * modules/unictype/category-Mn-tests: Likewise.
26674         * modules/unictype/category-N-tests: Likewise.
26675         * modules/unictype/category-Nd-tests: Likewise.
26676         * modules/unictype/category-Nl-tests: Likewise.
26677         * modules/unictype/category-No-tests: Likewise.
26678         * modules/unictype/category-P-tests: Likewise.
26679         * modules/unictype/category-Pc-tests: Likewise.
26680         * modules/unictype/category-Pd-tests: Likewise.
26681         * modules/unictype/category-Pe-tests: Likewise.
26682         * modules/unictype/category-Pf-tests: Likewise.
26683         * modules/unictype/category-Pi-tests: Likewise.
26684         * modules/unictype/category-Po-tests: Likewise.
26685         * modules/unictype/category-Ps-tests: Likewise.
26686         * modules/unictype/category-S-tests: Likewise.
26687         * modules/unictype/category-Sc-tests: Likewise.
26688         * modules/unictype/category-Sk-tests: Likewise.
26689         * modules/unictype/category-Sm-tests: Likewise.
26690         * modules/unictype/category-So-tests: Likewise.
26691         * modules/unictype/category-Z-tests: Likewise.
26692         * modules/unictype/category-Zl-tests: Likewise.
26693         * modules/unictype/category-Zp-tests: Likewise.
26694         * modules/unictype/category-Zs-tests: Likewise.
26695         * modules/unictype/category-and-not-tests: Likewise.
26696         * modules/unictype/category-and-tests: Likewise.
26697         * modules/unictype/category-byname-tests: Likewise.
26698         * modules/unictype/category-name-tests: Likewise.
26699         * modules/unictype/category-none-tests: Likewise.
26700         * modules/unictype/category-of-tests: Likewise.
26701         * modules/unictype/category-or-tests: Likewise.
26702         * modules/unictype/category-test-withtable-tests: Likewise.
26703         * modules/unictype/combining-class-tests: Likewise.
26704         * modules/unictype/ctype-alnum-tests: Likewise.
26705         * modules/unictype/ctype-alpha-tests: Likewise.
26706         * modules/unictype/ctype-blank-tests: Likewise.
26707         * modules/unictype/ctype-cntrl-tests: Likewise.
26708         * modules/unictype/ctype-digit-tests: Likewise.
26709         * modules/unictype/ctype-graph-tests: Likewise.
26710         * modules/unictype/ctype-lower-tests: Likewise.
26711         * modules/unictype/ctype-print-tests: Likewise.
26712         * modules/unictype/ctype-punct-tests: Likewise.
26713         * modules/unictype/ctype-space-tests: Likewise.
26714         * modules/unictype/ctype-upper-tests: Likewise.
26715         * modules/unictype/ctype-xdigit-tests: Likewise.
26716         * modules/unictype/decimal-digit-tests: Likewise.
26717         * modules/unictype/digit-tests: Likewise.
26718         * modules/unictype/mirror-tests: Likewise.
26719         * modules/unictype/numeric-tests: Likewise.
26720         * modules/unictype/property-alphabetic-tests: Likewise.
26721         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
26722         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
26723         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
26724         * modules/unictype/property-bidi-block-separator-tests: Likewise.
26725         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
26726         * modules/unictype/property-bidi-common-separator-tests: Likewise.
26727         * modules/unictype/property-bidi-control-tests: Likewise.
26728         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
26729         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
26730         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
26731         * modules/unictype/property-bidi-european-digit-tests: Likewise.
26732         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
26733         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
26734         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
26735         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
26736         * modules/unictype/property-bidi-pdf-tests: Likewise.
26737         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
26738         * modules/unictype/property-bidi-whitespace-tests: Likewise.
26739         * modules/unictype/property-byname-tests: Likewise.
26740         * modules/unictype/property-combining-tests: Likewise.
26741         * modules/unictype/property-composite-tests: Likewise.
26742         * modules/unictype/property-currency-symbol-tests: Likewise.
26743         * modules/unictype/property-dash-tests: Likewise.
26744         * modules/unictype/property-decimal-digit-tests: Likewise.
26745         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
26746         * modules/unictype/property-deprecated-tests: Likewise.
26747         * modules/unictype/property-diacritic-tests: Likewise.
26748         * modules/unictype/property-extender-tests: Likewise.
26749         * modules/unictype/property-format-control-tests: Likewise.
26750         * modules/unictype/property-grapheme-base-tests: Likewise.
26751         * modules/unictype/property-grapheme-extend-tests: Likewise.
26752         * modules/unictype/property-grapheme-link-tests: Likewise.
26753         * modules/unictype/property-hex-digit-tests: Likewise.
26754         * modules/unictype/property-hyphen-tests: Likewise.
26755         * modules/unictype/property-id-continue-tests: Likewise.
26756         * modules/unictype/property-id-start-tests: Likewise.
26757         * modules/unictype/property-ideographic-tests: Likewise.
26758         * modules/unictype/property-ids-binary-operator-tests: Likewise.
26759         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
26760         * modules/unictype/property-ignorable-control-tests: Likewise.
26761         * modules/unictype/property-iso-control-tests: Likewise.
26762         * modules/unictype/property-join-control-tests: Likewise.
26763         * modules/unictype/property-left-of-pair-tests: Likewise.
26764         * modules/unictype/property-line-separator-tests: Likewise.
26765         * modules/unictype/property-logical-order-exception-tests: Likewise.
26766         * modules/unictype/property-lowercase-tests: Likewise.
26767         * modules/unictype/property-math-tests: Likewise.
26768         * modules/unictype/property-non-break-tests: Likewise.
26769         * modules/unictype/property-not-a-character-tests: Likewise.
26770         * modules/unictype/property-numeric-tests: Likewise.
26771         * modules/unictype/property-other-alphabetic-tests: Likewise.
26772         * modules/unictype/property-other-default-ignorable-code-point-tests:
26773         Likewise.
26774         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
26775         * modules/unictype/property-other-id-continue-tests: Likewise.
26776         * modules/unictype/property-other-id-start-tests: Likewise.
26777         * modules/unictype/property-other-lowercase-tests: Likewise.
26778         * modules/unictype/property-other-math-tests: Likewise.
26779         * modules/unictype/property-other-uppercase-tests: Likewise.
26780         * modules/unictype/property-paired-punctuation-tests: Likewise.
26781         * modules/unictype/property-paragraph-separator-tests: Likewise.
26782         * modules/unictype/property-pattern-syntax-tests: Likewise.
26783         * modules/unictype/property-pattern-white-space-tests: Likewise.
26784         * modules/unictype/property-private-use-tests: Likewise.
26785         * modules/unictype/property-punctuation-tests: Likewise.
26786         * modules/unictype/property-quotation-mark-tests: Likewise.
26787         * modules/unictype/property-radical-tests: Likewise.
26788         * modules/unictype/property-sentence-terminal-tests: Likewise.
26789         * modules/unictype/property-soft-dotted-tests: Likewise.
26790         * modules/unictype/property-space-tests: Likewise.
26791         * modules/unictype/property-terminal-punctuation-tests: Likewise.
26792         * modules/unictype/property-test-tests: Likewise.
26793         * modules/unictype/property-titlecase-tests: Likewise.
26794         * modules/unictype/property-unassigned-code-value-tests: Likewise.
26795         * modules/unictype/property-unified-ideograph-tests: Likewise.
26796         * modules/unictype/property-uppercase-tests: Likewise.
26797         * modules/unictype/property-variation-selector-tests: Likewise.
26798         * modules/unictype/property-white-space-tests: Likewise.
26799         * modules/unictype/property-xid-continue-tests: Likewise.
26800         * modules/unictype/property-xid-start-tests: Likewise.
26801         * modules/unictype/property-zero-width-tests: Likewise.
26802         * modules/unictype/scripts-tests: Likewise.
26803         * modules/unictype/syntax-c-ident-tests: Likewise.
26804         * modules/unictype/syntax-c-whitespace-tests: Likewise.
26805         * modules/unictype/syntax-java-ident-tests: Likewise.
26806         * modules/unictype/syntax-java-whitespace-tests: Likewise.
26807         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
26808         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
26809         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
26810         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
26811         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
26812         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
26813         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
26814         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
26815         * modules/uniname/uniname-tests: Likewise.
26816         * modules/uninorm/canonical-decomposition-tests: Likewise.
26817         * modules/uninorm/compat-decomposition-tests: Likewise.
26818         * modules/uninorm/composition-tests: Likewise.
26819         * modules/uninorm/decomposing-form-tests: Likewise.
26820         * modules/uninorm/decomposition-tests: Likewise.
26821         * modules/uninorm/filter-tests: Likewise.
26822         * modules/uninorm/nfc-tests: Likewise.
26823         * modules/uninorm/nfd-tests: Likewise.
26824         * modules/uninorm/nfkc-tests: Likewise.
26825         * modules/uninorm/nfkd-tests: Likewise.
26826         * modules/uninorm/u8-normcmp-tests: Likewise.
26827         * modules/uninorm/u8-normcoll-tests: Likewise.
26828         * modules/uninorm/u16-normcmp-tests: Likewise.
26829         * modules/uninorm/u16-normcoll-tests: Likewise.
26830         * modules/uninorm/u32-normcmp-tests: Likewise.
26831         * modules/uninorm/u32-normcoll-tests: Likewise.
26832         * modules/unistdio/u8-asnprintf-tests: Likewise.
26833         * modules/unistdio/u8-vasnprintf-tests: Likewise.
26834         * modules/unistdio/u8-vasprintf-tests: Likewise.
26835         * modules/unistdio/u8-vsnprintf-tests: Likewise.
26836         * modules/unistdio/u8-vsprintf-tests: Likewise.
26837         * modules/unistdio/u16-asnprintf-tests: Likewise.
26838         * modules/unistdio/u16-vasnprintf-tests: Likewise.
26839         * modules/unistdio/u16-vasprintf-tests: Likewise.
26840         * modules/unistdio/u16-vsnprintf-tests: Likewise.
26841         * modules/unistdio/u16-vsprintf-tests: Likewise.
26842         * modules/unistdio/u32-asnprintf-tests: Likewise.
26843         * modules/unistdio/u32-vasnprintf-tests: Likewise.
26844         * modules/unistdio/u32-vasprintf-tests: Likewise.
26845         * modules/unistdio/u32-vsnprintf-tests: Likewise.
26846         * modules/unistdio/u32-vsprintf-tests: Likewise.
26847         * modules/unistdio/ulc-asnprintf-tests: Likewise.
26848         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
26849         * modules/unistdio/ulc-vasprintf-tests: Likewise.
26850         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
26851         * modules/unistdio/ulc-vsprintf-tests: Likewise.
26852         * modules/unistr/u8-check-tests: Likewise.
26853         * modules/unistr/u8-chr-tests: Likewise.
26854         * modules/unistr/u8-cmp-tests: Likewise.
26855         * modules/unistr/u8-cmp2-tests: Likewise.
26856         * modules/unistr/u8-cpy-alloc-tests: Likewise.
26857         * modules/unistr/u8-cpy-tests: Likewise.
26858         * modules/unistr/u8-mblen-tests: Likewise.
26859         * modules/unistr/u8-mbsnlen-tests: Likewise.
26860         * modules/unistr/u8-mbtouc-tests: Likewise.
26861         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
26862         * modules/unistr/u8-mbtoucr-tests: Likewise.
26863         * modules/unistr/u8-move-tests: Likewise.
26864         * modules/unistr/u8-next-tests: Likewise.
26865         * modules/unistr/u8-prev-tests: Likewise.
26866         * modules/unistr/u8-set-tests: Likewise.
26867         * modules/unistr/u8-stpcpy-tests: Likewise.
26868         * modules/unistr/u8-stpncpy-tests: Likewise.
26869         * modules/unistr/u8-strcat-tests: Likewise.
26870         * modules/unistr/u8-strcmp-tests: Likewise.
26871         * modules/unistr/u8-strcoll-tests: Likewise.
26872         * modules/unistr/u8-strcpy-tests: Likewise.
26873         * modules/unistr/u8-strdup-tests: Likewise.
26874         * modules/unistr/u8-strlen-tests: Likewise.
26875         * modules/unistr/u8-strmblen-tests: Likewise.
26876         * modules/unistr/u8-strmbtouc-tests: Likewise.
26877         * modules/unistr/u8-strncat-tests: Likewise.
26878         * modules/unistr/u8-strncmp-tests: Likewise.
26879         * modules/unistr/u8-strncpy-tests: Likewise.
26880         * modules/unistr/u8-strnlen-tests: Likewise.
26881         * modules/unistr/u8-to-u16-tests: Likewise.
26882         * modules/unistr/u8-to-u32-tests: Likewise.
26883         * modules/unistr/u8-uctomb-tests: Likewise.
26884         * modules/unistr/u16-check-tests: Likewise.
26885         * modules/unistr/u16-chr-tests: Likewise.
26886         * modules/unistr/u16-cmp-tests: Likewise.
26887         * modules/unistr/u16-cmp2-tests: Likewise.
26888         * modules/unistr/u16-cpy-alloc-tests: Likewise.
26889         * modules/unistr/u16-cpy-tests: Likewise.
26890         * modules/unistr/u16-mblen-tests: Likewise.
26891         * modules/unistr/u16-mbsnlen-tests: Likewise.
26892         * modules/unistr/u16-mbtouc-tests: Likewise.
26893         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
26894         * modules/unistr/u16-mbtoucr-tests: Likewise.
26895         * modules/unistr/u16-move-tests: Likewise.
26896         * modules/unistr/u16-next-tests: Likewise.
26897         * modules/unistr/u16-prev-tests: Likewise.
26898         * modules/unistr/u16-set-tests: Likewise.
26899         * modules/unistr/u16-stpcpy-tests: Likewise.
26900         * modules/unistr/u16-stpncpy-tests: Likewise.
26901         * modules/unistr/u16-strcat-tests: Likewise.
26902         * modules/unistr/u16-strcmp-tests: Likewise.
26903         * modules/unistr/u16-strcoll-tests: Likewise.
26904         * modules/unistr/u16-strcpy-tests: Likewise.
26905         * modules/unistr/u16-strdup-tests: Likewise.
26906         * modules/unistr/u16-strlen-tests: Likewise.
26907         * modules/unistr/u16-strmblen-tests: Likewise.
26908         * modules/unistr/u16-strmbtouc-tests: Likewise.
26909         * modules/unistr/u16-strncat-tests: Likewise.
26910         * modules/unistr/u16-strncmp-tests: Likewise.
26911         * modules/unistr/u16-strncpy-tests: Likewise.
26912         * modules/unistr/u16-strnlen-tests: Likewise.
26913         * modules/unistr/u16-to-u32-tests: Likewise.
26914         * modules/unistr/u16-to-u8-tests: Likewise.
26915         * modules/unistr/u16-uctomb-tests: Likewise.
26916         * modules/unistr/u32-check-tests: Likewise.
26917         * modules/unistr/u32-chr-tests: Likewise.
26918         * modules/unistr/u32-cmp-tests: Likewise.
26919         * modules/unistr/u32-cmp2-tests: Likewise.
26920         * modules/unistr/u32-cpy-alloc-tests: Likewise.
26921         * modules/unistr/u32-cpy-tests: Likewise.
26922         * modules/unistr/u32-mblen-tests: Likewise.
26923         * modules/unistr/u32-mbsnlen-tests: Likewise.
26924         * modules/unistr/u32-mbtouc-tests: Likewise.
26925         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
26926         * modules/unistr/u32-mbtoucr-tests: Likewise.
26927         * modules/unistr/u32-move-tests: Likewise.
26928         * modules/unistr/u32-next-tests: Likewise.
26929         * modules/unistr/u32-prev-tests: Likewise.
26930         * modules/unistr/u32-set-tests: Likewise.
26931         * modules/unistr/u32-stpcpy-tests: Likewise.
26932         * modules/unistr/u32-stpncpy-tests: Likewise.
26933         * modules/unistr/u32-strcat-tests: Likewise.
26934         * modules/unistr/u32-strcmp-tests: Likewise.
26935         * modules/unistr/u32-strcoll-tests: Likewise.
26936         * modules/unistr/u32-strcpy-tests: Likewise.
26937         * modules/unistr/u32-strdup-tests: Likewise.
26938         * modules/unistr/u32-strlen-tests: Likewise.
26939         * modules/unistr/u32-strmblen-tests: Likewise.
26940         * modules/unistr/u32-strmbtouc-tests: Likewise.
26941         * modules/unistr/u32-strncat-tests: Likewise.
26942         * modules/unistr/u32-strncmp-tests: Likewise.
26943         * modules/unistr/u32-strncpy-tests: Likewise.
26944         * modules/unistr/u32-strnlen-tests: Likewise.
26945         * modules/unistr/u32-to-u16-tests: Likewise.
26946         * modules/unistr/u32-to-u8-tests: Likewise.
26947         * modules/unistr/u32-uctomb-tests: Likewise.
26948         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
26949         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
26950         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
26951         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
26952         * modules/uniwidth/u8-strwidth-tests: Likewise.
26953         * modules/uniwidth/u8-width-tests: Likewise.
26954         * modules/uniwidth/u16-strwidth-tests: Likewise.
26955         * modules/uniwidth/u16-width-tests: Likewise.
26956         * modules/uniwidth/u32-strwidth-tests: Likewise.
26957         * modules/uniwidth/u32-width-tests: Likewise.
26958         * modules/uniwidth/width-tests: Likewise.
26959
26960 2010-05-18  Richard Jones  <rjones@redhat.com>
26961
26962         doc: users.txt: list hivex
26963         * users.txt: Add hivex.
26964
26965 2010-05-18  Richard Jones  <rjones@redhat.com>
26966
26967         doc: users.txt: list febootstrap
26968         * users.txt: Add febootstrap.
26969
26970 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
26971
26972         bootstrap: fix an error when gnulib is not used as a git submodule
26973         * build-aux/bootstrap (gnulib_path): If its length is zero then
26974         assign "gnulib" to it.
26975         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
26976
26977 2010-05-16  Bruno Haible  <bruno@clisp.org>
26978
26979         Avoid autoconf warnings about AM_ICONV.
26980         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
26981         2.64.
26982
26983 2010-05-16  Bruno Haible  <bruno@clisp.org>
26984
26985         absolute-header: Make the macro usable in more situations.
26986         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
26987         from gl_ABSOLUTE_HEADER.
26988         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
26989
26990 2010-05-16  James Youngman  <jay@gnu.org>
26991
26992         doc: update users.txt
26993         * users.txt: Add CSSC.
26994
26995 2010-05-16  Jim Meyering  <meyering@redhat.com>
26996
26997         init.sh: fix an error in the previous change; add more comments
26998         * tests/init.sh: Compare exit code in loop against 9, not 2.
26999         Patch by Bruno Haible.
27000         Make the two tests more similar by adding an empty "then" clause.
27001         Add comments.
27002
27003         init.sh: avoid unnecessary shell re-exec
27004         * tests/init.sh: Improve the re-exec-required check to first test the
27005         current shell.  If it passes the test, do not search for a shell that
27006         does pass, and do not re-exec.  This test is particularly contorted to
27007         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27008         of $(...) evokes a syntax error and causes immediate shell exit with
27009         status 2.  Bruno Haible reported that the re-exec made it impossible
27010         to single-step through any init.sh-using script.
27011
27012 2010-05-16  Bruno Haible  <bruno@clisp.org>
27013
27014         Fix collision between gnulib's and libintl's printf replacements.
27015         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27016         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27017         (printf): When using GNU C, map the __printf__ function to rpl_printf
27018         via __asm__. When not using GNU C, define rpl_printf instead of
27019         __printf__.
27020         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27021         commit.
27022         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27023         commit.
27024         * m4/asm-underscore.m4: New file.
27025         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27026         * modules/stdio (Files): Add m4/asm-underscore.m4.
27027         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27028         Reported by Ben Pfaff.
27029
27030 2010-05-16  Bruno Haible  <bruno@clisp.org>
27031
27032         verify: Avoid skipping the test on openSUSE 11.0.
27033         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27034
27035 2010-05-13  Bruno Haible  <bruno@clisp.org>
27036
27037         Avoid useless warnings from G++.
27038         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27039         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27040         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27041
27042 2010-05-11  Jim Meyering  <meyering@redhat.com>
27043
27044         maint.mk: tweak preceding change
27045         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27046         regexps tighter by anchoring at EOL, and make the new group "shy"
27047         for slightly decreased overhead.
27048
27049 2010-05-11  Eric Blake  <eblake@redhat.com>
27050
27051         maint.mk: gnulib doesn't guarantee NSIG
27052         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27053
27054 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27055
27056         test-pwrite.c: Remove unused variable declaration.
27057         * tests/test-pwrite.c (main): Remove read_buf declaration.
27058
27059         Remove useless test-pwrite.sh file.
27060         * tests/test-pwrite.sh: Delete file.
27061         * modules/pwrite-tests: Remove references.
27062         Reported by Bruno Haible.
27063
27064 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27065
27066         init.sh: fix a typo
27067         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27068
27069 2010-05-10  Jim Meyering  <meyering@redhat.com>
27070
27071         maint.mk: avoid using a temporary file in the always-defined-macros check
27072         * top/maint.mk (.re-defmac): Remove rule.
27073         (gl_trap_): Remove definition.
27074         (sc_prohibit_always-defined_macros): Rewrite not to create and
27075         depend on a temporary file.  Instead, depend on GNU grep's ability
27076         to read a list of regular expressions from stdin when given "-f -".
27077
27078 2010-05-09  Bruno Haible  <bruno@clisp.org>
27079
27080         Update to GNU gettext 0.18, part 1.
27081         * m4/gettext.m4: Update to GNU gettext 0.18.
27082         * m4/intl.m4: Likewise.
27083         * m4/po.m4: Likewise.
27084         * modules/gettext (Files): Add m4/fcntl-o.m4.
27085         (configure.ac): Require gettext infrastructure from version 0.18.
27086
27087 2010-05-09  Jim Meyering  <meyering@redhat.com>
27088
27089         init.sh: enable MALLOC_PERTURB_
27090         * tests/init.sh: Enable glibc's malloc-perturbing option.
27091
27092         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27093         With my recent change in init.sh from the two-line form:
27094             -#   : ${srcdir=.}
27095             -#   . "$srcdir/init.sh"; path_prepend_ .
27096             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27097         I noticed that using the one-line form would cause this test
27098         to fail with a false-positive, or to stop working altogether,
27099         depending on whether help-version changed or all the tests did.
27100         * top/maint.mk (_hv_regex): Remove this definition.
27101         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27102         (_hv_regex_strong): Use a stronger regex to check for conformance.
27103         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27104         Give a separate diagnostic for lack of conforming use.
27105
27106         maint.mk: prohibit definition of symbols defined by gnulib
27107         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27108         definition of symbols defined by gnulib.
27109
27110 2010-05-09  Bruno Haible  <bruno@clisp.org>
27111
27112         acl: Avoid test failure on Cygwin-hosted mingw.
27113         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27114
27115 2010-05-09  Bruno Haible  <bruno@clisp.org>
27116
27117         error: Use system's fcntl function.
27118         * lib/error.c (fcntl): Undefine.
27119
27120 2010-05-09  Jim Meyering  <meyering@redhat.com>
27121
27122         verify: adjust formatting to be more consistent
27123         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27124         argument-list '('s, and after one comma.
27125
27126 2010-05-09  Bruno Haible  <bruno@clisp.org>
27127
27128         error: More reliable output on mingw.
27129         * lib/error.c: Include <windows.h>.
27130         (is_open): New function.
27131         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27132         defined.
27133
27134 2010-05-09  Bruno Haible  <bruno@clisp.org>
27135
27136         vasnprintf: Fix syntax errors in libintl build on mingw.
27137         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27138         pad_ourselves and prec_ourselves after use.
27139
27140 2010-05-08  Bruno Haible  <bruno@clisp.org>
27141
27142         * lib/config.charset: Update comments for Cygwin 1.7.
27143         * lib/localcharset.c: Likewise.
27144
27145 2010-05-07  Jim Meyering  <meyering@redhat.com>
27146
27147         init.sh: improve comments
27148         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27149         . "${srcdir=.}/init.sh"; path_prepend_ .
27150         Add a note about path_prepend_ and the alternative of using
27151         TESTS_ENVIRONMENT.
27152
27153 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27154
27155         exclude: Unescape hashed patterns in wildcard mode.
27156         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27157         to the hash list.
27158         * tests/test-exclude8.sh: New test case.
27159         * modules/exclude-tests: Add new test.
27160
27161 2010-05-05  Eric Blake  <eblake@redhat.com>
27162
27163         verify: automate tests
27164         * modules/verify-tests: New module.
27165         * tests/test-verify.sh: New file.
27166         * tests/test-verify.c: Guard each negative test with a unique id.
27167         Also avoid warning about unused left hand of comma expressions.
27168
27169 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27170
27171         Further improvements to verify.h, suggested by Eric Blake.
27172         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27173         the GL_* versions, to avoid collision with OpenGL.
27174         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27175         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27176         than testing merely whether it's defined.
27177
27178         Modify verify.h to pacify gcc -Wredundant_decls.
27179         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27180         These use the prefix "GL_" since they're likely to be useful elsewhere.
27181         We may need to break them out into a different .h file.
27182         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27183         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27184         of verify_function__.
27185
27186 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27187
27188         Tests for module pwrite.
27189         * modules/pwrite-tests: New file.
27190         * tests/test-pwrite.sh: New file.
27191         * tests/test-pwrite.c: New file.
27192
27193         New module pwrite.
27194         * lib/unistd.in.h (pwrite): New declaration.
27195         * lib/pwrite.c: New file, from glibc with modifications.
27196         * m4/pwrite.m4: New file.
27197         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27198         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27199         REPLACE_PWRITE.
27200         * modules/pwrite: New file.
27201         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27202         REPLACE_PWRITE.
27203         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27204         * doc/posix-functions/pwrite.texi: Mention the new module.
27205
27206 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27207
27208         pread: Update documentation.
27209         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27210
27211 2010-05-04  Eric Blake  <eblake@redhat.com>
27212
27213         docs: update cygwin progress
27214         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27215         this bug.
27216         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27217         Added in cygwin 1.7.2.
27218         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27219         Likewise.
27220         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27221         Likewise.
27222         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27223         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27224         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27225         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27226         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27227         Mention nproc module.
27228         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27229         bug in cygwin 1.7.5 addition.
27230         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27231         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27232         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27233         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27234         1.7.5.
27235         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27236         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27237         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27238         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27239         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27240         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27241         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27242         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27243         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27244         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27245         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27246         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27247         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27248         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27249         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27250         Likewise.
27251         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27252         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27253         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27254         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27255         Likewise.
27256         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27257         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27258         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27259         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27260         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27261         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27262         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27263         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27264         Likewise.
27265         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27266         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27267         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27268         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27269         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27270         Likewise.
27271         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27272         Likewise.
27273         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27274         Likewise.
27275         * doc/glibc-functions/xdrrec_endofrecord.texi
27276         (xdrrec_endofrecord): Likewise.
27277         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27278         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27279         Likewise.
27280         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27281         Likewise.
27282
27283 2010-05-04  Jim Meyering  <meyering@redhat.com>
27284
27285         gendocs.sh: make its "-s FILE" option more useful
27286         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27287         $PACKAGE to reflect the probably-different basename of "FILE".
27288
27289 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27290
27291         bootstrap: don't ignore download_po_files failure
27292         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27293         failure.
27294
27295 2010-05-03  Jim Meyering  <meyering@redhat.com>
27296
27297         maint.mk: allow to pass options to gendocs.sh
27298         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27299         (gendocs_options_): New overridable variable.
27300
27301         gnu-web-doc-update: don't ignore configure or build failure
27302         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27303
27304         announce-gen: backslash-escape '@'s in --help output
27305         * build-aux/announce-gen: Fix syntax errors.
27306
27307         maint.mk, announce-gen: allow project-specific announcement mail headers
27308         * top/maint.mk (translation_project_): Define default.
27309         (announcement_Cc_, announcement_mail_headers_): Likewise.
27310         (announcement): Invoke announce-gen with new --mail-headers option.
27311         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27312
27313         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27314         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27315         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27316         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27317         line in the "err2" output file when running "make check" in verbose
27318         mode (i.e., with set -x enabled).
27319
27320 2010-05-03  Bruno Haible  <bruno@clisp.org>
27321
27322         wctob: Fix for weird platforms.
27323         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
27324         argument value.
27325
27326 2010-05-03  Jim Meyering  <meyering@redhat.com>
27327
27328         maint.mk: prohibit unwarranted use of <strings.h>
27329         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
27330         strings.h in a file that does not also use strcasecmp, strncasecmp,
27331         ffs or ffsll.
27332
27333         maint.mk: remove obsolete comments
27334         * top/maint.mk: Remove stale, commented-out rules.
27335
27336 2010-05-02  Bruno Haible  <bruno@clisp.org>
27337
27338         wcwidth: Declare also when it's aliased.
27339         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27340         macro.
27341
27342 2010-05-02  Bruno Haible  <bruno@clisp.org>
27343
27344         Fix regression from 2010-04-25.
27345         * gnulib-tool (func_modules_transitive_closure): Check the status of
27346         all modules, not only of the tests that are of the form foo-tests where
27347         foo is a module.
27348
27349 2010-05-02  Bruno Haible  <bruno@clisp.org>
27350
27351         wctob: Work around nasty Cygwin 1.7.2 bug.
27352         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27353         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
27354
27355 2010-05-01  Bruno Haible  <bruno@clisp.org>
27356
27357         fpurge: Sharper test.
27358         * tests/test-fpurge.c (main): Add one more ftell check.
27359         * modules/fpurge-tests (Depends-on): Add ftell.
27360         Suggested by Eric Blake.
27361
27362 2010-05-01  Bruno Haible  <bruno@clisp.org>
27363
27364         ftello: Another test.
27365         * tests/test-ftello3.c: New file.
27366         * modules/ftello-tests (Files): Add it.
27367         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27368         MOSTLYCLEANFILES.
27369
27370         ftell: Another test.
27371         * tests/test-ftell3.c: New file.
27372         * modules/ftell-tests (Files): Add it.
27373         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27374         MOSTLYCLEANFILES.
27375
27376 2010-05-01  Bruno Haible  <bruno@clisp.org>
27377
27378         ftell, ftello: Work around Solaris bug.
27379         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
27380         * lib/ftello.c: Include stdio-impl.h.
27381         (ftello): On Solaris, when _IOWRT is set, compute the result without
27382         looking at _IOREAD.
27383         * modules/ftello (Files): Add lib/stdio-impl.h.
27384         * doc/posix-functions/ftell.texi: Mention Solaris bug.
27385         * doc/posix-functions/ftello.texi: Likewise.
27386         Reported by Eric Blake.
27387
27388 2010-05-01  Bruno Haible  <bruno@clisp.org>
27389
27390         freading: Adapt to special meaning of _IOREAD flag on Solaris.
27391         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
27392         the _IOWRT flag is also set.
27393
27394 2010-05-01  Bruno Haible  <bruno@clisp.org>
27395
27396         Fix doc about a HP-UX stdio bug.
27397         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
27398         * doc/posix-functions/ftello.texi: Likewise.
27399
27400 2010-05-01  Bruno Haible  <bruno@clisp.org>
27401
27402         lseek test: Fix failure on Solaris.
27403         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
27404         output.
27405
27406 2010-04-30  Jim Meyering  <meyering@redhat.com>
27407
27408         bootstrap: don't ignore failure to generate po*/Makevars
27409         * build-aux/bootstrap (with_gettext): Don't ignore failure
27410         to create po/Makevars or runtime-po/Makevars.
27411
27412 2010-04-29  Eric Blake  <eblake@redhat.com>
27413
27414         headers: relax license to LGPLv2+
27415         * modules/fcntl-h (License): Relax license.
27416         * modules/getopt-posix (License): Likewise.
27417         * modules/locale (License): Likewise.
27418         * modules/math (License): Likewise.
27419         * modules/pty (License): Likewise.
27420         * modules/sched (License): Likewise.
27421         * modules/search (License): Likewise.
27422         * modules/spawn (License): Likewise.
27423         * modules/stdarg (License): Likewise.
27424         * modules/sysexits (License): Likewise.
27425
27426 2010-04-29  Jim Meyering  <meyering@redhat.com>
27427
27428         inttypes: relax license to LGPLv2+
27429         * modules/inttypes (License): Relax license.
27430
27431 2010-04-29  Simon Josefsson  <simon@josefsson.org>
27432
27433         * top/maint.mk (indent): Run twice to produce idempotent results.
27434
27435 2010-04-28  Bruno Haible  <bruno@clisp.org>
27436
27437         getdate: Generate getdate.c in the source directory.
27438         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
27439         MOSTLYCLEANFILES.
27440         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
27441
27442 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
27443
27444         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
27445         is not declared as a const *; avoid warnings in that case.
27446
27447 2010-04-28  Eric Blake  <eblake@redhat.com>
27448
27449         canonicalize-lgpl: avoid compiler warning
27450         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
27451         declaration' / 'extraneous semicolon' warning with some compilers.
27452         Reported by Andreas Gruenbacher.
27453
27454 2010-04-28  Jim Meyering  <meyering@redhat.com>
27455
27456         init.sh: ensure a more reliable exit status when exiting via trap
27457         * tests/init.sh (setup_): Don't rely on $? in signal handler.
27458         Inspired by patches from Dmitry V. Levin.
27459         Also trap on signal 3 (SIGQUIT).
27460
27461 2010-04-27  Bruno Haible  <bruno@clisp.org>
27462
27463         Update doc about utimes().
27464         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
27465         'utimens' module.
27466         Reported by Andreas Gruenbacher <agruen@suse.de>.
27467
27468 2010-04-27  Eric Blake  <eblake@redhat.com>
27469
27470         full-read, full-write: relax license
27471         * modules/full-read (License): Drop to LGPLv2+.
27472         * modules/full-write (License): Likewise.
27473         * modules/safe-read (License): Likewise.
27474         * modules/safe-write (License): Likewise.
27475
27476         pthread: mention library for linking
27477         * modules/pthread (Link): Mention $(LIB_PTHREAD).
27478
27479 2010-04-27  Jim Meyering  <meyering@redhat.com>
27480
27481         maint.mk: fix a bug introduced in last change
27482         * top/maint.mk (gl_assured_headers_): Now that all names are on
27483         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
27484         is not anchored to end of word, it should be adequate.
27485
27486         maint.mk: avoid side-effect in latest syntax-check
27487         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
27488         to run commands via $(shell...), and hence to incur cost only when
27489         the new rule is actually run.
27490
27491         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
27492         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
27493         and use that to create a regexp used to detect all #if HAVE_..._H uses.
27494         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
27495         (gl_assured_headers_, az_, AZ_): Define.
27496         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
27497
27498 2010-04-26  Jim Meyering  <jim@meyering.net>
27499             Bruno Haible  <bruno@clisp.org>
27500
27501         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
27502         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
27503         Prompted by an exchange with Gilles Espinasse.
27504
27505 2010-04-26  Jim Meyering  <meyering@redhat.com>
27506
27507         git-version-gen: aesthetic tweak
27508         * build-aux/git-version-gen: Use "$nl" rather than a literal,
27509         so that the command remains on a single line.
27510
27511 2010-04-26  Eric Blake  <eblake@redhat.com>
27512
27513         git-version-gen: allow use on EBCDIC hosts
27514         * build-aux/git-version-gen (dirty): Use literal rather than tying
27515         ourselves to ascii.
27516         Reported by Steve Goetze.
27517
27518 2010-04-25  Bruno Haible  <bruno@clisp.org>
27519
27520         netdb: Add support for GNULIB_POSIXCHECK.
27521         * lib/netdb.in.h: Include warn-on-use.h.
27522         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
27523         functions are used when GNULIB_POSIXCHECK is defined and the
27524         getaddrinfo module is not in use.
27525         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
27526         freeaddrinfo, gai_strerror, getnameinfo are declared.
27527         * modules/netdb (Depends-on): Add warn-on-use.
27528         (Makefile.am): Include warn-on-use.h in netdb.h.
27529
27530 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
27531
27532         build: avoid "make check" failure without .git/ directory
27533         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
27534         there is no .git/ directory.
27535
27536 2010-04-25  Bruno Haible  <bruno@clisp.org>
27537
27538         ptsname: Fix misuse of ttyname_r.
27539         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
27540         of errno.
27541
27542 2010-04-25  Bruno Haible  <bruno@clisp.org>
27543
27544         ttyname_r: Make it work on Solaris 10.
27545         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
27546         if the system function has the POSIX declaration. Test whether the
27547         function fails if the buffer is less than 128 bytes large.
27548         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
27549         system's ttyname_r function. Provide a reasonably large buffer.
27550         * modules/ttyname_r (Depends-on): Add extensions.
27551         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
27552
27553 2010-04-25  Bruno Haible  <bruno@clisp.org>
27554
27555         Use the 'extensions' module for some more functions on Solaris.
27556         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
27557         module.
27558         * doc/posix-functions/ctime_r.texi: Likewise.
27559         * doc/posix-functions/getgrgid_r.texi: Likewise.
27560         * doc/posix-functions/getgrnam_r.texi: Likewise.
27561         * doc/posix-functions/getpwnam_r.texi: Likewise.
27562         * doc/posix-functions/getpwuid_r.texi: Likewise.
27563         * doc/posix-functions/readdir_r.texi: Likewise.
27564         * doc/posix-functions/sigwait.texi: Likewise.
27565         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
27566         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
27567
27568 2010-04-25  Bruno Haible  <bruno@clisp.org>
27569
27570         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
27571         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
27572         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
27573         * lib/ttyname_r.c: Include <limits.h>.
27574         (ttyname_r): Define using the system's ttyname_r function, if it exists
27575         and not on Solaris.
27576         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
27577         set.
27578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
27579         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
27580         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
27581         Reported by Simon Josefsson.
27582
27583 2010-04-25  Bruno Haible  <bruno@clisp.org>
27584
27585         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
27586         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
27587         * doc/posix-functions/ctime_r.texi: Likewise.
27588         * doc/posix-functions/getgrgid_r.texi: Likewise.
27589         * doc/posix-functions/getgrnam_r.texi: Likewise.
27590         * doc/posix-functions/getlogin_r.texi: Likewise.
27591         * doc/posix-functions/getpwnam_r.texi: Likewise.
27592         * doc/posix-functions/getpwuid_r.texi: Likewise.
27593         * doc/posix-functions/readdir_r.texi: Likewise.
27594         * doc/posix-functions/sigwait.texi: Likewise.
27595         * doc/posix-functions/ttyname_r.texi: Likewise.
27596         Reported by Simon Josefsson.
27597
27598 2010-04-25  Bruno Haible  <bruno@clisp.org>
27599
27600         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
27601         * gnulib-tool (func_usage): Document that --with-*-tests options apply
27602         also to --create-testdir.
27603         (func_acceptable): Don't consider the status of *-tests modules here.
27604         (func_modules_transitive_closure): Consider it here, before including a
27605         test module.
27606         (func_import, func_create_testdir): Set inc_all_direct_tests,
27607         inc_all_indirect_tests.
27608         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
27609         --create-testdir and --create-megatestdir.
27610
27611 2010-04-25  Bruno Haible  <bruno@clisp.org>
27612
27613         gnulib-tool: Add --without-*-tests options.
27614         * gnulib-tool (func_usage): Document the --without-*-tests options.
27615         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
27616         excl_unportable_tests): New variables.
27617         Fail if they are specified with --import or --update.
27618         (func_acceptable): Respect the excl_*_tests variables.
27619         (func_import): Set the excl_*_tests variables to empty.
27620
27621 2010-04-25  Simon Josefsson  <simon@josefsson.org>
27622             Bruno Haible  <bruno@clisp.org>
27623
27624         Work around a MacOS X 10.4 bug with openpty.
27625         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
27626         * tests/test-openpty.c (main): Close the master side explicitly.
27627
27628 2010-04-25  Bruno Haible  <bruno@clisp.org>
27629
27630         strnlen: Fix a C++ test error on MacOS X and Solaris.
27631         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
27632         the function is not declared.
27633         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
27634         Simon Josefsson.
27635
27636 2010-04-24  Bruno Haible  <bruno@clisp.org>
27637
27638         Avoid a gcc warning.
27639         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
27640         of correct type for %08lx directive.
27641         Reported by Eric Blake.
27642
27643 2010-04-24  Bruno Haible  <bruno@clisp.org>
27644
27645         vasnprintf: Correct errno value in case of out-of-memory.
27646         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
27647         or sprintf. Use the errno value from SNPRINTF or sprintf.
27648         Reported by Ian Beckwith <ianb@erislabs.net>.
27649
27650 2010-04-24  Bruno Haible  <bruno@clisp.org>
27651
27652         ansi-c++-opt: Find correct compiler when cross-compiling.
27653         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
27654         AC_CHECK_PROGS.
27655         Reported by Simon Josefsson.
27656
27657 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
27658
27659         vc-list-files: Add support for subversion
27660         * build-aux/vc-list-files: Use "svn list" to generate the list of
27661         files controlled by subversion.
27662
27663 2010-04-23  Jim Meyering  <meyering@redhat.com>
27664
27665         vc-list-files tests: convert to use init.sh
27666         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
27667         path_prepend_.
27668         Use Exit, not exit.
27669         Use skip_ rather than open coding it.
27670         Remove trap set-up and compare definitions.
27671         * tests/test-vc-list-files-git.sh: Likewise.
27672         * modules/vc-list-files-tests (Files): Add tests/init.sh.
27673
27674 2010-04-22  Simon Josefsson  <simon@josefsson.org>
27675
27676         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
27677         backup files.
27678
27679 2010-04-21  Simon Josefsson  <simon@josefsson.org>
27680
27681         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
27682
27683 2010-04-20  Eric Blake  <eblake@redhat.com>
27684
27685         tests: be robust to ignored SIGPIPE
27686         * tests/test-select-in.sh: Consume all output.
27687         * tests/test-lseek.sh: Check correct exit status, while avoiding
27688         EPIPE.
27689
27690 2010-04-20  Simon Josefsson  <simon@josefsson.org>
27691             Bruno Haible  <bruno@clisp.org>
27692
27693         visibility: Don't use -fvisibility if it leads to a warning.
27694         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
27695         yes, don't pretend that visibility works if it leads to a warning.
27696         Reported by Mike Gran <spk121@yahoo.com>.
27697
27698 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
27699
27700         * build-aux/bootstrap: Use "git -h" for testing for supported options
27701         instead of "git --help".  The short-form option only shows a summary,
27702         and doesn't layout the full man page.  Grep for the full option name
27703         in the summary, too.
27704
27705 2010-04-19  Bruno Haible  <bruno@clisp.org>
27706
27707         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
27708         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
27709         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
27710         mention of RELOCATABLE_STRIP.
27711         Reported by Sylvain Beucler <beuc@beuc.net>.
27712
27713 2010-04-19  Bruno Haible  <bruno@clisp.org>
27714
27715         * lib/diffseq.h: Fix typo in comment.
27716         Reported by Eric Blake.
27717
27718 2010-04-19  Bruno Haible  <bruno@clisp.org>
27719
27720         ioctl: Move autoconf macro to a .m4 file.
27721         * m4/ioctl.m4: New file, extracted from modules/ioctl.
27722         * modules/ioctl (Files): Add it.
27723         (configure.ac): Simply invoke gl_FUNC_IOCTL.
27724         Reported by Ian Beckwith <ianb@erislabs.net>.
27725
27726 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
27727             Bruno Haible  <bruno@clisp.org>
27728
27729         diffseq: Accommodate use-case with abstract arrays.
27730         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
27731         is not defined.
27732         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
27733         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
27734
27735 2010-04-18  Bruno Haible  <bruno@clisp.org>
27736
27737         * doc/posix-headers/stdbool.texi: More precise wording.
27738
27739 2010-04-17  Jim Meyering  <meyering@redhat.com>
27740
27741         maint.mk: use gnu-style indentation in an embedded perl script
27742         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
27743         Rename variable: s/two/last_two_bytes/
27744
27745 2010-04-16  Eric Blake  <eblake@redhat.com>
27746
27747         test-stdbool: skip test that fails with Solaris CC
27748         * tests/test-stdbool.c (f): Skip test that causes compilation
27749         error under buggy C++ compiler.
27750         * lib/stdbool.in.h: Document the limitation.
27751         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
27752
27753         setenv: allow compilation with C++
27754         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
27755         register keyword.
27756
27757         stdint: allow test to pass with C++
27758         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
27759
27760         getopt: allow compilation with C++
27761         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
27762         struct.
27763         * lib/getopt.c (_getopt_internal_r): Use correct type.
27764         Reported by Dagobert Michelson, via Joel E. Denny.
27765
27766 2010-04-16  Bruno Haible  <bruno@clisp.org>
27767
27768         Override netdb.h always.
27769         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
27770         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
27771         Reported by Ludovic Courtès <ludo@gnu.org>.
27772
27773 2010-04-15  Bruno Haible  <bruno@clisp.org>
27774
27775         openpty: Fix mistake from 2010-03-21.
27776         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
27777         Reported by Simon Josefsson.
27778
27779 2010-04-15  Eric Blake  <eblake@redhat.com>
27780
27781         test-forkpty: fix expected signature
27782         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
27783         Reported by Simon Josefsson.
27784
27785 2010-04-15  Jim Meyering  <meyering@redhat.com>
27786
27787         maint.mk: texinfo_suffix_re_: correct the default regexp
27788         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
27789
27790         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
27791         make it configurable via texinfo_suffix_re_.
27792
27793 2010-04-14  Eric Blake  <eblake@redhat.com>
27794
27795         strtok_r: relax license to LGPLv2+
27796         * modules/strtok_r (License): Relax license.
27797         Reported by Matthias Bolte.
27798
27799 2010-04-14  Simon Josefsson  <simon@josefsson.org>
27800
27801         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
27802         version 1.4.4 by default instead of requiring the libgcrypt
27803         version used during build.  This makes it possible to use the
27804         application with older but still binary compatible libgcrypt
27805         versions.
27806
27807 2010-04-13  Eric Blake  <eblake@redhat.com>
27808
27809         getopt-gnu: match recent glibc fixes and posix ruling
27810         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
27811         '+' handling, when requesting extensions.
27812         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
27813         'W;' handling.
27814         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
27815         * doc/posix-functions/getopt.texi (getopt): Document this.
27816         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
27817         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27818         Likewise.
27819
27820         getopt: merge bug fixes from glibc
27821         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
27822         diagnostics.  Honor '+:' correctly.  Reject ';'.
27823
27824         getopt-posix: detect MacOS bug
27825         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
27826         optind when missing a required argument.
27827         * doc/posix-functions/getopt.texi (getopt): Document the bug.
27828         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
27829         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27830         Likewise.
27831
27832         getopt-posix: avoid spurious failure on Solaris
27833         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
27834         an indicator that setting optind=1 is sufficient for reset.
27835
27836         getopt-posix: avoid spurious failure on FreeBSD
27837         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
27838         in POSIX mode, since the m4 test uses it.
27839
27840         gnulib-tool: silence warning on BSD sh
27841         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
27842
27843 2010-04-13  Jim Meyering  <meyering@redhat.com>
27844
27845         doc: users.txt: GNU patch now uses gnulib
27846         * users.txt: Add patch.
27847
27848 2010-04-12  Jim Meyering  <meyering@redhat.com>
27849
27850         maint.mk: generate more concise timing data for syntax-check rules
27851         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
27852         " done" from each line that reports a syntax-check test duration.
27853
27854 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
27855
27856         git-version-gen: use "git update-index..." rather than "git status"
27857         * build-aux/git-version-gen: Use git update-index --refresh, not
27858         "git status".  With some versions of git, "git status" would fail
27859         to update the index and result in an unwarranted "-dirty" suffix.
27860
27861 2010-04-11  Jim Meyering  <meyering@redhat.com>
27862
27863         openat: correct formatting (no semantic change)
27864         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
27865         Suggested by Bruno Haible.
27866
27867 2010-04-11  Bruno Haible  <bruno@clisp.org>
27868
27869         Stricter declaration checking in testdirs.
27870         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
27871         If for_tests is true, augment AM_CPPFLAGS to define
27872         GNULIB_STRICT_CHECKING.
27873         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
27874         GNULIB_STRICT_CHECKING is defined, verify that the function is
27875         declared.
27876
27877 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
27878             Bruno Haible  <bruno@clisp.org>
27879
27880         libunistring: Improve configure output.
27881         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
27882         Don't say "consider installing GNU libunistring" when checking again
27883         with libiconv.
27884
27885 2010-04-11  Bruno Haible  <bruno@clisp.org>
27886
27887         libunistring: Correct value of $LTLIBUNISTRING.
27888         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
27889         correct the value of $LTLIBUNISTRING.
27890
27891 2010-04-11  Bruno Haible  <bruno@clisp.org>
27892
27893         havelib: Add static libraries to LIBS in the right order.
27894         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
27895         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
27896
27897 2010-04-11  Bruno Haible  <bruno@clisp.org>
27898
27899         libunistring: Detect libunistring also when it depends on libiconv.
27900         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
27901         the second AC_LIB_HAVE_LINKFLAGS invocation.
27902
27903 2010-04-11  James Youngman  <jay@gnu.org>
27904
27905         close-stream: declare local scalars to be "const"
27906         * lib/close-stream.c (close_stream): Make boolean variables const
27907         to document the fact that we set but do not change them.
27908
27909 2010-04-11  Bruno Haible  <bruno@clisp.org>
27910
27911         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
27912
27913 2010-04-11  Jim Meyering  <meyering@redhat.com>
27914
27915         maint.mk: don't include dist-check.mk
27916         * top/maint.mk: Remove bogus include directive.
27917
27918         maint.mk: improve empty-line-at-EOF check
27919         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
27920         solution, rather than tail+Perl-based one.  The latter would read
27921         a few kilobytes from the end of each file, and did not handle empty
27922         files properly.
27923
27924         maint.mk: print the elapsed time for each syntax-check rule
27925         * top/maint.mk (sc_m_rules_): Save start time in a file.
27926         (sc_z_rules_): New rules: remove temp file and print elapsed time.
27927         (local-check): Interpose the .z rules
27928
27929 2010-04-11  Jim Meyering  <meyering@redhat.com>
27930
27931         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
27932         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
27933         empty file with one that ends in an empty line.
27934
27935 2010-04-10  Bruno Haible  <bruno@clisp.org>
27936
27937         mkdir: Make it work on mingw64.
27938         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
27939         * lib/mkdir.c: Update comment.
27940         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
27941
27942 2010-04-10  Bruno Haible  <bruno@clisp.org>
27943
27944         Don't override improved macro from newer autoconf.
27945         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
27946         autoconf >= 2.62.
27947         Reported by Joel E. Denny <jdenny@clemson.edu>.
27948
27949 2010-04-10  Jim Meyering  <meyering@redhat.com>
27950
27951         maint.mk: new syntax-check rule: prohibit empty lines at end of file
27952         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
27953
27954         maint.mk: correct a diagnostic
27955         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
27956         in diagnostic; now use $prohibit.
27957
27958 2010-04-10  Bruno Haible  <address@hidden>
27959
27960         fchownat: Fix a C++ test error on Solaris 8.
27961         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
27962         the function does not exist.
27963
27964 2010-04-10  Bruno Haible  <bruno@clisp.org>
27965
27966         vasnprintf: Add more tests.
27967         * tests/test-vasnprintf-posix.c: Include <errno.h>.
27968         (test_function): Test converting an invalid wide string.
27969
27970         vasnprintf: Correct handling of unconvertible wide string arguments.
27971         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
27972         VASNPRINTF.
27973         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
27974         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
27975         smaller than the expected maximum need for the directive. Set errno to
27976         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
27977         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
27978         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
27979         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
27980         * modules/vasnprintf (Files): Add m4/printf.m4.
27981         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27982
27983 2010-04-10  Bruno Haible  <bruno@clisp.org>
27984
27985         vasnprintf: Fix crash in %ls directive.
27986         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
27987         string is passed as argument to %ls, with no precision and no width.
27988         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27989
27990 2010-04-10  Bruno Haible  <bruno@clisp.org>
27991
27992         vasnprintf: Fix multiple test failures on mingw.
27993         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
27994         _snprintf, or snwprintf, not _snwprintf.
27995
27996 2010-04-10  Bruno Haible  <bruno@clisp.org>
27997
27998         write: Fix a C++ test error on mingw.
27999         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28000
28001 2010-04-10  Bruno Haible  <bruno@clisp.org>
28002
28003         vasnprintf test: Reduce code duplication.
28004         * tests/test-vasnprintf.c (test_function): New function, extracted from
28005         test_vasnprintf.
28006         (test_vasnprintf, test_asnprintf): Invoke it.
28007
28008 2010-04-10  Bruno Haible  <bruno@clisp.org>
28009
28010         strnlen: Fix warning in C++ mode on MacOS X.
28011         * lib/string.in.h (strnlen): Use the modern idiom.
28012         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28013         defining strnlen as a macro already in <config.h>.
28014         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28015         REPLACE_STRNLEN.
28016         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28017         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28018
28019 2010-04-08  James Youngman  <jay@gnu.org>
28020
28021         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28022         the example.
28023
28024 2010-04-09  Jim Meyering  <meyering@redhat.com>
28025
28026         maint.mk: print better diagnostic when there is no $(_hv_file)
28027         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28028         announce that when $(_hv_file) (aka help-version) does not exist.
28029
28030         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28031         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28032         not try to interpret its random input bytes.  Jarno Rajahalme reported
28033         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28034         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28035         (mktempd_): Likewise, just in case.
28036
28037         ftruncate: add two years to projected module removal date: 2012
28038         * m4/ftruncate.m4: Adjust comments.
28039
28040         ftruncate: mark module as obsolete; even MinGW provides it, now
28041         * modules/ftruncate (Status): Obsolete.
28042         (Notice): Say that.
28043         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28044         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28045
28046 2010-04-08  Bruno Haible  <bruno@clisp.org>
28047
28048         Fix side effects from tests-related modules.
28049         * modules/dprintf-posix (Comment): New section.
28050         * modules/fprintf-posix (Comment): Likewise.
28051         * modules/obstack-printf-posix (Comment): Likewise.
28052         * modules/printf-posix (Comment): Likewise.
28053         * modules/snprintf-posix (Comment): Likewise.
28054         * modules/sprintf-posix (Comment): Likewise.
28055         * modules/vasnprintf-posix (Comment): Likewise.
28056         * modules/vasprintf-posix (Comment): Likewise.
28057         * modules/vdprintf-posix (Comment): Likewise.
28058         * modules/vfprintf-posix (Comment): Likewise.
28059         * modules/vprintf-posix (Comment): Likewise.
28060         * modules/vsnprintf-posix (Comment): Likewise.
28061         * modules/vsprintf-posix (Comment): Likewise.
28062         * modules/xprintf-posix (Comment): Likewise.
28063         * modules/xvasprintf-posix (Comment): Likewise.
28064         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28065         * modules/floorf-tests (Depends-on): Likewise.
28066         * modules/round-tests (Depends-on): Likewise.
28067         * modules/roundf-tests (Depends-on): Likewise.
28068         * modules/trunc-tests (Depends-on): Likewise.
28069         * modules/truncf-tests (Depends-on): Likewise.
28070         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28071         'fprintf-posix' module is not present.
28072         * tests/test-floorf2.c (check): Likewise.
28073         * tests/test-trunc2.c (check): Likewise.
28074         * tests/test-truncf2.c (check): Likewise.
28075         * tests/test-round2.c (equal): Likewise.
28076         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28077
28078 2010-04-07  Karl Berry  <karl@gnu.org>
28079
28080         * config/srclist.txt,
28081         * config/srclistvars.sh,
28082         * config/srclist-update: doc fixes.
28083
28084 2010-04-07  Jim Meyering  <meyering@redhat.com>
28085
28086         maint.mk: add a PATH crosschecking syntax-check rule
28087         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28088         Useful if you use a test like the one in help-version (coreutils,
28089         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28090         printed by prog --version.
28091
28092 2010-04-06  Bruno Haible  <bruno@clisp.org>
28093
28094         Fix link error on mingw.
28095         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28096         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28097
28098 2010-04-06  Bruno Haible  <bruno@clisp.org>
28099
28100         Assume rmdir exists.
28101         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28102
28103 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28104
28105         doc: update users.txt
28106         * users.txt: Add gcal.
28107
28108 2010-04-06  Jim Meyering  <meyering@redhat.com>
28109
28110         init.sh: simply unset TMPDIR rather than risking env -i
28111         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28112         although it probably works fine on all Unix-based systems, some
28113         systems (Cygwin?) cannot tolerate a totally cleared environment.
28114         Suggestion from Eric Blake.
28115
28116 2010-04-06  Jim Meyering  <meyering@redhat.com>
28117
28118         init.sh: portability fix: use env's POSIX-specified -i option not -u
28119         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28120         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28121
28122 2010-04-05  Bruno Haible  <bruno@clisp.org>
28123
28124         btowc: Work around Cygwin 1.7.2 bug.
28125         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28126         does not map NUL to 0.
28127         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28128
28129 2010-04-05  Bruno Haible  <bruno@clisp.org>
28130
28131         Make the multithread modules work on Cygwin 1.7.2.
28132         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28133         imported symbols can be declared weak, so that it returns "no" on
28134         Cygwin 1.7.2.
28135
28136 2010-04-05  Bruno Haible  <bruno@clisp.org>
28137
28138         Use the module 'strncat'.
28139         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28140
28141         Tests for module 'strncat'.
28142         * modules/strncat-tests: New file.
28143         * tests/test-strncat.c: New file.
28144
28145         New module 'strncat'.
28146         * lib/string.in.h (strncat): New declaration.
28147         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28148         * m4/strncat.m4: New file, based on m4/memchr.m4.
28149         * modules/strncat: New file.
28150         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28151         is declared.
28152         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28153         REPLACE_STRNCAT.
28154         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28155         REPLACE_STRNCAT.
28156         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28157         module.
28158         * tests/test-string-c++.cc: Check signature of strncat.
28159
28160 2010-04-05  Jim Meyering  <meyering@redhat.com>
28161
28162         xstrtoumax-tests: convert to use init.sh
28163         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28164         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28165         Use Exit, not exit.
28166         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28167
28168         xstrtoimax-tests: convert to use init.sh
28169         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28170         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28171         Use Exit, not exit.
28172         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28173
28174 2010-04-05  Bruno Haible  <bruno@clisp.org>
28175
28176         sys_socket: Avoid #define replacements in C++ mode.
28177         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28178         warning to the function if possible, rather than #defining the symbol
28179         to a dysfunctional alias.
28180
28181 2010-04-05  Bruno Haible  <bruno@clisp.org>
28182
28183         fseeko: Fix C++ test error on mingw.
28184         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28185         gl_FUNC_FSEEKO.
28186         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28187         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28188         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28189         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28190
28191 2010-04-05  Bruno Haible  <bruno@clisp.org>
28192
28193         duplocale: Improve test output.
28194         * tests/test-duplocale.c (main): Print reason for skipped test.
28195
28196 2010-04-05  Bruno Haible  <bruno@clisp.org>
28197
28198         Assume rmdir exists.
28199         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28200         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28201
28202 2010-04-05  Bruno Haible  <bruno@clisp.org>
28203
28204         Fix link error on Solaris 8 with cc.
28205         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28206
28207 2010-04-05  Bruno Haible  <bruno@clisp.org>
28208
28209         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28210         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28211
28212 2010-04-05  Bruno Haible  <bruno@clisp.org>
28213
28214         vasprintf: Update documentation.
28215         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28216
28217 2010-04-05  Bruno Haible  <bruno@clisp.org>
28218
28219         ptsname: Improve test.
28220         * tests/test-ptsname.c (main): Also try the various master names of BSD
28221         systems.
28222
28223 2010-04-05  Bruno Haible  <bruno@clisp.org>
28224
28225         memchr: Avoid a possible C++ test error.
28226         * lib/string.in.h (memchr): Provide declaration if function is missing.
28227         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28228         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28229         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28230         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28231
28232 2010-04-05  Bruno Haible  <bruno@clisp.org>
28233
28234         strtok_r: Improve idiom.
28235         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28236         AC_LIBOBJ is used.
28237
28238 2010-04-05  Bruno Haible  <bruno@clisp.org>
28239
28240         strdup: Improve idiom.
28241         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28242         AC_LIBOBJ is used.
28243         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28244         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28245         when AC_LIBOBJ is used.
28246
28247 2010-04-05  Bruno Haible  <bruno@clisp.org>
28248
28249         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28250         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28251         don't set REPLACE_MBSINIT to 1.
28252         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28253         don't set REPLACE_MBRTOWC to 1.
28254         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28255         exist, don't set REPLACE_MBSRTOWCS to 1.
28256         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28257         exist, don't set REPLACE_MBSNRTOWCS to 1.
28258         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28259         don't set REPLACE_WCRTOMB to 1.
28260         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28261         exist, don't set REPLACE_WCSRTOMBS to 1.
28262         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28263         exist, don't set REPLACE_WCSNRTOMBS to 1.
28264
28265 2010-04-05  Bruno Haible  <bruno@clisp.org>
28266
28267         ldexpl: Improve idiom.
28268         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28269         make sure to set HAVE_DECL_LDEXPL to 0.
28270
28271 2010-04-05  Jim Meyering  <meyering@redhat.com>
28272
28273         xstrtol-tests: convert to use init.sh
28274         * modules/xstrtol-tests (Files): Add tests/init.sh.
28275         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28276         Use Exit, not exit.
28277         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28278
28279         atexit-tests: convert to use init.sh
28280         * modules/atexit-tests (Files): Add tests/init.sh.
28281         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28282         Use Exit, not exit.
28283         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28284
28285         init.sh: fix typo
28286         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28287
28288         init.sh: make it easier for a test script to write to the tty, ...
28289         when using automake's parallel-tests mode.
28290         * tests/init.sh (stderr_fileno_): Define overridable variable.
28291         (warn_): New function, to use it.
28292         (fail_, skip_, framework_failure_): Use warn_.
28293
28294 2010-04-04  Bruno Haible  <bruno@clisp.org>
28295
28296         btowc: Avoid warning.
28297         * lib/btowc.c: Include <stdlib.h>.
28298         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28299
28300 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28301             Bruno Haible  <bruno@clisp.org>
28302
28303         wchar: Port to NetBSD 1.5.
28304         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28305         * lib/wctype.in.h (WEOF): Likewise.
28306
28307 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28308             Bruno Haible  <bruno@clisp.org>
28309
28310         Port extended stdio to NetBSD 1.5.
28311         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28312         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28313         older.
28314
28315 2010-04-04  Bruno Haible  <bruno@clisp.org>
28316
28317         string: Remove unused substitution.
28318         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28319         HAVE_DECL_STRERROR.
28320         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
28321
28322 2010-04-04  Bruno Haible  <bruno@clisp.org>
28323
28324         strtod: Avoid a possible C++ test error.
28325         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
28326         set REPLACE_STRTOD.
28327
28328 2010-04-04  Bruno Haible  <bruno@clisp.org>
28329
28330         strerror: Update documentation.
28331         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
28332
28333 2010-04-04  Bruno Haible  <bruno@clisp.org>
28334
28335         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28336         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28337         _GL_CXXALIAS_SYS_CAST.
28338
28339 2010-04-04  Bruno Haible  <bruno@clisp.org>
28340
28341         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28342         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28343         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28344         REPLACE_FREXPL to 1.
28345         * doc/posix-functions/frexpl.texi: Update documentation.
28346
28347 2010-04-04  Bruno Haible  <bruno@clisp.org>
28348
28349         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28350         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28351
28352 2010-04-04  Bruno Haible  <bruno@clisp.org>
28353
28354         Implement nanosleep for native Windows.
28355         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
28356
28357 2010-04-04  Bruno Haible  <bruno@clisp.org>
28358
28359         math: Fix some C++ test errors on Solaris 8.
28360         * lib/math.in.h (truncf, trunc): Use simpler idiom.
28361
28362 2010-04-04  Bruno Haible  <bruno@clisp.org>
28363
28364         math: Fix some C++ test errors on Cygwin.
28365         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
28366         truncl): Provide declaration if the system does not have it.
28367         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
28368         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
28369         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
28370         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
28371         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
28372         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
28373         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
28374         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
28375         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
28376         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
28377         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
28378         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
28379         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
28380         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
28381         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
28382         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
28383         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
28384         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28385         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28386         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
28387         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28388         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28389
28390 2010-04-04  Bruno Haible  <bruno@clisp.org>
28391
28392         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
28393         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
28394         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
28395         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28396         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28397         * m4/isinf.m4 (gl_ISINF): Likewise.
28398         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28399
28400 2010-04-04  Bruno Haible  <bruno@clisp.org>
28401
28402         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
28403         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28404
28405 2010-04-04  Bruno Haible  <bruno@clisp.org>
28406
28407         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
28408         * modules/tmpfile (configure.ac): Update.
28409
28410         tmpfile: Fix C++ test error on mingw.
28411         * lib/stdio.in.h (tmpfile): New declaration.
28412         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
28413         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
28414         * modules/tmpfile (Depends-on): Add stdio.
28415         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28416         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
28417         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
28418         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
28419         REPLACE_TMPFILE.
28420         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
28421
28422 2010-04-04  Bruno Haible  <bruno@clisp.org>
28423
28424         ioctl: Fix C++ test error on mingw.
28425         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
28426         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
28427         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
28428
28429 2010-04-03  Bruno Haible  <bruno@clisp.org>
28430
28431         wcwidth: Fix C++ test error on mingw.
28432         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
28433         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
28434         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
28435
28436 2010-04-03  Bruno Haible  <bruno@clisp.org>
28437
28438         nanosleep: Fix C++ test error on mingw.
28439         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
28440         * lib/time.in.h (nanosleep): Use modern idiom.
28441         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
28442         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
28443         REPLACE_NANOSLEEP to 1.
28444         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
28445         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
28446
28447 2010-04-03  Bruno Haible  <bruno@clisp.org>
28448
28449         strptime: Fix C++ test error on mingw.
28450         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
28451         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
28452         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
28453         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
28454         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
28455         not REPLACE_STRPTIME.
28456         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
28457         REPLACE_STRPTIME.
28458
28459 2010-04-03  Bruno Haible  <bruno@clisp.org>
28460
28461         timegm: Fix C++ test error on mingw.
28462         * lib/time.in.h (timegm): Use modern idiom.
28463         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
28464         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
28465         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
28466         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
28467
28468 2010-04-03  Bruno Haible  <bruno@clisp.org>
28469
28470         timegm: Assume declaration if function exists.
28471         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
28472         if it exists. Don't clobber ac_cv_func_timegm.
28473
28474 2010-04-03  Bruno Haible  <bruno@clisp.org>
28475
28476         time_r: Fix C++ test error on mingw.
28477         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
28478         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
28479         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
28480         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
28481         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
28482
28483 2010-04-03  Bruno Haible  <bruno@clisp.org>
28484
28485         time_r: Minor updates.
28486         * modules/time_r (Description): Mention the provided functions.
28487         * lib/time_r.c: Don't include <string.h>.
28488         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
28489         * doc/posix-functions/localtime_r.texi: Likewise.
28490
28491 2010-04-03  Bruno Haible  <bruno@clisp.org>
28492
28493         time: Fix regression introduced on 2010-03-08.
28494         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
28495         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
28496
28497 2010-04-03  Jim Meyering  <meyering@redhat.com>
28498
28499         maint.mk: don't silently disable project-specific syntax-check rules
28500         * top/maint.mk (_prohibit_regexp): Define, to help people realize
28501         that they need to convert their project-specific syntax-check rules
28502         to use the new _sc_search_regexp.
28503
28504 2010-04-03  Bruno Haible  <bruno@clisp.org>
28505
28506         fchdir: Fix regression introduced on 2010-03-08.
28507         * lib/unistd.in.h (fchdir): Fix declaration.
28508         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
28509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
28510         REPLACE_FCHDIR.
28511         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
28512         REPLACE_FCHDIR.
28513
28514 2010-04-03  Bruno Haible  <bruno@clisp.org>
28515
28516         getpagesize: Fix C++ test error on mingw.
28517         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
28518         system does not declare the function.
28519         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
28520         declared.
28521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28522         HAVE_DECL_GETPAGESIZE.
28523         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
28524
28525 2010-04-03  Bruno Haible  <bruno@clisp.org>
28526
28527         stdio: Make C++ tests work on mingw.
28528         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
28529         does not declare the function.
28530
28531 2010-04-03  Bruno Haible  <bruno@clisp.org>
28532
28533         ftello: Fix C++ test error on mingw.
28534         * lib/stdio.in.h (ftello): Use modern idiom.
28535         * lib/ftello.c (ftello): Renamed from rpl_ftello.
28536         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
28537         is missing and that it needs to be replaced.
28538         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
28539         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
28540         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
28541
28542 2010-04-03  Bruno Haible  <bruno@clisp.org>
28543
28544         fseeko: Fix C++ test error on mingw.
28545         * lib/stdio.in.h (fseeko): Use modern idiom.
28546         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
28547         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
28548         is missing and that it needs to be replaced.
28549         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
28550         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
28551         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
28552
28553 2010-04-03  Bruno Haible  <bruno@clisp.org>
28554
28555         mkstemp: Fix C++ test error on mingw.
28556         * lib/stdlib.in.h (mkstemp): Use modern idiom.
28557         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
28558         function is missing and that it needs to be replaced.
28559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
28560         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
28561
28562 2010-04-03  Bruno Haible  <bruno@clisp.org>
28563
28564         stpncpy: Fix C++ test error on mingw.
28565         * lib/string.in.h (stpncpy): Use modern idiom.
28566         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
28567         function is missing and that it needs to be replaced.
28568         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28569         REPLACE_STPNCPY.
28570         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
28571
28572 2010-04-03  Bruno Haible  <bruno@clisp.org>
28573
28574         sys_stat: Fix C++ test error on mingw.
28575         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
28576         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
28577
28578 2010-04-03  Bruno Haible  <bruno@clisp.org>
28579
28580         pty: Update doc.
28581         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
28582
28583 2010-04-03  Bruno Haible  <bruno@clisp.org>
28584
28585         unistd: Fix C++ test error on mingw.
28586         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
28587
28588 2010-04-03  Bruno Haible  <bruno@clisp.org>
28589
28590         Update doc regarding mingw.
28591         * doc/glibc-functions/openpty.texi: Update regarding mingw.
28592         * doc/glibc-functions/login_tty.texi: Likewise.
28593         * doc/glibc-functions/forkpty.texi: Likewise.
28594
28595 2010-04-03  Bruno Haible  <bruno@clisp.org>
28596
28597         stdlib: Avoid compilation failure of c-strtold on mingw.
28598         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
28599
28600 2010-04-03  Bruno Haible  <bruno@clisp.org>
28601
28602         locale: Make C++ tests work on Cygwin and mingw.
28603         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
28604         cannot provide the function.
28605         Reported by Simon Josefsson.
28606
28607 2010-04-03  Bruno Haible  <bruno@clisp.org>
28608
28609         localename: Port to MacOS X 10.6.
28610         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
28611         memory layout of the locales in MacOS X 10.6 as well.
28612         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
28613
28614 2010-04-02  Bruno Haible  <bruno@clisp.org>
28615
28616         gnulib-tool: Ensure that long-running tests are executed last.
28617         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
28618         running tests after the one for the other tests.
28619
28620 2010-04-02  Bruno Haible  <bruno@clisp.org>
28621
28622         gnulib-tool: Ensure the tests in the main directory are executed first.
28623         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
28624         start with the current directory.
28625
28626 2010-04-02  Bruno Haible  <bruno@clisp.org>
28627
28628         Tests for module 'havelib', moved here from GNU gettext.
28629         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
28630         modifications.
28631         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
28632         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
28633         with modifications.
28634         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
28635         modifications.
28636         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
28637         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
28638         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
28639         with modifications.
28640         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
28641         with modifications.
28642         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
28643         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
28644         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
28645         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
28646         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
28647         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
28648         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
28649         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
28650         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
28651         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
28652         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
28653         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
28654         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
28655         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
28656         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
28657         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
28658         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
28659         with modifications.
28660         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
28661         with modifications.
28662         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
28663         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
28664         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
28665         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
28666         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
28667         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
28668         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
28669         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
28670         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
28671         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
28672         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
28673         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
28674         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
28675         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
28676         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
28677         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
28678         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
28679         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
28680         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
28681         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
28682         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
28683         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
28684         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
28685         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
28686         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
28687         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
28688         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
28689         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
28690         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
28691         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
28692         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
28693         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
28694         * tests/havelib/rpathx/rpathx.c: New file, from
28695         gettext/autoconf-lib-link.
28696         * tests/havelib/rpathx/Makefile.am: New file, from
28697         gettext/autoconf-lib-link.
28698         * tests/havelib/rpathx/configure.ac: New file, from
28699         gettext/autoconf-lib-link with modifications.
28700         * tests/havelib/rpathy/rpathy.c: New file, from
28701         gettext/autoconf-lib-link.
28702         * tests/havelib/rpathy/Makefile.am: New file, from
28703         gettext/autoconf-lib-link.
28704         * tests/havelib/rpathy/configure.ac: New file, from
28705         gettext/autoconf-lib-link with modifications.
28706         * tests/havelib/rpathz/rpathz.c: New file, from
28707         gettext/autoconf-lib-link.
28708         * tests/havelib/rpathz/Makefile.am: New file, from
28709         gettext/autoconf-lib-link.
28710         * tests/havelib/rpathz/configure.ac: New file, from
28711         gettext/autoconf-lib-link with modifications.
28712         * tests/havelib/rpathlx/usex.c: New file, from
28713         gettext/autoconf-lib-link.
28714         * tests/havelib/rpathlx/Makefile.am: New file, from
28715         gettext/autoconf-lib-link.
28716         * tests/havelib/rpathlx/configure.ac: New file, from
28717         gettext/autoconf-lib-link with modifications.
28718         * tests/havelib/rpathly/usey.c: New file, from
28719         gettext/autoconf-lib-link.
28720         * tests/havelib/rpathly/Makefile.am: New file, from
28721         gettext/autoconf-lib-link.
28722         * tests/havelib/rpathly/configure.ac: New file, from
28723         gettext/autoconf-lib-link with modifications.
28724         * tests/havelib/rpathlz/usez.c: New file, from
28725         gettext/autoconf-lib-link.
28726         * tests/havelib/rpathlz/Makefile.am: New file, from
28727         gettext/autoconf-lib-link.
28728         * tests/havelib/rpathlz/configure.ac: New file, from
28729         gettext/autoconf-lib-link with modifications.
28730         * tests/havelib/rpathlyx/usey.c: New file, from
28731         gettext/autoconf-lib-link.
28732         * tests/havelib/rpathlyx/Makefile.am: New file, from
28733         gettext/autoconf-lib-link.
28734         * tests/havelib/rpathlyx/configure.ac: New file, from
28735         gettext/autoconf-lib-link with modifications.
28736         * tests/havelib/rpathlzyx/usez.c: New file, from
28737         gettext/autoconf-lib-link.
28738         * tests/havelib/rpathlzyx/Makefile.am: New file, from
28739         gettext/autoconf-lib-link.
28740         * tests/havelib/rpathlzyx/configure.ac: New file, from
28741         gettext/autoconf-lib-link with modifications.
28742         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
28743         with modifications.
28744
28745 2010-04-02  Bruno Haible  <bruno@clisp.org>
28746
28747         gnulib-tool: Create distributed built sources also for the tests.
28748         * gnulib-tool (func_create_testdir): Also generate distributed built
28749         sources in the tests directory.
28750
28751 2010-04-02  Bruno Haible  <bruno@clisp.org>
28752
28753         gnulib-tool: Obey user's environment variables.
28754         * gnulib-tool (func_create_testdir): When creating built sources,
28755         respect the environment variables for autoconf, automake, etc. given by
28756         the user.
28757
28758 2010-04-02  Bruno Haible  <bruno@clisp.org>
28759
28760         gnulib-tool: Provide the value of --m4-base to modules.
28761         * gnulib-tool (func_import, func_create_testdir): Emit a definition
28762         of gl_m4_base.
28763
28764 2010-04-02  Eric Blake  <eblake@redhat.com>
28765
28766         maint.mk: fix some fallout
28767         * NEWS: Document the incompatible change, and its effect on cfg.mk.
28768         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
28769
28770 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
28771
28772         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
28773         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
28774         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
28775         (sc_cast_of_x_alloc_return_value): Likewise.
28776         (sc_cast_of_alloca_return_value): Likewise.
28777         (sc_space_tab): Likewise.
28778         (sc_prohibit_atoi_atof): Likewise.
28779         (sc_prohibit_magic_number_exit): Likewise.
28780         (sc_error_exit_success): Likewise.
28781         (sc_file_system): Likewise.
28782         (sc_prohibit_have_config_h): Likewise.
28783         (sc_require_config_h): Likewise.
28784         (sc_prohibit_HAVE_MBRTOWC): Likewise.
28785         (sc_obsolete_symbols): Likewise.
28786         (sc_changelog): Likewise.
28787         (sc_program_name): Likewise.
28788         (sc_the_the): Likewise.
28789         (sc_trailing_blank): Likewise.
28790         (sc_two_space_separator_in_usage): Likewise.
28791         (sc_useless_cpp_parens): Likewise.
28792         (sc_GPL_version): Likewise.
28793         (sc_GFDL_version): Likewise.
28794         (sc_texinfo_acronym): Likewise.
28795         (sc_prohibit_cvs_keyword): Likewise.
28796         (sc_prohibit_stat_st_blocks): Likewise.
28797         (sc_prohibit_S_IS_definition): Likewise.
28798         (sc_redundant_const): Likewise.
28799         (sc_makefile_TAB_only_indentation): Likewise.
28800         (sc_m4_quote_check): Likewise.
28801         (sc_makefile_path_separator_check): Likewise.
28802         (sc_copyright_check): Likewise.
28803         (sc_Wundef_boolean): Likewise.
28804         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
28805
28806         maint.mk: match 0 or more whitespace-before-function-call '('
28807         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
28808         that have zero or two-and-more spaces between the function name
28809         and the open parenthesis.
28810         (sc_error_message_warn_fatal): Likewise.
28811         (sc_error_message_uppercase): Likewise.
28812         (sc_error_message_period): Likewise.
28813
28814 2010-03-31  Eric Blake  <eblake@redhat.com>
28815
28816         maint.mk: check for [ as well as test
28817         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
28818         Based on a libvirt report by Matthias Bolte.
28819
28820         gnumakefile: don't squelch _version output
28821         * top/GNUmakefile (_version): Create one-shot dependency rather
28822         than using $(shell) when version must be regenerated.
28823         (_autoreconf): Run verbosely, by default.
28824
28825         sys_time: avoid compiler warnings
28826         * lib/sys_time.in.h (includes): Ensure gcc pragma is
28827         unconditional, fixing regression from 2010-03-29.
28828         Reported by Simon Josefsson.
28829
28830 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
28831
28832         maint.mk: s/_header_without_use/_sc_header_without_use/
28833         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
28834         (sc_prohibit_assert_without_use): Use the new name.
28835         (sc_prohibit_close_stream_without_use): Likewise.
28836         (sc_prohibit_getopt_without_use): Likewise.
28837         (sc_prohibit_quotearg_without_use): Likewise.
28838         (sc_prohibit_quote_without_use): Likewise.
28839         (sc_prohibit_long_options_without_use): Likewise.
28840         (sc_prohibit_inttostr_without_use): Likewise.
28841         (sc_prohibit_ignore_value_without_use): Likewise.
28842         (sc_prohibit_error_without_use): Likewise.
28843         (sc_prohibit_xalloc_without_use): Likewise.
28844         (sc_prohibit_hash_without_use): Likewise.
28845         (sc_prohibit_hash_pjw_without_use): Likewise.
28846         (sc_prohibit_safe_read_without_use): Likewise.
28847         (sc_prohibit_argmatch_without_use): Likewise.
28848         (sc_prohibit_canonicalize_without_use): Likewise.
28849         (sc_prohibit_root_dev_ino_without_use): Likewise.
28850         (sc_prohibit_openat_without_use): Likewise.
28851         (sc_prohibit_c_ctype_without_use): Likewise.
28852         (sc_prohibit_signal_without_use): Likewise.
28853         (sc_prohibit_intprops_without_use): Likewise.
28854
28855 2010-03-30  Eric Blake  <eblake@redhat.com>
28856
28857         maint: improve module indicators
28858         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
28859         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
28860         columns, and avoid extra macro expansion.
28861
28862         fdopendir: work around FreeBSD bug
28863         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
28864         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
28865         * modules/dirent (Makefile.am): Substitute it.
28866         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
28867         declaration.
28868         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
28869         fix.
28870         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28871
28872 2010-03-29  Bruno Haible  <bruno@clisp.org>
28873
28874         Emit #pragma system_header after the inclusion guard, not before.
28875         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
28876         guard that spans the entire file, not before. This enables an
28877         optimization in GCC's preprocessor.
28878         * lib/ctype.in.h: Likewise.
28879         * lib/dirent.in.h: Likewise.
28880         * lib/errno.in.h: Likewise.
28881         * lib/float.in.h: Likewise.
28882         * lib/getopt.in.h: Likewise.
28883         * lib/iconv.in.h: Likewise.
28884         * lib/langinfo.in.h: Likewise.
28885         * lib/locale.in.h: Likewise.
28886         * lib/math.in.h: Likewise.
28887         * lib/netdb.in.h: Likewise.
28888         * lib/netinet_in.in.h: Likewise.
28889         * lib/pty.in.h: Likewise.
28890         * lib/sched.in.h: Likewise.
28891         * lib/se-selinux.in.h: Likewise.
28892         * lib/search.in.h: Likewise.
28893         * lib/spawn.in.h: Likewise.
28894         * lib/stdarg.in.h: Likewise.
28895         * lib/stdint.in.h: Likewise.
28896         * lib/string.in.h: Likewise.
28897         * lib/strings.in.h: Likewise.
28898         * lib/sys_file.in.h: Likewise.
28899         * lib/sys_ioctl.in.h: Likewise.
28900         * lib/sys_time.in.h: Likewise.
28901         * lib/sys_times.in.h: Likewise.
28902         * lib/sys_utsname.in.h: Likewise.
28903         * lib/sys_wait.in.h: Likewise.
28904         * lib/sysexits.in.h: Likewise.
28905         * lib/wctype.in.h: Likewise.
28906
28907 2010-03-28  James Youngman  <jay@gnu.org>
28908
28909         save-cwd: don't leak a file descriptor when the caller execs.
28910         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
28911         saved file descriptor.
28912         * modules/save-cwd (Depends-on): Depend on cloexec.
28913
28914 2010-03-29  Bruno Haible  <bruno@clisp.org>
28915
28916         Remove vestiges of fts-lgpl module.
28917         * lib/fts_.h: Assume GNULIB_FTS is 1.
28918         * lib/fts.c: Likewise.
28919         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28920
28921 2010-03-28  Bruno Haible  <bruno@clisp.org>
28922
28923         Fix definition of tests witness macro.
28924         * gnulib-tool (func_import): Fix definition of witness macro.
28925
28926 2010-03-28  Bruno Haible  <bruno@clisp.org>
28927
28928         Fix ioctl's protoype on glibc systems.
28929         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
28930         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
28931         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
28932         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
28933         signature. If not, arrange to replace the ioctl function.
28934         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
28935         REPLACE_IOCTL.
28936         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
28937         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
28938         Reported by Ludovic Courtès <ludo@gnu.org>.
28939
28940 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
28941
28942         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
28943         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
28944         made it so grep -r --include=GLOB* ... did not work.
28945
28946 2010-03-26  Jim Meyering  <meyering@redhat.com>
28947             Eric Blake  <eblake@redhat.com>
28948
28949         maint.mk: prohibit use of test's -o and -a operators
28950         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
28951
28952 2010-03-28  Bruno Haible  <bruno@clisp.org>
28953
28954         Remove unused GNULIB_XYZ macro definitions.
28955         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
28956         invocation.
28957
28958 2010-03-28  Bruno Haible  <bruno@clisp.org>
28959
28960         Mark privileged tests modules.
28961         * modules/idpriv-drop-tests (Status): New section.
28962         * modules/idpriv-droptemp-tests (Status): New section.
28963
28964 2010-03-28  Bruno Haible  <bruno@clisp.org>
28965
28966         Split C++ tests into separate tests modules.
28967         * modules/dirent-c++-tests: New file, extracted from
28968         modules/dirent-tests.
28969         * modules/dirent-tests: Depend on it.
28970         * modules/fcntl-h-c++-tests: New file, extracted from
28971         modules/fcntl-h-tests.
28972         * modules/fcntl-h-tests: Depend on it.
28973         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
28974         * modules/glob-tests: Depend on it.
28975         * modules/iconv-h-c++-tests: New file, extracted from
28976         modules/iconv-h-tests.
28977         * modules/iconv-h-tests: Depend on it.
28978         * modules/langinfo-c++-tests: New file, extracted from
28979         modules/langinfo-tests.
28980         * modules/langinfo-tests: Depend on it.
28981         * modules/locale-c++-tests: New file, extracted from
28982         modules/locale-tests.
28983         * modules/locale-tests: Depend on it.
28984         * modules/math-c++-tests: New file, extracted from modules/math-tests.
28985         * modules/math-tests: Depend on it.
28986         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
28987         * modules/pty-tests: Depend on it.
28988         * modules/search-c++-tests: New file, extracted from
28989         modules/search-tests.
28990         * modules/search-tests: Depend on it.
28991         * modules/signal-c++-tests: New file, extracted from
28992         modules/signal-tests.
28993         * modules/signal-tests: Depend on it.
28994         * modules/spawn-c++-tests: New file, extracted from
28995         modules/spawn-tests.
28996         * modules/spawn-tests: Depend on it.
28997         * modules/stdio-c++-tests: New file, extracted from
28998         modules/stdio-tests.
28999         * modules/stdio-tests: Depend on it.
29000         * modules/stdlib-c++-tests: New file, extracted from
29001         modules/stdlib-tests.
29002         * modules/stdlib-tests: Depend on it.
29003         * modules/string-c++-tests: New file, extracted from
29004         modules/string-tests.
29005         * modules/string-tests: Depend on it.
29006         * modules/sys_ioctl-c++-tests: New file, extracted from
29007         modules/sys_ioctl-tests.
29008         * modules/sys_ioctl-tests: Depend on it.
29009         * modules/sys_select-c++-tests: New file, extracted from
29010         modules/sys_select-tests.
29011         * modules/sys_select-tests: Depend on it.
29012         * modules/sys_socket-c++-tests: New file, extracted from
29013         modules/sys_socket-tests.
29014         * modules/sys_socket-tests: Depend on it.
29015         * modules/sys_stat-c++-tests: New file, extracted from
29016         modules/sys_stat-tests.
29017         * modules/sys_stat-tests: Depend on it.
29018         * modules/sys_time-c++-tests: New file, extracted from
29019         modules/sys_time-tests.
29020         * modules/sys_time-tests: Depend on it.
29021         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29022         * modules/time-tests: Depend on it.
29023         * modules/unistd-c++-tests: New file, extracted from
29024         modules/unistd-tests.
29025         * modules/unistd-tests: Depend on it.
29026         * modules/wchar-c++-tests: New file, extracted from
29027         modules/wchar-tests.
29028         * modules/wchar-tests: Depend on it.
29029         * modules/wctype-c++-tests: New file, extracted from
29030         modules/wctype-tests.
29031         * modules/wctype-tests: Depend on it.
29032         Reported by Simon Josefsson.
29033
29034 2010-03-28  Bruno Haible  <bruno@clisp.org>
29035
29036         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29037         * gnulib-tool (func_exists_module): New function, extracted from
29038         func_verify_module.
29039         (func_verify_module): Use it.
29040         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29041         'foo' only if 'foo' exists.
29042         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29043         module.
29044
29045 2010-03-28  Bruno Haible  <bruno@clisp.org>
29046
29047         gnulib-tool: Add support for special categories of tests.
29048         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29049         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29050         (func_usage): Document them.
29051         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29052         inc_unportable_tests, inc_all_tests): New variables.
29053         (func_acceptable): Consider these variables.
29054         (func_modules_transitive_closure): Make it work when the 'Status' field
29055         consists of multiple words.
29056         (func_import): Store and restore the values of inc_cxx_tests,
29057         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29058         inc_all_tests in gnulib-comp.m4.
29059         (func_create_testdir): Set inc_all_tests to true.
29060         * doc/gnulib.texi (Extra tests modules): New section.
29061         Suggested by Jim Meyering.
29062
29063 2010-03-28  Bruno Haible  <bruno@clisp.org>
29064
29065         ansi-c++-opt: Allow turning off the C++ build by default.
29066         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29067         gl_CXX_CHOICE_DEFAULT_NO is defined.
29068         Requested by Eric Blake.
29069
29070 2010-03-28  Bruno Haible  <bruno@clisp.org>
29071
29072         unistd: Avoid #define replacements in C++ mode.
29073         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29074         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29075         setsockopt, shutdown, select): In C++, attach a warning to the function
29076         if possible, rather than #defining the symbol to a dysfunctional alias.
29077         Reported by John W. Eaton <jwe@gnu.org>.
29078
29079 2010-03-28  Bruno Haible  <bruno@clisp.org>
29080
29081         Fix link errors on mingw.
29082         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29083         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29084         $(LIBSOCKET).
29085         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29086         $(LIBSOCKET).
29087
29088 2010-03-28  Bruno Haible  <bruno@clisp.org>
29089             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29090
29091         lib-ignore: Determine different options for different compilers.
29092         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29093         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29094         Add comments.
29095         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29096         * NEWS: Mention the change.
29097
29098 2010-03-27  Bruno Haible  <bruno@clisp.org>
29099
29100         Remove unused GNULIB_XYZ macro definitions.
29101         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29102         * modules/fseek (configure.ac): Likewise.
29103         * modules/ioctl (configure.ac): Likewise.
29104         * modules/open (configure.ac): Likewise.
29105         * modules/stdlib-safer (configure.ac): Likewise.
29106
29107 2010-03-27  Bruno Haible  <bruno@clisp.org>
29108
29109         Add a remark about certain modules.
29110         * modules/malloc (Comment): New section.
29111         * modules/realloc (Comment): Likewise.
29112         * modules/sigpipe (Comment): Likewise.
29113
29114 2010-03-27  Bruno Haible  <bruno@clisp.org>
29115
29116         Resolve conflict between the two kinds of module indicators.
29117         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29118         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29119         * modules/canonicalize (configure.ac): Invoke
29120         gl_MODULE_INDICATOR_FOR_TESTS.
29121         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29122         GNULIB_XYZ.
29123         * tests/test-dirent-c++.cc: Likewise.
29124         * tests/test-dirent-safer.c: Likewise.
29125         * tests/test-dup2.c: Likewise.
29126         * tests/test-fchdir.c: Likewise.
29127         * tests/test-fcntl-h-c++.cc: Likewise.
29128         * tests/test-getopt.c: Likewise.
29129         * tests/test-getopt.h: Likewise.
29130         * tests/test-langinfo-c++.cc: Likewise.
29131         * tests/test-locale-c++.cc: Likewise.
29132         * tests/test-math-c++.cc: Likewise.
29133         * tests/test-pty-c++.cc: Likewise.
29134         * tests/test-search-c++.cc: Likewise.
29135         * tests/test-signal-c++.cc: Likewise.
29136         * tests/test-spawn-c++.cc: Likewise.
29137         * tests/test-stdio-c++.cc: Likewise.
29138         * tests/test-stdlib-c++.cc: Likewise.
29139         * tests/test-string-c++.cc: Likewise.
29140         * tests/test-sys_ioctl-c++.cc: Likewise.
29141         * tests/test-sys_select-c++.cc: Likewise.
29142         * tests/test-sys_socket-c++.cc: Likewise.
29143         * tests/test-sys_stat-c++.cc: Likewise.
29144         * tests/test-sys_time-c++.cc: Likewise.
29145         * tests/test-time-c++.cc: Likewise.
29146         * tests/test-unistd-c++.cc: Likewise.
29147         * tests/test-wchar-c++.cc: Likewise.
29148         * tests/uninorm/test-u8-nfc.c: Likewise.
29149         * tests/uninorm/test-u8-nfd.c: Likewise.
29150         * tests/uninorm/test-u8-nfkc.c: Likewise.
29151         * tests/uninorm/test-u8-nfkd.c: Likewise.
29152         * tests/uninorm/test-u16-nfc.c: Likewise.
29153         * tests/uninorm/test-u16-nfd.c: Likewise.
29154         * tests/uninorm/test-u16-nfkc.c: Likewise.
29155         * tests/uninorm/test-u16-nfkd.c: Likewise.
29156         * tests/uninorm/test-u32-nfc.c: Likewise.
29157         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29158         * tests/uninorm/test-u32-nfd.c: Likewise.
29159         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29160         * tests/uninorm/test-u32-nfkc.c: Likewise.
29161         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29162         * tests/uninorm/test-u32-nfkd.c: Likewise.
29163         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29164         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29165
29166 2010-03-27  Bruno Haible  <bruno@clisp.org>
29167
29168         Distinguish two kinds of module indicators.
29169         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29170         gl_MODULE_INDICATOR.
29171         (gl_MODULE_INDICATOR): New macro.
29172         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29173         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29174         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29175         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29176         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29177         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29178         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29179         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29180         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29181         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29182         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29183         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29184         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29185         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29186         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29187         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29188         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29189         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29190         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29191         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29192         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29193         * modules/cloexec (configure.ac): Likewise.
29194         * modules/getopt-gnu (configure.ac): Likewise.
29195         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29196         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29197         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29198         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29199
29200 2010-03-27  Bruno Haible  <bruno@clisp.org>
29201
29202         New module description field 'Comment'.
29203         * gnulib-tool: New option --extract-comment.
29204         (func_usage): Document it.
29205         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29206         (func_get_comment): New function.
29207         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29208
29209 2010-03-27  Bruno Haible  <bruno@clisp.org>
29210
29211         Addendum to 2010-02-07 commit.
29212         * gnulib-tool (func_usage): Document --extract-applicability option.
29213
29214 2010-03-27  Bruno Haible  <bruno@clisp.org>
29215
29216         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29217         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29218         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29219         rather than link errors.
29220
29221 2010-03-27  Bruno Haible  <bruno@clisp.org>
29222
29223         Avoid side effects from tests-related modules on the compilation of lib.
29224         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29225         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29226         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29227         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29228         macro.
29229         (func_import): Define a witness macro. Assign it a value that depends
29230         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29231         tests-related modules.
29232         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29233         Reported by Jim Meyering.
29234
29235 2010-03-27  Bruno Haible  <bruno@clisp.org>
29236
29237         Factorize common .m4 code.
29238         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29239         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29240         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29241         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29242         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29243         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29244         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29245         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29246         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29247         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29248         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29249         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29250         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29251         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29252         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29253         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29254         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29255         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29256         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29257         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29258         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29259         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29260         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29261         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29262         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29263         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29264         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29265         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29266         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29267         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29268         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29269         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29270
29271 2010-03-27  Bruno Haible  <bruno@clisp.org>
29272
29273         Fix a compilation error on Cygwin with g++ >= 4.3.
29274         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29275         if it is undefined or if we alias it to chmod.
29276         (lstat): Don't warn about the use of this function if it is undefined
29277         or if we alias it to stat.
29278         Reported by Simon Josefsson.
29279
29280 2010-03-27  Bruno Haible  <bruno@clisp.org>
29281
29282         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29283         * modules/getlogin (configure.ac): Update.
29284
29285         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29286         * modules/getlogin_r (configure.ac): Update.
29287
29288         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29289         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29290         * modules/inet_ntop (configure.ac): Update.
29291
29292         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29293         * modules/inet_pton (configure.ac): Update.
29294
29295         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29296         * modules/mbslen (configure.ac): Update.
29297
29298         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29299         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29300         * modules/forkpty (configure.ac): Update.
29301         * modules/openpty (configure.ac): Update.
29302
29303 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29304
29305         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29306         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29307
29308 2010-03-25  Eric Blake  <eblake@redhat.com>
29309
29310         maint: use pragma consistently across replacement headers
29311         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29312         * lib/dirent.in.h (system_header): Likewise.
29313         * lib/errno.in.h (system_header): Likewise.
29314         * lib/float.in.h (system_header): Likewise.
29315         * lib/getopt.in.h (system_header): Likewise.
29316         * lib/iconv.in.h (system_header): Likewise.
29317         * lib/inttypes.in.h (system_header): Likewise.
29318         * lib/langinfo.in.h (system_header): Likewise.
29319         * lib/locale.in.h (system_header): Likewise.
29320         * lib/math.in.h (system_header): Likewise.
29321         * lib/netdb.in.h (system_header): Likewise.
29322         * lib/netinet_in.in.h (system_header): Likewise.
29323         * lib/pty.in.h (system_header): Likewise.
29324         * lib/sched.in.h (system_header): Likewise.
29325         * lib/se-selinux.in.h (system_header): Likewise.
29326         * lib/search.in.h (system_header): Likewise.
29327         * lib/spawn.in.h (system_header): Likewise.
29328         * lib/stdarg.in.h (system_header): Likewise.
29329         * lib/stdint.in.h (system_header): Likewise.
29330         * lib/string.in.h (system_header): Likewise.
29331         * lib/strings.in.h (system_header): Likewise.
29332         * lib/sys_file.in.h (system_header): Likewise.
29333         * lib/sys_ioctl.in.h (system_header): Likewise.
29334         * lib/sys_socket.in.h (system_header): Likewise.
29335         * lib/sys_times.in.h (system_header): Likewise.
29336         * lib/sys_utsname.in.h (system_header): Likewise.
29337         * lib/sys_wait.in.h (system_header): Likewise.
29338         * lib/sysexits.in.h (system_header): Likewise.
29339         * lib/unistd.in.h (system_header): Likewise.
29340         * lib/wctype.in.h (system_header): Likewise.
29341
29342         arpa/inet: fix mingw compilation warning
29343         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29344         Reported by Matthew Bolte.
29345
29346 2010-03-25  Bruno Haible  <bruno@clisp.org>
29347
29348         Avoid collision between gnulib wrapper and libintl wrapper.
29349         * lib/printf.c (printf): Don't define if a printf wrapper is already
29350         defined in intl/printf.c.
29351         Reported by Michel Boaventura <michel@michelboaventura.com>.
29352
29353 2010-03-25  Bruno Haible  <bruno@clisp.org>
29354
29355         Use ANSI C.
29356         * lib/readutmp.h (getutent): Provide ANSI C prototype.
29357
29358 2010-03-25  Bruno Haible  <bruno@clisp.org>
29359
29360         Minor formatting changes.
29361         * lib/acosl.c: Insert space before function argument list.
29362         * lib/argz.c: Likewise.
29363         * lib/asinl.c: Likewise.
29364         * lib/expl.c: Likewise.
29365         * lib/gen-uni-tables.c: Likewise.
29366         * lib/gettext.h: Likewise.
29367         * lib/glthread/lock.h: Likewise.
29368         * lib/tanl.c: Likewise.
29369         * lib/uniname/uniname.c: Likewise.
29370         * tests/test-idpriv-drop.c: Likewise.
29371         * tests/test-idpriv-droptemp.c: Likewise.
29372         * tests/test-lock.c: Likewise.
29373         * tests/test-tls.c: Likewise.
29374         * lib/argp-help.c: Insert space before function-like macro argument
29375         list.
29376         * lib/memcmp.c: Likewise.
29377         * tests/test-base64.c: Likewise.
29378         * lib/localename.c: Insert space before sizeof's argument list.
29379         * lib/safe-alloc.h: Likewise.
29380         * lib/file-set.h: Insert space before macro argument list.
29381         * tests/test-argp.c: Likewise.
29382         * lib/argp-namefrob.h: Insert space before function parameter list.
29383         * lib/getaddrinfo.c: Likewise.
29384         * lib/netdb.in.h: Likewise.
29385         * lib/parse-duration.h: Likewise.
29386         * lib/parse-duration.c: Likewise.
29387         * lib/poll.c: Likewise.
29388         * lib/select.c: Likewise.
29389         * lib/trim.h: Likewise.
29390         * tests/test-usleep.c: Likewise.
29391         * lib/ldexpl.c: Insert space before function parameter list and before
29392         function argument list.
29393         * lib/logl.c: Likewise.
29394         * lib/sqrtl.c: Likewise.
29395         * lib/trim.c: Likewise.
29396         * lib/cosl.c: Use GNU style indentation. Insert space before function
29397         argument list.
29398         * lib/sinl.c: Likewise.
29399         * lib/tsearch.c: Insert space after 'for'.
29400         Reported by Jim Meyering.
29401
29402 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
29403
29404         * maint.mk (sc_Wundef_boolean): Check for the presence of the
29405         config header before grepping, as it's not present before
29406         autoreconf/configure are run.  Reported by Simon Josefsson.
29407
29408 2010-03-23  Bruno Haible  <bruno@clisp.org>
29409
29410         pt_chown: Make it work with automake < 1.11.
29411         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
29412         Reported by Simon Josefsson.
29413
29414 2010-03-23  Bruno Haible  <bruno@clisp.org>
29415
29416         pt_chown: Don't depend on GPLed modules.
29417         * lib/pt_chown.c: Don't include idpriv.h.
29418         (main): Don't drop privileges.
29419         * modules/pt_chown (Depends-on): Remove idpriv-drop.
29420         Reported by Simon Josefsson.
29421
29422 2010-03-24  Simon Josefsson  <simon@josefsson.org>
29423
29424         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
29425         suggestions from karl@freefriends.org (Karl Berry).
29426
29427 2010-03-22  Eric Blake  <eblake@redhat.com>
29428
29429         gethostname: further tweaks
29430         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
29431         are overriding gethostname.
29432         Suggested by Bruno Haible.
29433
29434 2010-03-21  Bruno Haible  <bruno@clisp.org>
29435
29436         Fix comments.
29437         * lib/forkpty.c (rpl_forkpty): Fix comment.
29438         * lib/openpty.c (rpl_openpty): Likewise.
29439         Reported by Eric Blake.
29440
29441 2010-03-22  Eric Blake  <eblake@redhat.com>
29442
29443         gethostname: fix build on mingw
29444         * lib/unistd.in.h (includes): Work around fact that mingw
29445         <winsock2.h> re-includes <unistd.h>, by avoiding any
29446         redeclarations if we are being included by <winsock2.h>.
29447         Reported by Matthias Bolte.
29448
29449 2010-03-21  Bruno Haible  <bruno@clisp.org>
29450
29451         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29452         * lib/forkpty.c (forkpty): New replacement function, from glibc with
29453         modifications.
29454         * lib/pty.in.h (forkpty): Update declaration. Add comments.
29455         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
29456         provide the replacement.
29457         * modules/forkpty (Depends-on): Add openpty, login_tty.
29458         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
29459         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
29460         * doc/glibc-functions/forkpty.texi: More supported platforms.
29461         * config/srclist.txt: Add forkpty.c (commented).
29462
29463 2010-03-21  Bruno Haible  <bruno@clisp.org>
29464
29465         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
29466         (Makefile.am): Verify that PTY_LIB is defined.
29467
29468         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
29469
29470 2010-03-21  Bruno Haible  <bruno@clisp.org>
29471
29472         Tests for module 'login_tty'.
29473         * modules/login_tty-tests: New file.
29474         * tests/test-login_tty.c: New file.
29475
29476         New module 'login_tty'.
29477         * lib/login_tty.c: New file.
29478         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
29479         * modules/login_tty: New file.
29480         * doc/glibc-functions/login_tty.texi: Mention the new module.
29481
29482 2010-03-21  Bruno Haible  <bruno@clisp.org>
29483
29484         login_tty: Documentation.
29485         * doc/glibc-functions/login_tty.texi: New file.
29486         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
29487
29488 2010-03-21  Bruno Haible  <bruno@clisp.org>
29489
29490         pty: Consistent macro naming.
29491         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
29492         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
29493         * modules/pty (configure.ac): Update.
29494
29495 2010-03-21  Bruno Haible  <bruno@clisp.org>
29496
29497         Tests for openpty: Make stricter.
29498         * tests/test-openpty.c (main): Add test of canonical processing and
29499         erase.
29500         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
29501
29502         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29503         * lib/openpty.c (openpty): New replacement function.
29504         * lib/pty.in.h: Include <termios.h>.
29505         (openpty): Update declaration. Add comments.
29506         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
29507         is not declared, arrange to provide the replacement. Check for _getpty
29508         and posix_openpt.
29509         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
29510         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
29511         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
29512         * modules/pty-tests (test_pty_c___LDADD): New variable.
29513         * doc/glibc-functions/openpty.texi: More supported platforms.
29514
29515 2010-03-21  Bruno Haible  <bruno@clisp.org>
29516
29517         setenv: Tweaks.
29518         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
29519         the test program.
29520         * doc/posix-functions/setenv.texi: Update platforms list.
29521
29522 2010-03-21  Bruno Haible  <bruno@clisp.org>
29523
29524         New module 'unlockpt'.
29525         * lib/unlockpt.c: New file, from glibc with modifications.
29526         * m4/unlockpt.m4: New file.
29527         * modules/unlockpt: New file.
29528         * lib/stdlib.in.h (unlockpt): New declaration.
29529         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
29530         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
29531         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
29532         HAVE_UNLOCKPT.
29533         * doc/posix-functions/unlockpt.texi: Mention the new module.
29534         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
29535         * config/srclist.txt: Add unlockpt.c (commented).
29536
29537 2010-03-21  Jim Meyering  <meyering@redhat.com>
29538
29539         maint.mk: prohibit inclusion of "intprops.h" without use
29540         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
29541
29542 2010-03-21  Bruno Haible  <bruno@clisp.org>
29543
29544         New module 'grantpt'.
29545         * lib/grantpt.c: New file, from glibc with modifications.
29546         * m4/grantpt.m4: New file.
29547         * modules/grantpt: New file.
29548         * lib/stdlib.in.h (grantpt): New declaration.
29549         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
29550         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
29551         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
29552         HAVE_GRANTPT.
29553         * doc/posix-functions/grantpt.texi: Mention the new module.
29554         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
29555         * config/srclist.txt: Add grantpt.c (commented).
29556
29557 2010-03-21  Bruno Haible  <bruno@clisp.org>
29558
29559         New module 'pt_chown'.
29560         * lib/pt_chown.c: New file, from glibc with modifications.
29561         * lib/pty-private.h: New file, from glibc with modifications.
29562         * modules/pt_chown: New file.
29563         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
29564
29565 2010-03-21  Bruno Haible  <bruno@clisp.org>
29566
29567         Tests for module 'ptsname'.
29568         * modules/ptsname-tests: New file.
29569         * tests/test-ptsname.c: New file.
29570
29571         New module 'ptsname'.
29572         * lib/ptsname.c: New file, from glibc with modifications.
29573         * m4/ptsname.m4: New file.
29574         * modules/ptsname: New file.
29575         * lib/stdlib.in.h (ptsname): New declaration.
29576         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
29577         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
29578         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
29579         HAVE_PTSNAME.
29580         * doc/posix-functions/ptsname.texi: Mention the new module.
29581         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
29582         * config/srclist.txt: Add ptsname.c (commented).
29583
29584 2010-03-21  Bruno Haible  <bruno@clisp.org>
29585
29586         Tests for module 'ttyname_r'.
29587         * modules/ttyname_r-tests: New file.
29588         * tests/test-ttyname_r.c: New file.
29589
29590         New module 'ttyname_r'.
29591         * lib/ttyname_r.c: New file.
29592         * m4/ttyname_r.m4: New file.
29593         * modules/ttyname_r: New file.
29594         * lib/unistd.in.h (ttyname_r): New declaration.
29595         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
29596         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
29597         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
29598         HAVE_TTYNAME_R.
29599         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
29600         * doc/posix-functions/ttyname_r.texi: Mention the new module.
29601
29602 2010-03-20  Bruno Haible  <bruno@clisp.org>
29603
29604         signal: Undefine macro definitions in C++ mode.
29605         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
29606         sigfillset): Undefine macro definitions from the system header in C++
29607         mode.
29608         Reported by John W. Eaton <jwe@gnu.org>.
29609
29610 2010-03-20  Bruno Haible  <bruno@clisp.org>
29611
29612         Ensure no #include statements inside extern "C" { ... }.
29613         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
29614         contain #include statements.
29615         * lib/time.in.h: Likewise.
29616
29617 2010-03-20  Bruno Haible  <bruno@clisp.org>
29618
29619         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
29620         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
29621         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
29622         Reported by John W. Eaton <jwe@gnu.org>.
29623
29624 2010-03-20  Bruno Haible  <bruno@clisp.org>
29625
29626         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
29627         Reported by Jim Meyering.
29628
29629 2010-03-20  Bruno Haible  <bruno@clisp.org>
29630
29631         pipe: Set errno upon failure.
29632         * lib/pipe.h: Specify that when -1 is returned, errno is set.
29633         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
29634         errno value in error message.
29635
29636 2010-03-20  Bruno Haible  <bruno@clisp.org>
29637             Jim Meyering  <meyering@redhat.com>
29638
29639         lchown: Avoid "unused variable" warning.
29640         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
29641
29642 2010-03-20  Bruno Haible  <bruno@clisp.org>
29643
29644         Work around unlink() bug on MacOS X 10.5.6.
29645         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
29646         attempting to unlink a parent directory.
29647         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
29648         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
29649         activate for the replacement function.
29650         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
29651
29652 2010-03-20  Bruno Haible  <bruno@clisp.org>
29653
29654         Fix link errors on Solaris 8.
29655         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
29656         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
29657
29658 2010-03-19  Jim Meyering  <meyering@redhat.com>
29659
29660         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
29661         The _LIBC implementation of build_range_exp correctly honors the
29662         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
29663         However, the non-_LIBC implementation would ignore that syntax-bit
29664         flag and return REG_ERANGE unconditionally.
29665         This change makes it honor that flag.
29666         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
29667         Make two pointer parameters "const".
29668         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
29669         (parse_bracket_exp): Update caller.
29670
29671         regex.m4: correct the reversed range endpoint ([b-a]) test
29672         * m4/regex.m4: When requiring that [b-a] evoke failure,
29673         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
29674         test pass once again for x86-based systems.
29675
29676 2010-03-19  Bruno Haible  <bruno@clisp.org>
29677
29678         scandir: Fix link error on Solaris 8.
29679         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
29680         macros.
29681
29682 2010-03-19  Bruno Haible  <bruno@clisp.org>
29683
29684         getusershell: Fix documentation.
29685         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
29686         module.
29687         * doc/glibc-functions/setusershell.texi: Likewise.
29688
29689         getusershell: Provide declaration, missing on Solaris 9.
29690         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
29691         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
29692         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
29693         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
29694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29695         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
29696         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
29697         HAVE_GETUSERSHELL.
29698         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
29699
29700 2010-03-19  Bruno Haible  <bruno@clisp.org>
29701
29702         wctype: Provide iswblank function.
29703         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
29704         exists and is fine.
29705         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
29706         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
29707         * tests/test-wctype.c (main): Re-enable the iswblank tests.
29708         * doc/posix-functions/iswblank.texi: Update.
29709
29710 2010-03-19  Bruno Haible  <bruno@clisp.org>
29711
29712         Tests of module 'pty' in C++ mode.
29713         * modules/pty-tests: New file.
29714         * tests/test-pty-c++.cc: New file.
29715         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29716
29717 2010-03-19  Eric Blake  <eblake@redhat.com>
29718
29719         logb: fix documentation
29720         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
29721         1.5 declaration bug.
29722
29723         forkpty, openpty: prefer glibc's const-safe prototype
29724         * lib/forkpty.c (rpl_forkpty): New file.
29725         * lib/openpty.c (rpl_openpty): Likewise.
29726         * modules/forkpty (Files): Distribute it.
29727         * modules/openpty (Files): Likewise.
29728         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
29729         check...
29730         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
29731         replacement for for non-const BSD signature.
29732         * modules/pty (Makefile.am): Substitute witnesses.
29733         * lib/pty.in.h (forkpty, openpty): Declare replacements.
29734         * tests/test-forkpty.c: Update signature check.
29735         * tests/test-openpty.c: Likewise.
29736         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
29737         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29738
29739         forkpty, openpty: split functions into new modules
29740         * modules/pty (Makefile.am): Substitute new witnesses.
29741         (Libraries): Move library detection...
29742         * modules/forkpty: ...into new module.
29743         * modules/openpty: Another new module.
29744         * modules/pty-tests: Rename and split...
29745         * modules/forkpty-tests: ...to this...
29746         * modules/openpty-tests: ...and this.
29747         * tests/test-pty.c: Rename and split...
29748         * tests/test-forkpty.c: ...to this...
29749         * tests/test-openpty.c: ...and this.
29750         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
29751         (gl_PTY): Split library searching...
29752         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
29753         (gl_FORKPTY, gl_OPENPTY): New macros.
29754         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
29755         * NEWS: Mention the split.
29756         * MODULES.html.sh (Misc): Document the modules.
29757         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
29758         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29759
29760         pty: improve replacement header
29761         * lib/pty.in.h: New file.
29762         * modules/pty (Files): Ship it.
29763         (Makefile.am): Always build replacement.
29764         * m4/pty.m4: Rename...
29765         * m4/pty_h.m4: ...to this.
29766         (gl_PTY): Modernize setting of witness macros; update check of
29767         forkpty to take proper advantage of cache.
29768         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
29769
29770         getopt: avoid compiler warning
29771         * lib/getopt.c (attribute_hidden): Remove unused macro.
29772
29773 2010-03-18  Bruno Haible  <bruno@clisp.org>
29774
29775         Fix link errors on Solaris 8.
29776         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
29777         * modules/search-tests (test_search_c___LDADD): Likewise.
29778         * modules/signal-tests (test_signal_c___LDADD): Likewise.
29779         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
29780         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
29781         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
29782         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
29783         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
29784         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
29785
29786 2010-03-18  Bruno Haible  <bruno@clisp.org>
29787
29788         Fix bug introduced on 2010-03-14.
29789         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
29790         (gl_SPAWN_H): Require it.
29791         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
29792         Reported by Simon Josefsson.
29793
29794 2010-03-18  Bruno Haible  <bruno@clisp.org>
29795
29796         Fix typo introduced on 2009-12-31.
29797         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
29798         posix_spawn_file_actions_adddup2.
29799
29800 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
29801         and Eric Blake  <eblake@redhat.com>
29802
29803         test-vc-list-files-git: make more robust
29804         * tests/test-vc-list-files-git.sh: Unset problematic environment
29805         variables.  Chain commands together.
29806
29807 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
29808
29809         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
29810         `AC_CHECK_DECL' invocation.
29811
29812 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
29813
29814         * lib/inttostr.c (inttostr): Make sure the invocation of verify
29815         appears before executable statements. Suggested by Petr Sumbera
29816         <Petr.Sumbera@Sun.COM>.
29817
29818 2010-03-14  Bruno Haible  <bruno@clisp.org>
29819
29820         * tests/test-flock.c (test_exclusive): Comment out a test that causes
29821         portability problems. Instead use a simpler test.
29822         (main): Check that invalid arguments are rejected only on Linux.
29823
29824 2010-03-14  Bruno Haible  <bruno@clisp.org>
29825
29826         Fix bug introduced on 2009-12-31.
29827         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
29828         gl_PREREQ_SYS_H_WINSOCK2 always.
29829         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
29830         SYS_SOCKET_H variable.
29831         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
29832         Update comments.
29833         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
29834         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29835         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29836         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
29837         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
29838
29839 2010-03-14  Bruno Haible  <bruno@clisp.org>
29840
29841         Fix values returned by sinl, cosl.
29842         * lib/trigl.h: Add specification comments.
29843         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
29844         that combines the values from the precomputed table with the values of
29845         the Chebyshev polynomials.
29846
29847 2010-03-14  Bruno Haible  <bruno@clisp.org>
29848
29849         Fix compilation error when modules 'posix_spawn[p]' are not used.
29850         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
29851         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
29852
29853 2010-03-14  Bruno Haible  <bruno@clisp.org>
29854
29855         Fix compilation error on mingw when module 'time_r' is not used.
29856         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
29857         is 1.
29858         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
29859         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29860         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
29861         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
29862
29863 2010-03-14  Bruno Haible  <bruno@clisp.org>
29864
29865         Fix compilation error with Sun C.
29866         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
29867         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
29868         instead of GCC specific ULONG_LONG_MAX.
29869         * lib/xstrtoll.c: Likewise.
29870         * lib/xstrtoull.c: Likewise.
29871
29872 2010-03-13  Bruno Haible  <bruno@clisp.org>
29873
29874         Allow the user to disable C++ code and tests.
29875         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
29876         (gl_PROG_ANSI_CXX): Require it.
29877
29878 2010-03-13  Bruno Haible  <bruno@clisp.org>
29879
29880         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
29881         cases.
29882
29883 2010-03-13  Bruno Haible  <bruno@clisp.org>
29884
29885         Test that gnulib does not break the standard C++ headers.
29886         * tests/test-locale-c++2.cc: New file.
29887         * modules/locale-tests (Files): Add it.
29888         (Makefile.am): Compile it for test-locale-c++.
29889         * tests/test-math-c++2.cc: New file.
29890         * modules/math-tests (Files): Add it.
29891         (Makefile.am): Compile it for test-math-c++.
29892         * tests/test-signal-c++2.cc: New file.
29893         * modules/signal-tests (Files): Add it.
29894         (Makefile.am): Compile it for test-signal-c++.
29895         * tests/test-stdio-c++2.cc: New file.
29896         * modules/stdio-tests (Files): Add it.
29897         (Makefile.am): Compile it for test-stdio-c++.
29898         * tests/test-stdlib-c++2.cc: New file.
29899         * modules/stdlib-tests (Files): Add it.
29900         (Makefile.am): Compile it for test-stdlib-c++.
29901         * tests/test-string-c++2.cc: New file.
29902         * modules/string-tests (Files): Add it.
29903         (Makefile.am): Compile it for test-string-c++.
29904         * tests/test-time-c++2.cc: New file.
29905         * modules/time-tests (Files): Add it.
29906         (Makefile.am): Compile it for test-time-c++.
29907         Reported by John W. Eaton <jwe@gnu.org>.
29908
29909 2010-03-13  Bruno Haible  <bruno@clisp.org>
29910
29911         * gnulib-tool (func_usage): Clarify which options are available for
29912         --create-testdir and --create-megatestdir.
29913
29914 2010-03-13  Bruno Haible  <bruno@clisp.org>
29915
29916         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
29917         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
29918         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
29919         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
29920         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
29921         when appropriate.
29922         Reported by Jim Meyering.
29923
29924 2010-03-12  Simon Josefsson  <simon@josefsson.org>
29925
29926         * gnulib-tool (func_import): Explain origin of code.
29927
29928 2010-03-12  Bruno Haible  <bruno@clisp.org>
29929
29930         Fix problem with automake's definition of CXXLINK.
29931         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
29932         Reported by Simon Josefsson and Ludovic Courtès.
29933
29934 2010-03-12  Bruno Haible  <bruno@clisp.org>
29935
29936         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
29937         stable releases.
29938
29939 2010-03-11  Bruno Haible  <bruno@clisp.org>
29940
29941         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
29942         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
29943         whether the system provides one variant or multiple variants of the
29944         function.
29945         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
29946         C++ compilers.
29947         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
29948         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
29949         Reported by Jim Meyering.
29950
29951 2010-03-09  Simon Josefsson  <simon@josefsson.org>
29952
29953         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
29954
29955 2010-03-08  Bruno Haible  <bruno@clisp.org>
29956
29957         gnulib-tool: Add support for --libtool in --create-testdir.
29958         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
29959         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
29960
29961 2010-03-08  Eric Blake  <eblake@redhat.com>
29962
29963         gnulib-tool.texi: mention possibility of git submodule
29964         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
29965         submodules.
29966         * doc/.gitignore: Ignore another generated file.
29967
29968 2010-03-08  Karl Berry  <karl@gnu.org>
29969
29970         * doc/gnulib-tool.texi (VCS Issues): Mention third option
29971         of committing gnulib files while skipping others.
29972
29973 2010-03-07  Bruno Haible  <bruno@clisp.org>
29974
29975         Tests of module 'wctype' in C++ mode.
29976         * tests/test-wctype-c++.cc: New file.
29977         * modules/wctype-tests (Files): Add it and tests/signature.h.
29978         (Depends-on): Add ansi-c++-opt.
29979         (Makefile.am): Arrange to compile and run test-wctype-c++.
29980
29981         Tests of module 'wchar' in C++ mode.
29982         * tests/test-wchar-c++.cc: New file.
29983         * modules/wchar-tests (Files): Add it and tests/signature.h.
29984         (Depends-on): Add ansi-c++-opt.
29985         (Makefile.am): Arrange to compile and run test-wchar-c++.
29986         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
29987         gl_MODULE_INDICATOR.
29988
29989         Tests of module 'unistd' in C++ mode.
29990         * tests/test-unistd-c++.cc: New file.
29991         * modules/unistd-tests (Files): Add it and tests/signature.h.
29992         (Depends-on): Add ansi-c++-opt.
29993         (Makefile.am): Arrange to compile and run test-unistd-c++.
29994         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
29995         gl_MODULE_INDICATOR.
29996
29997         Tests of module 'time' in C++ mode.
29998         * tests/test-time-c++.cc: New file.
29999         * modules/time-tests (Files): Add it and tests/signature.h.
30000         (Depends-on): Add ansi-c++-opt.
30001         (Makefile.am): Arrange to compile and run test-time-c++.
30002         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30003
30004         Tests of module 'sys_time' in C++ mode.
30005         * tests/test-sys_time-c++.cc: New file.
30006         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30007         (Depends-on): Add ansi-c++-opt.
30008         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30009         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30010         gl_MODULE_INDICATOR.
30011
30012         Tests of module 'sys_stat' in C++ mode.
30013         * tests/test-sys_stat-c++.cc: New file.
30014         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30015         (Depends-on): Add ansi-c++-opt.
30016         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30017         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30018         gl_MODULE_INDICATOR.
30019
30020         Tests of module 'sys_socket' in C++ mode.
30021         * tests/test-sys_socket-c++.cc: New file.
30022         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30023         (Depends-on): Add ansi-c++-opt.
30024         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30025         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30026         gl_MODULE_INDICATOR.
30027
30028         Tests of module 'sys_select' in C++ mode.
30029         * tests/test-sys_select-c++.cc: New file.
30030         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30031         (Depends-on): Add ansi-c++-opt.
30032         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30033         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30034         gl_MODULE_INDICATOR.
30035
30036         Tests of module 'sys_ioctl' in C++ mode.
30037         * tests/test-sys_ioctl-c++.cc: New file.
30038         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30039         (Depends-on): Add ansi-c++-opt.
30040         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30041         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30042         gl_MODULE_INDICATOR.
30043
30044         Tests of module 'string' in C++ mode.
30045         * tests/test-string-c++.cc: New file.
30046         * modules/string-tests (Files): Add it and tests/signature.h.
30047         (Depends-on): Add ansi-c++-opt.
30048         (Makefile.am): Arrange to compile and run test-string-c++.
30049         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30050         gl_MODULE_INDICATOR.
30051
30052         Tests of module 'stdlib' in C++ mode.
30053         * tests/test-stdlib-c++.cc: New file.
30054         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30055         (Depends-on): Add ansi-c++-opt.
30056         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30057         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30058         gl_MODULE_INDICATOR.
30059
30060         Tests of module 'stdio' in C++ mode.
30061         * tests/test-stdio-c++.cc: New file.
30062         * modules/stdio-tests (Files): Add it and tests/signature.h.
30063         (Depends-on): Add ansi-c++-opt.
30064         (Makefile.am): Arrange to compile and run test-stdio-c++.
30065         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30066         gl_MODULE_INDICATOR.
30067
30068         Tests of module 'spawn' in C++ mode.
30069         * tests/test-spawn-c++.cc: New file.
30070         * modules/spawn-tests (Files): Add it and tests/signature.h.
30071         (Depends-on): Add ansi-c++-opt.
30072         (Makefile.am): Arrange to compile and run test-spawn-c++.
30073         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30074         gl_MODULE_INDICATOR.
30075
30076         Tests of module 'signal' in C++ mode.
30077         * tests/test-signal-c++.cc: New file.
30078         * modules/signal-tests (Files): Add it and tests/signature.h.
30079         (Depends-on): Add ansi-c++-opt.
30080         (Makefile.am): Arrange to compile and run test-signal-c++.
30081         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30082         gl_MODULE_INDICATOR.
30083
30084         Tests of module 'search' in C++ mode.
30085         * tests/test-search-c++.cc: New file.
30086         * modules/search-tests (Files): Add it and tests/signature.h.
30087         (Depends-on): Add ansi-c++-opt.
30088         (Makefile.am): Arrange to compile and run test-search-c++.
30089         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30090         gl_MODULE_INDICATOR.
30091
30092         Tests of module 'math' in C++ mode.
30093         * tests/test-math-c++.cc: New file.
30094         * modules/math-tests (Files): Add it and tests/signature.h.
30095         (Depends-on): Add ansi-c++-opt.
30096         (Makefile.am): Arrange to compile and run test-math-c++.
30097         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30098
30099         Tests of module 'locale' in C++ mode.
30100         * tests/test-locale-c++.cc: New file.
30101         * modules/locale-tests (Files): Add it and tests/signature.h.
30102         (Depends-on): Add ansi-c++-opt.
30103         (Makefile.am): Arrange to compile and run test-locale-c++.
30104         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30105         gl_MODULE_INDICATOR.
30106
30107         Tests of module 'langinfo' in C++ mode.
30108         * tests/test-langinfo-c++.cc: New file.
30109         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30110         (Depends-on): Add ansi-c++-opt.
30111         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30112         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30113         gl_MODULE_INDICATOR.
30114
30115         Tests of module 'iconv-h' in C++ mode.
30116         * tests/test-iconv-h-c++.cc: New file.
30117         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30118         (Depends-on): Add ansi-c++-opt.
30119         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30120
30121         Tests of module 'glob' in C++ mode.
30122         * tests/test-glob-c++.cc: New file.
30123         * modules/glob-tests (Files): Add it.
30124         (Depends-on): Add ansi-c++-opt.
30125         (Makefile.am): Arrange to compile and run test-glob-c++.
30126
30127         Tests of module 'fcntl-h' in C++ mode.
30128         * tests/test-fcntl-h-c++.cc: New file.
30129         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30130         (Depends-on): Add ansi-c++-opt.
30131         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30132         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30133         gl_MODULE_INDICATOR.
30134
30135         Tests of module 'dirent' in C++ mode.
30136         * tests/test-dirent-c++.cc: New file.
30137         * modules/dirent-tests (Files): Add it and tests/signature.h.
30138         (Depends-on): Add ansi-c++-opt.
30139         (Makefile.am): Arrange to compile and run test-dirent-c++.
30140         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30141         gl_MODULE_INDICATOR.
30142
30143         New module 'ansi-c++-opt'.
30144         * modules/ansi-c++-opt: New file.
30145         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30146
30147         Document C++ namespace mode.
30148         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30149
30150         wctype: Avoid #define replacements in C++ mode.
30151         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30152         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30153         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30154         In C++, define a namespaced alias symbol.
30155         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30156         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30157         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30158         rule.
30159
30160         wchar: Avoid #define replacements in C++ mode.
30161         * lib/wchar.in.h: Include c++defs.h.
30162         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30163         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30164         symbol.
30165         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30166         * modules/wchar (Depends-on): Add c++defs.
30167         (Makefile.am): Update wchar.h rule.
30168
30169         unistd: Avoid #define replacements in C++ mode.
30170         * lib/unistd.in.h: Include c++defs.h.
30171         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30172         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30173         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30174         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30175         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30176         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30177         symbol.
30178         (environ): Update.
30179         * modules/unistd (Depends-on): Add c++defs.
30180         (Makefile.am): Update unistd.h rule.
30181
30182         time: Avoid #define replacements in C++ mode.
30183         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30184         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30185         define a namespaced alias symbol.
30186         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30187         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30188         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30189         * modules/time (Depends-on): Add c++defs, warn-on-use.
30190         (Makefile.am): Update time.h rule.
30191         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30192         * modules/nanosleep (configure.ac): Likewise.
30193         * modules/strptime (configure.ac): Likewise.
30194         * modules/timegm (configure.ac): Likewise.
30195
30196         sys_time: Avoid #define replacements in C++ mode.
30197         * lib/sys_time.in.h: Include c++defs.h.
30198         (gettimeofday): In C++, define a namespaced alias symbol.
30199         * modules/sys_time (Depends-on): Add c++defs.
30200         (Makefile.am): Update sys/time.h rule.
30201
30202         sys_stat: Avoid #define replacements in C++ mode.
30203         * lib/sys_stat.in.h: Include c++defs.h.
30204         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30205         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30206         namespaced alias symbol.
30207         In C++, define a namespaced alias symbol.
30208         * modules/sys_stat (Depends-on): Add c++defs.
30209         (Makefile.am): Update sys/stat.h rule.
30210
30211         sys_socket: Avoid #define replacements in C++ mode.
30212         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30213         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30214         definitions also when the system has a <sys/socket.h>.
30215         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30216         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30217         In C++, define a namespaced alias symbol.
30218         * modules/sys_socket (Depends-on): Add c++defs.
30219         (Makefile.am): Update sys/socket.h rule.
30220
30221         sys_select: Avoid #define replacements in C++ mode.
30222         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30223         definitions also when the system has a <sys/select.h>.
30224         (select): In C++, define a namespaced alias symbol.
30225         * modules/sys_select (Depends-on): Add c++defs.
30226         (Makefile.am): Update sys/select.h rule.
30227
30228         sys_ioctl: Avoid #define replacements in C++ mode.
30229         * lib/sys_ioctl.in.h: Include c++defs.h.
30230         (ioctl): In C++, define a namespaced alias symbol.
30231         * modules/sys_ioctl (Depends-on): Add c++defs.
30232         (Makefile.am): Update sys/ioctl.h rule.
30233
30234         string: Avoid #define replacements in C++ mode.
30235         * lib/string.in.h: Include c++defs.h.
30236         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30237         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30238         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30239         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30240         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30241         * modules/string (Depends-on): Add c++defs.
30242         (Makefile.am): Update string.h rule.
30243
30244         stdlib: Avoid #define replacements in C++ mode.
30245         * lib/stdlib.in.h: Include c++defs.h.
30246         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30247         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30248         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30249         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30250         symbol.
30251         * modules/stdlib (Depends-on): Add c++defs.
30252         (Makefile.am): Update stdlib.h rule.
30253
30254         stdio: Avoid #define replacements in C++ mode.
30255         * lib/stdio.in.h: Include c++defs.h.
30256         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30257         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30258         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30259         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30260         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30261         namespaced alias symbol.
30262         * modules/stdio (Depends-on): Add c++defs.
30263         (Makefile.am): Update stdio.h rule.
30264
30265         spawn: Avoid #define replacements in C++ mode.
30266         * lib/spawn.in.h: Include c++defs.h.
30267         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30268         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30269         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30270         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30271         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30272         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30273         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30274         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30275         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30276         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30277         In C++, define a namespaced alias symbol.
30278         * modules/spawn (Depends-on): Add c++defs.
30279         (Makefile.am): Update spawn.h rule.
30280
30281         signal: Avoid #define replacements in C++ mode.
30282         * lib/signal.in.h: Include c++defs.h.
30283         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30284         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30285         namespaced alias symbol.
30286         * modules/signal (Depends-on): Add c++defs.
30287         (Makefile.am): Update signal.h rule.
30288
30289         search: Avoid #define replacements in C++ mode.
30290         * lib/search.in.h: Include c++defs.h.
30291         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30292         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30293         symbol.
30294         * modules/search (Depends-on): Add c++defs.
30295         (Makefile.am): Update search.h rule.
30296
30297         math: Avoid #define replacements in C++ mode.
30298         * lib/math.in.h: Include c++defs.h.
30299         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30300         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30301         trunc, truncl): In C++, define a namespaced alias symbol.
30302         * modules/math (Depends-on): Add c++defs.
30303         (Makefile.am): Update math.h rule.
30304
30305         locale: Avoid #define replacements in C++ mode.
30306         * lib/locale.in.h: Include c++defs.h.
30307         (duplocale): In C++, define a namespaced alias symbol.
30308         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30309         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30310         * modules/locale (Depends-on): Add c++defs.
30311         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30312
30313         langinfo: Avoid #define replacements in C++ mode.
30314         * lib/langinfo.in.h: Include c++defs.h.
30315         (nl_langinfo): In C++, define a namespaced alias symbol.
30316         * modules/langinfo (Depends-on): Add c++defs.
30317         (Makefile.am): Update langinfo.h rule.
30318
30319         iconv-h: Avoid #define replacements in C++ mode.
30320         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
30321         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
30322         symbol.
30323         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30324         whenever iconv is present.
30325         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
30326         (Makefile.am): Update iconv.h rule.
30327
30328         glob: Avoid #define replacements in C++ mode.
30329         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
30330         (_gl_glob_errfunc_fn): New type.
30331         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
30332         symbol.
30333         * modules/glob (Depends-on): Add c++defs, warn-on-use.
30334         (Makefile.am): Update glob.h rule.
30335
30336         fcntl-h: Avoid #define replacements in C++ mode.
30337         * lib/fcntl.in.h: Include c++defs.h.
30338         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30339         * modules/fcntl-h (Depends-on): Add c++defs.
30340         (Makefile.am): Update fcntl.h rule.
30341
30342         dirent: Avoid #define replacements in C++ mode.
30343         * lib/dirent.in.h: Include c++defs.h.
30344         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30345         namespaced alias symbol.
30346         (dirfd): Update declaration.
30347         * modules/dirent (Depends-on): Add c++defs.
30348         (Makefile.am): Update dirent.h rule.
30349
30350         ctype: Make it usable in C++ code.
30351         * lib/ctype.in.h: Include c++defs.h.
30352         (isblank): Declare as extern "C".
30353         * modules/ctype (Depends-on): Add c++defs.
30354         (Makefile.am): Update ctype.h rule.
30355
30356         New module 'c++defs'.
30357         * modules/c++defs: New file.
30358         * build-aux/c++defs.h: New file.
30359         Reported by John W. Eaton <jwe@gnu.org>.
30360
30361 2010-03-07  Bruno Haible  <bruno@clisp.org>
30362
30363         logb: Provide missing declaration for Cygwin.
30364         * lib/math.in.h (logb): New declaration.
30365         * m4/logb.m4: New file.
30366         * modules/logb (Files): Add m4/logb.m4.
30367         (Depends-on): Add math.
30368         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
30369         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
30370         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
30371         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
30372         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
30373
30374 2010-03-07  Bruno Haible  <bruno@clisp.org>
30375
30376         Fix test-cond link error.
30377         * tests/test-cond.c: Include <stdio.h>.
30378
30379 2010-03-07  Bruno Haible  <bruno@clisp.org>
30380
30381         Fix test-dirent-safer link error.
30382         * modules/dirent-safer-tests (Makefile.am): Define
30383         test_dirent_safer_LDADD.
30384
30385 2010-03-07  Bruno Haible  <bruno@clisp.org>
30386
30387         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
30388         among default module list.
30389
30390 2010-03-07  Bruno Haible  <bruno@clisp.org>
30391
30392         Fix link error on platforms with GNU libiconv.
30393         * modules/unistr/u8-strcoll-tests (Makefile): Define
30394         test_u8_strcoll_LDADD.
30395         * modules/unistr/u16-strcoll-tests (Makefile): Define
30396         test_u16_strcoll_LDADD.
30397         * modules/unistr/u32-strcoll-tests (Makefile): Define
30398         test_u32_strcoll_LDADD.
30399
30400 2010-03-07  Bruno Haible  <bruno@clisp.org>
30401
30402         Use POSIX declarations for socket functions.
30403         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
30404         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
30405         rpl_sendto): Change declaration to match POSIX.
30406         * lib/connect.c (rpl_connect): Likewise.
30407         * lib/accept.c (rpl_accept): Likewise.
30408         * lib/bind.c (rpl_bind): Likewise.
30409         * lib/getpeername.c (rpl_getpeername): Likewise.
30410         * lib/getsockname.c (rpl_getsockname): Likewise.
30411         * lib/recv.c (rpl_recv): Likewise.
30412         * lib/send.c (rpl_send): Likewise.
30413         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30414         * lib/sendto.c (rpl_sendto): Likewise.
30415
30416 2010-03-06  Bruno Haible  <bruno@clisp.org>
30417
30418         Clarify access, euidaccess, faccessat.
30419         * doc/posix-functions/faccessat.texi: Mention security problem under
30420         "Other problems", not "Portability problems".
30421         * doc/posix-functions/access.texi: Likewise. Mention a related security
30422         problem.
30423         * doc/glibc-functions/euidaccess.texi: Mention security problems.
30424         * lib/euidaccess.c: Add comments about platforms.
30425         * lib/unistd.in.h (access, euidaccess): Add warnings.
30426
30427 2010-03-07  Bruno Haible  <bruno@clisp.org>
30428
30429         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
30430         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
30431         (POSIX_SPAWN_SETSCHEDULER): Likewise.
30432         (POSIX_SPAWN_USEVFORK): Define in a way that works when
30433         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30434         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
30435         declare when POSIX_SPAWN_SETSCHEDULER is zero.
30436         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
30437         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
30438         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
30439         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
30440         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
30441         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
30442         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
30443         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
30444         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
30445         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
30446         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
30447         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
30448         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
30449         Likewise.
30450         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
30451         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
30452         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
30453         Likewise.
30454         * tests/test-spawn.c (main): Make it work when
30455         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30456
30457 2010-03-07  Bruno Haible  <bruno@clisp.org>
30458
30459         Fix incorrect Makefile.am generation in German locale.
30460         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30461         Execute sed command with character range in C locale.
30462
30463 2010-03-06  Bruno Haible  <bruno@clisp.org>
30464
30465         Tests for module 'iconv-h'.
30466         * modules/iconv-h-tests: New file.
30467         * tests/test-iconv-h.c: New file.
30468
30469         New module 'iconv-h'.
30470         * modules/iconv-h: New file.
30471         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
30472         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
30473         (configure.ac): Remove gl_ICONV_H.
30474         (Makefile.am): Remove rule for iconv.h.
30475
30476 2010-03-06  Bruno Haible  <bruno@clisp.org>
30477
30478         More consistent naming of *.m4 files.
30479         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
30480         * modules/wctype (Files): Update.
30481
30482         More consistent naming of *.m4 files.
30483         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
30484         * modules/wchar (Files): Update.
30485
30486 2010-03-06  Jim Meyering  <meyering@redhat.com>
30487
30488         euidaccess: relax license to LGPLv2+
30489         * modules/euidaccess (License): Relax to LGPLv2+.
30490
30491 2010-03-06  Bruno Haible  <bruno@clisp.org>
30492
30493         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
30494         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
30495         (Makefile.am): Augment lib_SOURCES instead.
30496
30497 2010-03-04  Jim Meyering  <meyering@redhat.com>
30498
30499         utime: remove obsolete module
30500         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
30501         unnecessary for years, and has been marked as obsolete for 10 months.
30502         * modules/utime: Remove file.
30503         * lib/utime.c: Remove file.
30504         * m4/utime.m4: Remove file.
30505         * m4/utimes-null.m4: Remove file.
30506         * doc/posix-functions/utime.texi (utime): Remove reference to
30507         the module.  Move the sole "fixed by gnulib" item into the
30508         "problems not fixed by Gnulib" list.
30509         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
30510
30511 2010-03-05  Simon Josefsson  <simon@josefsson.org>
30512
30513         * modules/exit (License): Relax license to LGPLv2+.
30514         (Status): Mark as obsolete.
30515         * NEWS: Mention deprecated 'exit' module.
30516         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
30517         of now obsolete 'exit'.
30518
30519 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30520
30521         fts-lgpl: remove unused module
30522         * modules/fts-lgpl: Remove.
30523         * MODULES.html.sh (func_all_modules): Adjust.
30524         * check-module (find_included_lib_files): Adjust.
30525         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
30526
30527 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
30528
30529         copy-acl: enhance Solaris ACL error handling
30530         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
30531         * lib/set-mode-acl.c (qset_acl): Likewise.
30532
30533 2010-03-02  Bruno Haible  <bruno@clisp.org>
30534
30535         spawn: Don't override the system defined values on FreeBSD 8.
30536         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
30537         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
30538         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
30539         if HAVE_POSIX_SPAWN is 1.
30540         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
30541
30542 2010-03-01  Bruno Haible  <bruno@clisp.org>
30543
30544         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
30545         regarding Automake.
30546
30547 2010-02-25  Bruno Haible  <bruno@clisp.org>
30548
30549         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
30550         * gnulib-tool: Define 'echo' as a function only before the ksh alias
30551         setting, not afterwards.
30552         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
30553
30554 2010-02-24  Eric Blake  <eblake@redhat.com>
30555
30556         bootstrap, git-version-gen: use timestamp
30557         * build-aux/git-version-gen (scriptversion): Force UTC.
30558         * build-aux/bootstrap (scriptversion): New variable.
30559
30560         bootstrap: allow older git
30561         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
30562         older than 1.6.4.  Requested by the libvirt project.
30563
30564 2010-02-23  Eric Blake  <eblake@redhat.com>
30565
30566         warn-on-use: work with old autoconf
30567         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
30568         AS_VAR semantics of autoconf 2.60.
30569         Reported by Bruno Haible.
30570
30571         bootstrap: improve some comments
30572         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
30573         clarification comments.
30574
30575         gettimeofday: provide correct function
30576         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
30577         when replacement is declared, otherwise provide gettimeofday.
30578         Reported by Michael Goffioul.
30579
30580 2010-02-23  Jim Meyering  <meyering@redhat.com>
30581
30582         lib-ignore: relax license to "unlimited", not LGPLv2+
30583         * modules/lib-ignore (License): Relax to "unlimited".
30584
30585 2010-02-23  Jim Meyering  <meyering@redhat.com>
30586
30587         lib-ignore: relax license to LGPLv2+
30588         * modules/lib-ignore (License): Relax to LGPLv2+.
30589
30590 2010-02-22  Eric Blake  <eblake@redhat.com>
30591
30592         lseek: avoid bash 3.2 broken pipe bug
30593         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
30594         warning from bash 3.2.
30595         Reported by Ben Pfaff, with analysis from Bruno Haible.
30596
30597         bootstrap: support non-FSF copyright holder
30598         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
30599         bootstrap.conf override of COPYRIGHT_HOLDER.
30600         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
30601
30602         bootstrap: interoperate with gettext 0.14.1
30603         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
30604
30605         bootstrap: allow for alternate submodule location
30606         * build-aux/bootstrap (gnulib_path): New variable; use instead of
30607         hardcoding submodule location.
30608         (gnulib_mk): Allow direct use of Makefile.am.
30609
30610         bootstrap: use GNULIB_SRCDIR to reduce disk usage
30611         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
30612         rather than reconfiguring where the submodule points.
30613
30614         gettimeofday: restore support for platforms that lack function
30615         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
30616         replacement if function is missing.
30617         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
30618         * modules/sys_time (Makefile.am): Substitute it.
30619         * lib/sys_time.in.h (gettimeofday): Check it.
30620         Reported by Michael Goffioul.
30621
30622 2010-02-21  Bruno Haible  <bruno@clisp.org>
30623
30624         * lib/stdio.in.h (obstack_printf): Fix typo.
30625
30626 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
30627
30628         vc-list-files: use bzr ls's -R option
30629         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
30630         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
30631
30632 2010-02-21  Jim Meyering  <meyering@redhat.com>
30633
30634         init.sh: fix EXEEXT shims to work also for names like test-prog
30635         * tests/init.sh: Re-exec a better shell, when needed.
30636         If the current shell lacks support for posix $(...), an init.sh-using
30637         test will now try to find a shell that supports that.  If EXEEXT is
30638         nonempty, we also require support for hyphen-in-alias-name and shell
30639         substitutions like ${var#glob}.  Failure to find such a shell results
30640         in a skipped test.
30641
30642 2010-02-21  Bruno Haible  <bruno@clisp.org>
30643
30644         Really work around around "broken pipe" error message from bash 3.2.
30645         * gnulib-tool (func_reset_sigpipe): Remove function.
30646         (echo): In bash 3.2, define to a function that uses printf.
30647         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
30648
30649 2010-02-20  Bruno Haible  <bruno@clisp.org>
30650
30651         Restore support for automake 1.9.6 with autoconf 2.61.
30652         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
30653         Reported by James Youngman <jay@gnu.org>.
30654
30655 2010-02-20  Bruno Haible  <bruno@clisp.org>
30656
30657         Improve *printf warning condition.
30658         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
30659         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
30660         and the function is overridden due to SIGPIPE emulation.
30661
30662 2010-02-20  Bruno Haible  <bruno@clisp.org>
30663
30664         * lib/stdio.in.h: Tweak comments.
30665
30666 2010-02-19  Bruno Haible  <bruno@clisp.org>
30667
30668         Make it easier to find modules. New gnulib-tool option '--find'.
30669         * gnulib-tool: New option --find.
30670         (func_usage): Document it.
30671         (func_sanitize_modulelist): New function, extracted from
30672         func_all_modules.
30673         (func_all_modules): Invoke it.
30674         * doc/gnulib-tool.texi (Which modules?): New node.
30675
30676 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
30677
30678         * lib/sys_select.in.h: Provide select replacement even if
30679         sys/select.h exists on a system, for Interix.
30680
30681 2010-02-18  Jim Meyering  <meyering@redhat.com>
30682
30683         init.sh: don't use $(...) just yet
30684         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
30685         to accommodate e.g., Solaris' /bin/sh.
30686
30687 2010-02-17  Bruno Haible  <bruno@clisp.org>
30688
30689         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
30690         Reported by Ludovic Courtès <ludo@gnu.org>.
30691
30692 2010-02-16  Simon Josefsson  <simon@josefsson.org>
30693
30694         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
30695         linking with -lintl.
30696
30697 2010-02-17  Simon Josefsson  <simon@josefsson.org>
30698
30699         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
30700         if not provided by the system's netdb.h.  Reported by
30701         ludo@gnu.org (Ludovic Courtès).
30702
30703 2010-02-15  Jim Meyering  <meyering@redhat.com>
30704
30705         init.sh: improve portability and efficiency
30706         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
30707         "dummy" in a for loop.
30708         Use '!', not '^' to select the complement of a character set used
30709         in a "case" statement.
30710         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
30711         Suggestions from Eric Blake.
30712
30713         init.sh: automatically accommodate programs with the .exe suffix
30714         Automatically arrange for an invocation of "prog" to execute the
30715         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
30716         may use the simpler "prog", yet still work when built on a system
30717         that requires specifying the added suffix.
30718         Do this by constructing a function named "prog" that invokes
30719         "prog.exe" for each .exe file in selected directories.
30720         * tests/init.sh (find_exe_basenames_): New function.
30721         (create_exe_shim_functions_): New function.
30722         (path_prepend_): Use it.
30723
30724         maint.mk: mark syntax-check sc_*.m rules as .PHONY
30725         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
30726         "make -t syntax-check" doesn't create a ton of sc_*.m files.
30727
30728 2010-02-14  Jim Meyering  <meyering@redhat.com>
30729
30730         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
30731         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
30732         (sc_prohibit_hash_pjw_without_use): New rule.
30733
30734         maint.mk: allow the default upload destination dir to be overridden
30735         * top/maint.mk (upload_dest_dir_): Define with a default that
30736         preserves the status quo.
30737         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
30738         Reported by Peter Simons.
30739
30740         maint.mk: prohibit inclusion of "hash.h" without_use
30741         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
30742
30743 2010-02-10  Jim Meyering  <meyering@redhat.com>
30744
30745         maint.mk: prohibit inclusion of "ignore-value.h" without_use
30746         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
30747
30748 2010-02-09  Eric Blake  <ebb9@byu.net>
30749         and Bruno Haible  <bruno@clisp.org>
30750
30751         obstack-printf-posix: ensure declaration
30752         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
30753         extracted from gl_FUNC_OBSTACK_PRINTF.
30754         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
30755         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
30756         Likewise.
30757         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
30758         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
30759         0.
30760
30761 2010-02-08  Bruno Haible  <bruno@clisp.org>
30762
30763         gnulib-tool: Fix typo in 2010-02-07 commit.
30764         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
30765         Reported by Eric Blake.
30766
30767 2010-02-07  Bruno Haible  <bruno@clisp.org>
30768
30769         gnulib-tool: Fix up caching patches.
30770         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
30771         option --no-cache. Use associative arrays when supported by the shell.
30772         (sed_comments): New variable.
30773         (modcache): Renamed from do_cache.
30774         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
30775         abbreviate unnecessarily.
30776         (have_associative): New variable.
30777         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
30778         way also for ksh and zsh.
30779         (func_init_sed_convert_to_cache_statements): New function, extracted
30780         from func_cache_lookup_module. Add support for associative arrays.
30781         Don't set the c_MODULE_cached variable here. Ignore all lines before
30782         the first field header. Remove only the final newline, not all trailing
30783         newlines. Support empty fields correctly. Limit the use of 'eval' to
30784         assignments.
30785         (func_get_description, func_get_status, func_get_notice,
30786         func_get_applicability, func_get_filelist, func_get_dependencies,
30787         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
30788         func_get_automake_snippet, func_get_include_directive,
30789         func_get_link_directive, func_get_license, func_get_maintainer):
30790         Update documentation. List the unoptimized code first. Add support for
30791         associative arrays. Limit the use of 'eval' to assignments.
30792         (func_get_applicability): Undo stylistic pessimisations.
30793         (func_get_automake_snippet, func_get_include_directive): Reduce code
30794         duplication.
30795         (func_modules_transitive_closure, func_modules_add_dummy,
30796         func_modules_notice, func_modules_to_filelist, func_add_file,
30797         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
30798         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
30799         func_create_testdir, func_create_megatestdir): Update documentation.
30800
30801 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30802
30803         * gnulib-tool (func_cache_lookup_module): Store the module name
30804         belonging to the cache variable; error out if two different
30805         module names map to the same cache variable name.
30806
30807 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30808
30809         gnulib-tool: Make caching optional.
30810         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
30811         Update matching short versions of --no-changelog.
30812         (func_usage): Update.
30813         (sed_extract_cache_prog): Renamed from ...
30814         (sed_extract_prog): ... this; revert to old extraction script.
30815         (func_get_description, func_get_status)
30816         (func_get_notice, func_get_applicability, func_get_filelist)
30817         (func_get_dependencies, func_get_autoconf_early_snippet)
30818         (func_get_autoconf_snippet, func_get_automake_snippet)
30819         (func_get_include_directive, func_get_link_directive)
30820         (func_get_license, func_get_maintainer): If $do_cache is false,
30821         use old, non-caching extraction scripts.
30822         Suggestion by Bruno Haible.
30823
30824 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30825
30826         gnulib-tool: cache module metainformation.
30827         * gnulib-tool (sed_extract_prog): Match newline before each
30828         header, and rewrite header to a shell variable suffix.
30829         (func_cache_var, func_cache_lookup_module): New functions,
30830         to turn a module name into a cache variable prefix, and to
30831         look up and cache module metainformation.
30832         (func_get_description, func_get_status)
30833         (func_get_notice, func_get_applicability, func_get_filelist)
30834         (func_get_dependencies, func_get_autoconf_early_snippet)
30835         (func_get_autoconf_snippet, func_get_automake_snippet)
30836         (func_get_include_directive, func_get_link_directive)
30837         (func_get_license, func_get_maintainer): Use
30838         func_cache_lookup_module.
30839
30840 2010-02-07  Bruno Haible  <bruno@clisp.org>
30841
30842         fnctl: Fix missing dependency.
30843         * modules/fcntl (Depends-on): Add getdtablesize.
30844         Reported by John W. Eaton <jwe@gnu.org>.
30845
30846 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30847
30848         Argp: fix recognition of short alias options.
30849
30850         * lib/argp-parse.c (convert_options): Fix improper use of
30851         `|' between character values.
30852         * tests/test-argp.c (group1_option): New alias option
30853         --read (-r).
30854         (group1_parser): Special handling for 'r'.
30855         (test15): New test case.
30856         (test_fun): Add test15.
30857         * tests/test-argp-2.sh: Update expected --help and --usage
30858         outputs.
30859
30860 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30861
30862         * tests/test-argp.c: Fix indentation.
30863
30864 2010-02-04  Eric Blake  <ebb9@byu.net>
30865
30866         gettimeofday: expose type of second argument
30867         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
30868         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
30869         * tests/test-gettimeofday.c: Use it to silence warning.
30870         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
30871         the issue.
30872
30873 2010-02-03  Jim Meyering  <meyering@redhat.com>
30874
30875         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
30876         * lib/regcomp.c (TYPE_SIGNED): Define.
30877         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
30878
30879         regcomp.c: avoid a new -Wshadow warning
30880         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
30881
30882 2010-02-01  Jim Meyering  <meyering@redhat.com>
30883
30884         removing useless parentheses in cpp #define directives
30885         For motivation, see commit c0221df4, "define STREQ(a,b)
30886         consistently, removing useless parentheses"
30887         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
30888         * lib/mountlist.c (MNT_IGNORE): Likewise.
30889         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
30890
30891 2010-02-01  Eric Blake  <ebb9@byu.net>
30892
30893         sys_time: use link-warning
30894         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
30895         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
30896         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
30897         * modules/sys_time (Depends-on): Add warn-on-use.
30898         (Makefile.am): Always build replacement.
30899         (configure.ac): Update substitutions.
30900         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
30901         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
30902         bother with SYS_TIME_H.
30903         * modules/gettimeofday (configure.ac): Declare indicator.
30904         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
30905         in use.
30906
30907         closein-tests: silence compiler warning
30908         * tests/test-closein.c (main): Ignore fread result.
30909         * modules/closein-tests (Depends-on): Add ignore-value.
30910
30911         tests: silence warning about system return
30912         * tests/test-areadlink-with-size.c (main): Ignore system result.
30913         * tests/test-areadlink.c (main): Likewise.
30914         * tests/test-areadlinkat-with-size.c (main): Likewise.
30915         * tests/test-areadlinkat.c (main): Likewise.
30916         * tests/test-canonicalize-lgpl.c (main): Likewise.
30917         * tests/test-canonicalize.c (main): Likewise.
30918         * tests/test-chown.c (main): Likewise.
30919         * tests/test-fchownat.c (main): Likewise.
30920         * tests/test-fdutimensat.c (main): Likewise.
30921         * tests/test-fstatat.c (main): Likewise.
30922         * tests/test-futimens.c (main): Likewise.
30923         * tests/test-lchown.c (main): Likewise.
30924         * tests/test-link.c (main): Likewise.
30925         * tests/test-linkat.c (main): Likewise.
30926         * tests/test-lstat.c (main): Likewise.
30927         * tests/test-mkdir.c (main): Likewise.
30928         * tests/test-mkdirat.c (main): Likewise.
30929         * tests/test-mkfifo.c (main): Likewise.
30930         * tests/test-mkfifoat.c (main): Likewise.
30931         * tests/test-mknod.c (main): Likewise.
30932         * tests/test-readlink.c (main): Likewise.
30933         * tests/test-remove.c (main): Likewise.
30934         * tests/test-rename.c (main): Likewise.
30935         * tests/test-renameat.c (main): Likewise.
30936         * tests/test-rmdir.c (main): Likewise.
30937         * tests/test-symlink.c (main): Likewise.
30938         * tests/test-symlinkat.c (main): Likewise.
30939         * tests/test-unlink.c (main): Likewise.
30940         * tests/test-unlinkat.c (main): Likewise.
30941         * tests/test-utimens.c (main): Likewise.
30942         * tests/test-utimensat.c (main): Likewise.
30943         * modules/areadlink-tests (Depends-on): Add ignore-value.
30944         * modules/areadlink-with-size-tests (Depends-on): Likewise.
30945         * modules/areadlinkat-tests (Depends-on): Likewise.
30946         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
30947         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30948         * modules/canonicalize-tests (Depends-on): Likewise.
30949         * modules/chown-tests (Depends-on): Likewise.
30950         * modules/fdutimensat-tests (Depends-on): Likewise.
30951         * modules/futimens-tests (Depends-on): Likewise.
30952         * modules/lchown-tests (Depends-on): Likewise.
30953         * modules/link-tests (Depends-on): Likewise.
30954         * modules/linkat-tests (Depends-on): Likewise.
30955         * modules/lstat-tests (Depends-on): Likewise.
30956         * modules/mkdir-tests (Depends-on): Likewise.
30957         * modules/mkfifo-tests (Depends-on): Likewise.
30958         * modules/mkfifoat-tests (Depends-on): Likewise.
30959         * modules/mknod-tests (Depends-on): Likewise.
30960         * modules/openat-tests (Depends-on): Likewise.
30961         * modules/readlink-tests (Depends-on): Likewise.
30962         * modules/remove-tests (Depends-on): Likewise.
30963         * modules/rename-tests (Depends-on): Likewise.
30964         * modules/renameat-tests (Depends-on): Likewise.
30965         * modules/rmdir-tests (Depends-on): Likewise.
30966         * modules/symlink-tests (Depends-on): Likewise.
30967         * modules/symlinkat-tests (Depends-on): Likewise.
30968         * modules/unlink-tests (Depends-on): Likewise.
30969         * modules/utimens-tests (Depends-on): Likewise.
30970         * modules/utimensat-tests (Depends-on): Likewise.
30971
30972 2010-01-31  Bruno Haible  <bruno@clisp.org>
30973
30974         Perform the same test for many <math.h> functions.
30975         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
30976         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
30977         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
30978         of gl_MATHFUNC.
30979         * modules/acos (configure.ac): Likewise.
30980         * modules/asin (configure.ac): Likewise.
30981         * modules/atan (configure.ac): Likewise.
30982         * modules/atan2 (configure.ac): Likewise.
30983         * modules/cbrt (configure.ac): Likewise.
30984         * modules/copysign (configure.ac): Likewise.
30985         * modules/cos (configure.ac): Likewise.
30986         * modules/cosh (configure.ac): Likewise.
30987         * modules/erf (configure.ac): Likewise.
30988         * modules/erfc (configure.ac): Likewise.
30989         * modules/exp (configure.ac): Likewise.
30990         * modules/fmod (configure.ac): Likewise.
30991         * modules/hypot (configure.ac): Likewise.
30992         * modules/j0 (configure.ac): Likewise.
30993         * modules/j1 (configure.ac): Likewise.
30994         * modules/jn (configure.ac): Likewise.
30995         * modules/lgamma (configure.ac): Likewise.
30996         * modules/log (configure.ac): Likewise.
30997         * modules/log10 (configure.ac): Likewise.
30998         * modules/log1p (configure.ac): Likewise.
30999         * modules/pow (configure.ac): Likewise.
31000         * modules/remainder (configure.ac): Likewise.
31001         * modules/sin (configure.ac): Likewise.
31002         * modules/sinh (configure.ac): Likewise.
31003         * modules/tan (configure.ac): Likewise.
31004         * modules/tanh (configure.ac): Likewise.
31005         * modules/y0 (configure.ac): Likewise.
31006         * modules/y1 (configure.ac): Likewise.
31007         * modules/yn (configure.ac): Likewise.
31008         Suggested by Paolo Bonzini.
31009
31010 2010-01-31  Bruno Haible  <bruno@clisp.org>
31011
31012         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31013
31014 2010-01-31  Bruno Haible  <bruno@clisp.org>
31015
31016         Work around getdelim() bug on FreeBSD 8.0.
31017         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31018         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31019         not work.
31020         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31021         is 1.
31022         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31023         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31024         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31025         a non-zero size.
31026         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31027
31028 2010-01-31  Bruno Haible  <bruno@clisp.org>
31029
31030         Work around getline() bug on FreeBSD 8.0.
31031         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31032         and a non-zero size.
31033         * tests/test-getline.c (main): Likewise.
31034         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31035         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31036
31037 2010-01-28  Eric Blake  <ebb9@byu.net>
31038
31039         regex: fix build failure
31040         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31041         platforms.
31042
31043 2010-01-28  Jim Meyering  <meyering@redhat.com>
31044
31045         regex: do not ignore memory allocation failure
31046         * lib/regex_internal.c (create_cd_newstate): Detect
31047         re_node_set_init_copy failure.   Extracted from glibc commit
31048         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31049
31050         regex: sync more white-space changes from libc
31051         * lib/regex_internal.c: White-space only changes.
31052         * lib/regexec.c: Likewise.
31053
31054         regex: add many uses of __attribute_warn_unused_result__
31055         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31056         * lib/regexec.c: Likewise.
31057         Extracted from a messy glibc commit.
31058
31059         regcomp.c: spelling and merge-artifact from glibc
31060         * lib/regcomp.c: Merge remainder of glibc's
31061         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31062
31063         regcomp.c: sync white-space changes from glibc
31064         * lib/regcomp.c: Merge to accommodate white space
31065         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31066
31067         regcomp.c: do not ignore internal return values
31068         * lib/regcomp.c: Do not ignore internal return values.
31069         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31070         but without its white-space changes and spelling fixes.
31071
31072         regex_internal.h: define __attribute_warn_unused_result__
31073         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31074
31075         maint: add a syntax-check rule to check for vulnerable Makefile.in
31076         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31077
31078 2010-01-27  Jim Meyering  <meyering@redhat.com>
31079
31080         ncftpput-ftp: clean up spaces
31081         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31082         Remove trailing blanks.
31083
31084 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31085
31086         * build-aux/git-version-gen: Fix copyright statement.
31087         * build-aux/gnupload: Likewise.
31088         * tests/test-arcfour.c: Likewise.
31089         * tests/test-arctwo.c: Likewise.
31090         * tests/test-count-one-bits.c: Likewise.
31091         * tests/test-crc.c: Likewise.
31092         * tests/test-des.c: Likewise.
31093         * tests/test-gc-arcfour.c: Likewise.
31094         * tests/test-gc-arctwo.c: Likewise.
31095         * tests/test-gc-des.c: Likewise.
31096         * tests/test-gc-hmac-md5.c: Likewise.
31097         * tests/test-gc-hmac-sha1.c: Likewise.
31098         * tests/test-gc-md2.c: Likewise.
31099         * tests/test-gc-md4.c: Likewise.
31100         * tests/test-gc-md5.c: Likewise.
31101         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31102         * tests/test-gc-rijndael.c: Likewise.
31103         * tests/test-gc-sha1.c: Likewise.
31104         * tests/test-gc.c: Likewise.
31105         * tests/test-gethostname.c: Likewise.
31106         * tests/test-gettimeofday.c: Likewise.
31107         * tests/test-hash.c: Likewise.
31108         * tests/test-hmac-md5.c: Likewise.
31109         * tests/test-hmac-sha1.c: Likewise.
31110         * tests/test-md2.c: Likewise.
31111         * tests/test-md4.c: Likewise.
31112         * tests/test-md5.c: Likewise.
31113         * tests/test-memchr.c: Likewise.
31114         * tests/test-memchr2.c: Likewise.
31115         * tests/test-memcmp.c: Likewise.
31116         * tests/test-memmem.c: Likewise.
31117         * tests/test-memrchr.c: Likewise.
31118         * tests/test-rawmemchr.c: Likewise.
31119         * tests/test-read-file.c: Likewise.
31120         * tests/test-rijndael.c: Likewise.
31121         * tests/test-sockets.c: Likewise.
31122         * tests/test-strchrnul.c: Likewise.
31123         * tests/test-strstr.c: Likewise.
31124         * tests/test-strtod.c: Likewise.
31125         * build-aux/ncftpput-ftp: Likewise.
31126
31127 2010-01-26  Eric Blake  <ebb9@byu.net>
31128
31129         ignore-value: update recommended header name
31130         * modules/ignore-value (Include): Only use <> for headers that
31131         exist in glibc.
31132
31133 2010-01-26  Jim Meyering  <meyering@redhat.com>
31134
31135         test-userspec.c: avoid compiler warnings
31136         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31137         and "initialization discards qualifiers..." warnings.
31138         Put the first "uid" in its own scope, and make char* members "const".
31139
31140 2010-01-25  Bruno Haible  <bruno@clisp.org>
31141
31142         gnulib-tool: Make warning diagnostics consistent.
31143         * gnulib-tool (func_warning): New function.
31144         Use it everywhere where gnulib-tool produces output to stderr and it is
31145         not a fatal error.
31146
31147 2010-01-25  Bruno Haible  <bruno@clisp.org>
31148
31149         Fix test dependencies.
31150         * modules/xstrtol-tests (Depends-on): Add inttypes.
31151         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31152
31153 2010-01-25 Pádraig Brady <P@draigBrady.com>
31154
31155         syntax-check: detect incorrect boolean macro values in config.h
31156         * modules/maintainer-makefile (configure.ac): Parameterize the location
31157         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31158         The logic is from Eric Blake and the location indicated by Jim Meyering.
31159         Note the more natural CONFIG_HEADER name is prohibited by automake
31160         for backwards compatibility reasons.
31161         * top/maint.mk (sc_Wundef_boolean): New rule.
31162
31163 2010-01-25  Jim Meyering  <meyering@redhat.com>
31164
31165         bootstrap: detect MacOS 10.6's shasum, too
31166         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31167         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31168
31169 2010-01-23  Jim Meyering  <meyering@redhat.com>
31170
31171         xstrtoll: new module
31172         * modules/xstrtoll: New file.
31173         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31174         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31175         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31176         ./configure fails if you use this module and lack "long long".
31177         * modules/xstrtoll-tests: New module.
31178         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31179         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31180         new init.sh-based test framework.
31181
31182 2010-01-24  Bruno Haible  <bruno@clisp.org>
31183
31184         Tests for module 'yn'.
31185         * modules/yn-tests: New file.
31186         * tests/test-yn.c: New file.
31187
31188         Tests for module 'y1'.
31189         * modules/y1-tests: New file.
31190         * tests/test-y1.c: New file.
31191
31192         Tests for module 'y0'.
31193         * modules/y0-tests: New file.
31194         * tests/test-y0.c: New file.
31195
31196         Tests for module 'tanh'.
31197         * modules/tanh-tests: New file.
31198         * tests/test-tanh.c: New file.
31199
31200         Tests for module 'tan'.
31201         * modules/tan-tests: New file.
31202         * tests/test-tan.c: New file.
31203
31204         Tests for module 'sqrt'.
31205         * modules/sqrt-tests: New file.
31206         * tests/test-sqrt.c: New file.
31207
31208         Tests for module 'sinh'.
31209         * modules/sinh-tests: New file.
31210         * tests/test-sinh.c: New file.
31211
31212         Tests for module 'sin'.
31213         * modules/sin-tests: New file.
31214         * tests/test-sin.c: New file.
31215
31216         Tests for module 'rint'.
31217         * modules/rint-tests: New file.
31218         * tests/test-rint.c: New file.
31219
31220         Tests for module 'remainder'.
31221         * modules/remainder-tests: New file.
31222         * tests/test-remainder.c: New file.
31223
31224         Tests for module 'pow'.
31225         * modules/pow-tests: New file.
31226         * tests/test-pow.c: New file.
31227
31228         Tests for module 'nextafter'.
31229         * modules/nextafter-tests: New file.
31230         * tests/test-nextafter.c: New file.
31231
31232         Tests for module 'modf'.
31233         * modules/modf-tests: New file.
31234         * tests/test-modf.c: New file.
31235
31236         Tests for module 'logb'.
31237         * modules/logb-tests: New file.
31238         * tests/test-logb.c: New file.
31239
31240         Tests for module 'log1p'.
31241         * modules/log1p-tests: New file.
31242         * tests/test-log1p.c: New file.
31243
31244         Tests for module 'log10'.
31245         * modules/log10-tests: New file.
31246         * tests/test-log10.c: New file.
31247
31248         Tests for module 'log'.
31249         * modules/log-tests: New file.
31250         * tests/test-log.c: New file.
31251
31252         Tests for module 'lgamma'.
31253         * modules/lgamma-tests: New file.
31254         * tests/test-lgamma.c: New file.
31255
31256         Tests for module 'ldexp'.
31257         * modules/ldexp-tests: New file.
31258         * tests/test-ldexp.c: New file.
31259
31260         Tests for module 'jn'.
31261         * modules/jn-tests: New file.
31262         * tests/test-jn.c: New file.
31263
31264         Tests for module 'j1'.
31265         * modules/j1-tests: New file.
31266         * tests/test-j1.c: New file.
31267
31268         Tests for module 'j0'.
31269         * modules/j0-tests: New file.
31270         * tests/test-j0.c: New file.
31271
31272         Tests for module 'hypot'.
31273         * modules/hypot-tests: New file.
31274         * tests/test-hypot.c: New file.
31275
31276         Tests for module 'fmod'.
31277         * modules/fmod-tests: New file.
31278         * tests/test-fmod.c: New file.
31279
31280         Tests for module 'fabs'.
31281         * modules/fabs-tests: New file.
31282         * tests/test-fabs.c: New file.
31283
31284         Tests for module 'exp'.
31285         * modules/exp-tests: New file.
31286         * tests/test-exp.c: New file.
31287
31288         Tests for module 'erfc'.
31289         * modules/erfc-tests: New file.
31290         * tests/test-erfc.c: New file.
31291
31292         Tests for module 'erf'.
31293         * modules/erf-tests: New file.
31294         * tests/test-erf.c: New file.
31295
31296         Tests for module 'cosh'.
31297         * modules/cosh-tests: New file.
31298         * tests/test-cosh.c: New file.
31299
31300         Tests for module 'cos'.
31301         * modules/cos-tests: New file.
31302         * tests/test-cos.c: New file.
31303
31304         Tests for module 'copysign'.
31305         * modules/copysign-tests: New file.
31306         * tests/test-copysign.c: New file.
31307
31308         Tests for module 'cbrt'.
31309         * modules/cbrt-tests: New file.
31310         * tests/test-cbrt.c: New file.
31311
31312         Tests for module 'atan2'.
31313         * modules/atan2-tests: New file.
31314         * tests/test-atan2.c: New file.
31315
31316         Tests for module 'atan'.
31317         * modules/atan-tests: New file.
31318         * tests/test-atan.c: New file.
31319
31320         Tests for module 'asin'.
31321         * modules/asin-tests: New file.
31322         * tests/test-asin.c: New file.
31323
31324         Tests for module 'acos'.
31325         * modules/acos-tests: New file.
31326         * tests/test-acos.c: New file.
31327
31328 2010-01-24  Bruno Haible  <bruno@clisp.org>
31329
31330         Fix tests for common <math.h> functions.
31331         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
31332         code snippet that references the function pointer, rather than merely
31333         calling the function. Substitute the FUNC_LIBM variable.
31334         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31335         * modules/acos (configure.ac): Likewise.
31336         * modules/asin (configure.ac): Likewise.
31337         * modules/atan (configure.ac): Likewise.
31338         * modules/atan2 (configure.ac): Likewise.
31339         * modules/cbrt (configure.ac): Likewise.
31340         * modules/copysign (configure.ac): Likewise.
31341         * modules/cos (configure.ac): Likewise.
31342         * modules/cosh (configure.ac): Likewise.
31343         * modules/erf (configure.ac): Likewise.
31344         * modules/erfc (configure.ac): Likewise.
31345         * modules/exp (configure.ac): Likewise.
31346         * modules/fabs (configure.ac): Likewise.
31347         * modules/fmod (configure.ac): Likewise.
31348         * modules/hypot (configure.ac): Likewise.
31349         * modules/j0 (configure.ac): Likewise.
31350         * modules/j1 (configure.ac): Likewise.
31351         * modules/jn (configure.ac): Likewise.
31352         * modules/ldexp (configure.ac): Likewise.
31353         * modules/lgamma (configure.ac): Likewise.
31354         * modules/log (configure.ac): Likewise.
31355         * modules/log10 (configure.ac): Likewise.
31356         * modules/log1p (configure.ac): Likewise.
31357         * modules/logb (configure.ac): Likewise.
31358         * modules/modf (configure.ac): Likewise.
31359         * modules/nextafter (configure.ac): Likewise.
31360         * modules/pow (configure.ac): Likewise.
31361         * modules/remainder (configure.ac): Likewise.
31362         * modules/rint (configure.ac): Likewise.
31363         * modules/sin (configure.ac): Likewise.
31364         * modules/sinh (configure.ac): Likewise.
31365         * modules/tan (configure.ac): Likewise.
31366         * modules/tanh (configure.ac): Likewise.
31367         * modules/y0 (configure.ac): Likewise.
31368         * modules/y1 (configure.ac): Likewise.
31369         * modules/yn (configure.ac): Likewise.
31370
31371 2010-01-24  Bruno Haible  <bruno@clisp.org>
31372
31373         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
31374         * tests/test-acosl.c (x): New variable.
31375         (main): Store argument in x and fetch it from x.
31376         * tests/test-asinl.c (x): New variable.
31377         (main): Store argument in x and fetch it from x.
31378         * tests/test-atanl.c (x): New variable.
31379         (main): Store argument in x and fetch it from x.
31380         * tests/test-cosl.c (x): New variable.
31381         (main): Store argument in x and fetch it from x.
31382         * tests/test-expl.c (x): New variable.
31383         (main): Store argument in x and fetch it from x.
31384         * tests/test-logl.c (x): New variable.
31385         (main): Store argument in x and fetch it from x.
31386         * tests/test-sinl.c (x): New variable.
31387         (main): Store argument in x and fetch it from x.
31388         * tests/test-sqrtl.c (x): New variable.
31389         (main): Store argument in x and fetch it from x.
31390         * tests/test-tanl.c (x): New variable.
31391         (main): Store argument in x and fetch it from x.
31392
31393 2010-01-24  Bruno Haible  <bruno@clisp.org>
31394
31395         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
31396         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
31397         assignments to the initial TESTS_ENVIRONMENT.
31398         * doc/gnulib.texi (Unit test modules): Document it.
31399         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
31400         TESTS_ENVIRONMENT.
31401         * modules/btowc-tests (Makefile.am): Likewise.
31402         * modules/c-stack-tests (Makefile.am): Likewise.
31403         * modules/c-strcase-tests (Makefile.am): Likewise.
31404         * modules/copy-file-tests (Makefile.am): Likewise.
31405         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
31406         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
31407         * modules/mbrtowc-tests (Makefile.am): Likewise.
31408         * modules/mbscasecmp-tests (Makefile.am): Likewise.
31409         * modules/mbscasestr-tests (Makefile.am): Likewise.
31410         * modules/mbschr-tests (Makefile.am): Likewise.
31411         * modules/mbscspn-tests (Makefile.am): Likewise.
31412         * modules/mbsinit-tests (Makefile.am): Likewise.
31413         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
31414         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
31415         * modules/mbspbrk-tests (Makefile.am): Likewise.
31416         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
31417         * modules/mbsrchr-tests (Makefile.am): Likewise.
31418         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
31419         * modules/mbsspn-tests (Makefile.am): Likewise.
31420         * modules/mbsstr-tests (Makefile.am): Likewise.
31421         * modules/nl_langinfo-tests (Makefile.am): Likewise.
31422         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
31423         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
31424         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
31425         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
31426         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
31427         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
31428         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
31429         * modules/wcrtomb-tests (Makefile.am): Likewise.
31430         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
31431         * modules/wcsrtombs-tests (Makefile.am): Likewise.
31432         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
31433         assignments from TESTS_ENVIRONMENT.
31434         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
31435         augmentation.
31436         * modules/argp-version-etc-tests (Makefile.am): Likewise.
31437         * modules/atexit-tests (Makefile.am): Likewise.
31438         * modules/binary-io-tests (Makefile.am): Likewise.
31439         * modules/closein-tests (Makefile.am): Likewise.
31440         * modules/dprintf-posix-tests (Makefile.am): Likewise.
31441         * modules/exclude-tests (Makefile.am): Likewise.
31442         * modules/fflush-tests (Makefile.am): Likewise.
31443         * modules/fpending-tests (Makefile.am): Likewise.
31444         * modules/fprintf-posix-tests (Makefile.am): Likewise.
31445         * modules/freadahead-tests (Makefile.am): Likewise.
31446         * modules/freadptr-tests (Makefile.am): Likewise.
31447         * modules/freadseek-tests (Makefile.am): Likewise.
31448         * modules/fseek-tests (Makefile.am): Likewise.
31449         * modules/fseeko-tests (Makefile.am): Likewise.
31450         * modules/ftell-tests (Makefile.am): Likewise.
31451         * modules/ftello-tests (Makefile.am): Likewise.
31452         * modules/idpriv-drop-tests (Makefile.am): Likewise.
31453         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
31454         * modules/lseek-tests (Makefile.am): Likewise.
31455         * modules/parse-duration-tests (Makefile.am): Likewise.
31456         * modules/perror-tests (Makefile.am): Likewise.
31457         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
31458         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
31459         * modules/pipe-tests (Makefile.am): Likewise.
31460         * modules/pread-tests (Makefile.am): Likewise.
31461         * modules/printf-posix-tests (Makefile.am): Likewise.
31462         * modules/select-tests (Makefile.am): Likewise.
31463         * modules/sigpipe-tests (Makefile.am): Likewise.
31464         * modules/tsearch-tests (Makefile.am): Likewise.
31465         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
31466         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
31467         * modules/uniname/uniname-tests (Makefile.am): Likewise.
31468         * modules/uniwidth/width-tests (Makefile.am): Likewise.
31469         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
31470         * modules/version-etc-tests (Makefile.am): Likewise.
31471         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
31472         * modules/vprintf-posix-tests (Makefile.am): Likewise.
31473         * modules/xalloc-die-tests (Makefile.am): Likewise.
31474         * modules/xprintf-posix-tests (Makefile.am): Likewise.
31475         * modules/xstrtoimax-tests (Makefile.am): Likewise.
31476         * modules/xstrtol-tests (Makefile.am): Likewise.
31477         * modules/xstrtoumax-tests (Makefile.am): Likewise.
31478         * modules/yesno-tests (Makefile.am): Likewise.
31479         Suggested by Jim Meyering.
31480
31481 2010-01-24  Bruno Haible  <bruno@clisp.org>
31482
31483         More documentation.
31484         * doc/gnulib.texi (Writing modules): New chapter.
31485         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
31486         the new chapter.
31487
31488 2010-01-24  Jim Meyering  <meyering@redhat.com>
31489
31490         maint.mk: do not prepend "./" after filtering
31491         * top/maint.mk (_prepend_srcdir_prefix): New variable
31492         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
31493         "./" when $(srcdir) is ".".
31494
31495         define STREQ(a,b) consistently, removing useless parentheses
31496         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
31497         since the only risk is that "a" or "b" contains an unparenthesized
31498         comma, but if either did that, STREQ would have 3 or more arguments.
31499         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
31500         * lib/fts.c (STREQ): Remove unnecessary parentheses.
31501         * lib/hash-triple.c (STREQ): Likewise.
31502         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
31503         * lib/getugroups.c (STREQ): Likewise.
31504
31505 2010-01-23  Jim Meyering  <meyering@redhat.com>
31506
31507         maint.mk: fix syntax-check in a non-srcdir build directory
31508         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
31509         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
31510
31511 2010-01-22  Jim Meyering  <meyering@redhat.com>
31512
31513         userspec: add unit tests
31514         * tests/test-userspec.c: New file.
31515         * modules/userspec-tests: Likewise.
31516
31517 2010-01-21  Jim Meyering  <meyering@redhat.com>
31518
31519         maint.mk: handle source file names containing "." robustly
31520         * top/maint.mk (_dot_escaped_srcdir): Define.
31521         (VC_LIST): Use it in LHS of sed substitution.
31522
31523 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
31524
31525         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
31526         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
31527         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
31528         from a non-srcdir build.
31529
31530 2010-01-20  Eric Blake  <ebb9@byu.net>
31531
31532         warn-on-use: use instead of link-warning
31533         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
31534         * modules/unistd (Depends-on, Makefile.am): Likewise.
31535         * modules/arpa_inet (Depends-on): Replace link-warning with
31536         warn-on-use.
31537         (Makefile.am): Update rules accordingly.
31538         * modules/ctype (Depends-on, Makefile.am): Likewise.
31539         * modules/dirent (Depends-on, Makefile.am): Likewise.
31540         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
31541         * modules/inttypes (Depends-on, Makefile.am): Likewise.
31542         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31543         * modules/locale (Depends-on, Makefile.am): Likewise.
31544         * modules/math (Depends-on, Makefile.am): Likewise.
31545         * modules/search (Depends-on, Makefile.am): Likewise.
31546         * modules/signal (Depends-on, Makefile.am): Likewise.
31547         * modules/spawn (Depends-on, Makefile.am): Likewise.
31548         * modules/stdlib (Depends-on, Makefile.am): Likewise.
31549         * modules/string (Depends-on, Makefile.am): Likewise.
31550         * modules/strings (Depends-on, Makefile.am): Likewise.
31551         * modules/sys_file (Depends-on, Makefile.am): Likewise.
31552         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
31553         * modules/sys_select (Depends-on, Makefile.am): Likewise.
31554         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
31555         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
31556         * modules/sys_times (Depends-on, Makefile.am): Likewise.
31557         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31558         * modules/wchar (Depends-on, Makefile.am): Likewise.
31559         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
31560         should be poisoned.
31561         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
31562         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
31563         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
31564         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31565         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31566         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31567         * m4/math_h.m4 (gl_MATH_H): Likewise.
31568         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31569         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31570         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31571         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31572         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31573         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31574         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
31575         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
31576         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
31577         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31578         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31579         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31580         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31581         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31582         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31583         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31584         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
31585         GL_LINK_WARNING.
31586         * lib/ctype.in.h: Likewise.
31587         * lib/dirent.in.h: Likewise.
31588         * lib/fcntl.in.h: Likewise.
31589         * lib/inttypes.in.h: Likewise.
31590         * lib/langinfo.in.h: Likewise.
31591         * lib/locale.in.h: Likewise.
31592         * lib/math.in.h: Likewise.
31593         * lib/search.in.h: Likewise.
31594         * lib/signal.in.h: Likewise.
31595         * lib/spawn.in.h: Likewise.
31596         * lib/stdio.in.h: Likewise.
31597         * lib/stdlib.in.h: Likewise.
31598         * lib/string.in.h: Likewise.
31599         * lib/strings.in.h: Likewise.
31600         * lib/sys_file.in.h: Likewise.
31601         * lib/sys_ioctl.in.h: Likewise.
31602         * lib/sys_select.in.h: Likewise.
31603         * lib/sys_socket.in.h: Likewise.
31604         * lib/sys_stat.in.h: Likewise.
31605         * lib/sys_times.in.h: Likewise.
31606         * lib/sys_utsname.in.h: Likewise.
31607         * lib/unistd.in.h: Likewise.
31608         * lib/wchar.in.h: Likewise.
31609
31610 2010-01-20  Bruno Haible  <bruno@clisp.org>
31611
31612         Avoid duplicate -lm.
31613         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
31614         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
31615         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
31616         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
31617         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
31618         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
31619         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
31620         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
31621         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
31622         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
31623         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
31624         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31625         Reported by Paolo Bonzini.
31626
31627 2010-01-19  Bruno Haible  <bruno@clisp.org>
31628
31629         langinfo, nl_langinfo: Relicense under LGPLv2+.
31630         * modules/langinfo (License): Change to LGPLv2+.
31631         * modules/nl_langinfo (License): Likewise.
31632         Patch by David Lutterkort <lutter@redhat.com>.
31633
31634 2010-01-19  Bruno Haible  <bruno@clisp.org>
31635
31636         Avoid compilation error with cc on OSF/1 5.1.
31637         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
31638         statement, not before.
31639         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31640
31641 2010-01-18  Bruno Haible  <bruno@clisp.org>
31642
31643         Avoid a link error due to the __printf__ symbol.
31644         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
31645         and 2.6.x.
31646         (__format__, __printf__): Remove definitions.
31647         * lib/argp-fmtstream.h: Likewise.
31648         * lib/argp.h: Likewise.
31649         * lib/error.h: Likewise.
31650         * lib/vasnprintf.h: Likewise.
31651         * lib/xprintf.h: Likewise.
31652         * lib/xvasprintf.h: Likewise.
31653         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31654
31655 2010-01-18  Bruno Haible  <bruno@clisp.org>
31656
31657         Tests for module 'tanl'.
31658         * modules/tanl-tests: New file.
31659         * tests/test-tanl.c: New file.
31660
31661         Tests for module 'sqrtl'.
31662         * modules/sqrtl-tests: New file.
31663         * tests/test-sqrtl.c: New file.
31664
31665         Tests for module 'sinl'.
31666         * modules/sinl-tests: New file.
31667         * tests/test-sinl.c: New file.
31668
31669         Tests for module 'logl'.
31670         * modules/logl-tests: New file.
31671         * tests/test-logl.c: New file.
31672
31673         Tests for module 'expl'.
31674         * modules/expl-tests: New file.
31675         * tests/test-expl.c: New file.
31676
31677         Tests for module 'cosl'.
31678         * modules/cosl-tests: New file.
31679         * tests/test-cosl.c: New file.
31680
31681         Tests for module 'atanl'.
31682         * modules/atanl-tests: New file.
31683         * tests/test-atanl.c: New file.
31684
31685         Tests for module 'asinl'.
31686         * modules/asinl-tests: New file.
31687         * tests/test-asinl.c: New file.
31688
31689         Tests for module 'acosl'.
31690         * modules/acosl-tests: New file.
31691         * tests/test-acosl.c: New file.
31692
31693         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31694         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
31695         tanl): Use the standard gnulib idiom.
31696         * lib/cosl.c: Don't include trigl.c and sincosl.c.
31697         * lib/sinl.c: Likewise.
31698         * lib/tanl.c: Don't include trigl.c.
31699         (kernel_tanl): Make static.
31700         * lib/sincosl.c: Include trigl.h first.
31701         * lib/trigl.c: Likewise.
31702         * m4/acosl.m4: New file.
31703         * m4/asinl.m4: New file.
31704         * m4/atanl.m4: New file.
31705         * m4/cosl.m4: New file.
31706         * m4/expl.m4: New file.
31707         * m4/logl.m4: New file.
31708         * m4/sinl.m4: New file.
31709         * m4/sqrtl.m4: New file.
31710         * m4/tanl.m4: New file.
31711         * m4/mathl.m4: Remove file.
31712         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
31713         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31714         Don't initialize GNULIB_MATHL.
31715         * modules/acosl: New file.
31716         * modules/asinl: New file.
31717         * modules/atanl: New file.
31718         * modules/cosl: New file.
31719         * modules/expl: New file.
31720         * modules/logl: New file.
31721         * modules/sinl: New file.
31722         * modules/sqrtl: New file.
31723         * modules/tanl: New file.
31724         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
31725         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
31726         substitute GNULIB_MATHL.
31727         * modules/mathl: Rewritten.
31728         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
31729         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
31730         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
31731         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
31732         * doc/posix-functions/expl.texi: Mention the 'expl' module.
31733         * doc/posix-functions/logl.texi: Mention the 'logl' module.
31734         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
31735         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
31736         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
31737
31738 2010-01-18  Bruno Haible  <bruno@clisp.org>
31739
31740         sqrt: Make gl_FUNC_SQRT requirable.
31741         * m4/sqrt.m4: New file.
31742         * modules/sqrt (Files): Add it.
31743         (configure.ac): Invoke gl_FUNC_SQRT.
31744
31745 2010-01-18  Bruno Haible  <bruno@clisp.org>
31746
31747         New modules for common <math.h> functions.
31748         * m4/mathfunc.m4: New file.
31749         * modules/acos: New file.
31750         * modules/asin: New file.
31751         * modules/atan: New file.
31752         * modules/atan2: New file.
31753         * modules/cbrt: New file.
31754         * modules/copysign: New file.
31755         * modules/cos: New file.
31756         * modules/cosh: New file.
31757         * modules/erf: New file.
31758         * modules/erfc: New file.
31759         * modules/exp: New file.
31760         * modules/fabs: New file.
31761         * modules/fmod: New file.
31762         * modules/hypot: New file.
31763         * modules/j0: New file.
31764         * modules/j1: New file.
31765         * modules/jn: New file.
31766         * modules/ldexp: New file.
31767         * modules/lgamma: New file.
31768         * modules/log: New file.
31769         * modules/log10: New file.
31770         * modules/log1p: New file.
31771         * modules/logb: New file.
31772         * modules/modf: New file.
31773         * modules/nextafter: New file.
31774         * modules/pow: New file.
31775         * modules/remainder: New file.
31776         * modules/rint: New file.
31777         * modules/sin: New file.
31778         * modules/sinh: New file.
31779         * modules/sqrt: New file.
31780         * modules/tan: New file.
31781         * modules/tanh: New file.
31782         * modules/y0: New file.
31783         * modules/y1: New file.
31784         * modules/yn: New file.
31785         * doc/posix-functions/acos.texi: Mention the 'acos' module.
31786         * doc/posix-functions/asin.texi: Mention the 'asin' module.
31787         * doc/posix-functions/atan.texi: Mention the 'atan' module.
31788         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
31789         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
31790         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
31791         * doc/posix-functions/cos.texi: Mention the 'cos' module.
31792         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
31793         * doc/posix-functions/erf.texi: Mention the 'erf' module.
31794         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
31795         * doc/posix-functions/exp.texi: Mention the 'exp' module.
31796         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
31797         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
31798         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
31799         * doc/posix-functions/j0.texi: Mention the 'j0' module.
31800         * doc/posix-functions/j1.texi: Mention the 'j1' module.
31801         * doc/posix-functions/jn.texi: Mention the 'jn' module.
31802         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
31803         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
31804         * doc/posix-functions/log.texi: Mention the 'log' module.
31805         * doc/posix-functions/log10.texi: Mention the 'log10' module.
31806         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
31807         * doc/posix-functions/logb.texi: Mention the 'logb' module.
31808         * doc/posix-functions/modf.texi: Mention the 'modf' module.
31809         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
31810         * doc/posix-functions/pow.texi: Mention the 'pow' module.
31811         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
31812         * doc/posix-functions/rint.texi: Mention the 'rint' module.
31813         * doc/posix-functions/sin.texi: Mention the 'sin' module.
31814         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
31815         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
31816         * doc/posix-functions/tan.texi: Mention the 'tan' module.
31817         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
31818         * doc/posix-functions/y0.texi: Mention the 'y0' module.
31819         * doc/posix-functions/y1.texi: Mention the 'y1' module.
31820         * doc/posix-functions/yn.texi: Mention the 'yn' module.
31821
31822 2010-01-18  Jim Meyering  <meyering@redhat.com>
31823
31824         ignore-value: relax license to LGPLv2+
31825         * modules/ignore-value (License): Relax to LGPLv2+.
31826
31827         getdate: don't leak when TZ contains two or more '"'s
31828         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
31829         double quote in TZ after the first one.
31830
31831         readtokens: do not leak internal token_lengths buffer
31832         * lib/readtokens.c (readtokens): Free the local, lengths,
31833         when the supplied "token_lengths" parameter is NULL.
31834
31835 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31836
31837         Fix a couple of missing LIBTHREAD link failures on AIX.
31838         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
31839         $(LIBTHREAD).
31840         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
31841
31842         Link test-poll against INET_PTON_LIB.
31843         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
31844         for inet_pton on Solaris 10.
31845
31846 2010-01-17  Bruno Haible  <bruno@clisp.org>
31847
31848         unistdio/*-sprintf: Fix typo in module description.
31849         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
31850         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
31851         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
31852         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
31853         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
31854         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
31855         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
31856         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31857
31858 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31859
31860         gnulib-tool: fix filelist for AIX, HP-UX ksh.
31861         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
31862         variables in shell case patterns, for AIX and HP-UX ksh.
31863
31864         Split large sed scripts, for HP-UX sed.
31865         * modules/stdio: Split sed scripts around 50 sed commands,
31866         to avoid HP-UX limit of 99 commands, in the near future.
31867         * modules/string: Likewise.
31868         * modules/unistd: Likewise.
31869
31870         gnulib-tool: avoid writing in the current directory.
31871         * gnulib-tool (func_emit_lib_Makefile_am)
31872         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
31873         not in the current directory, so concurrent gnulib-tool
31874         instances do not interfere.
31875
31876 2010-01-16  Jim Meyering  <meyering@redhat.com>
31877
31878         doc: update users.txt
31879         * users.txt: Add grep.
31880         (diffutils, gzip): Update URLs.
31881
31882 2010-01-12  Bruno Haible  <bruno@clisp.org>
31883
31884         posix_spawn: Avoid test failure on Cygwin.
31885         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
31886         characters.
31887         Reported by Simon Josefsson.
31888
31889 2010-01-12  Bruno Haible  <bruno@clisp.org>
31890
31891         * tests/test-cond.c (main): When skipping the test, show the reason.
31892
31893 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31894
31895         * lib/striconv.c (str_cd_iconv): Avoid if before free.
31896
31897 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31898
31899         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
31900         VC_LIST_ALWAYS_EXCLUDE_REGEX.
31901
31902 2010-01-12  Eric Blake  <ebb9@byu.net>
31903
31904         build: guarantee AS_VAR_IF
31905         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
31906         (gl_AS_VAR_IF): Move...
31907         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
31908         Reported by Simon Josefsson.
31909
31910 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31911
31912         * lib/stdio.in.h: Fix typo.
31913
31914 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31915
31916         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
31917         libgpg-error.
31918
31919 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31920
31921         * tests/test-xalloc-die.sh: Use $EXEEXT.
31922
31923 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31924             Bruno Haible  <bruno@clisp.org>
31925
31926         getlogin, getlogin_r: Avoid test failure.
31927         * tests/test-getlogin.c: Include <stdio.h>.
31928         (main): Skip the test when the function fails because stdin is not a
31929         tty.
31930         * tests/test-getlogin_r.c: Include <stdio.h>.
31931         (main): Skip the test when the function fails because stdin is not a
31932         tty.
31933
31934 2010-01-11  Eric Blake  <ebb9@byu.net>
31935
31936         tests: avoid more large file warnings
31937         * tests/test-fflush.c: Avoid warning about ftell use.
31938         * tests/test-fseek.c: Avoid warning about fseek use.
31939
31940 2010-01-10  Bruno Haible  <bruno@clisp.org>
31941
31942         nproc: Work better on Linux when /proc and /sys are not mounted.
31943         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
31944         as lower bound when, on glibc/Linux systems,
31945         sysconf (_SC_NPROCESSORS_CONF) returns 1.
31946         Suggested by Pádraig Brady <P@draigbrady.com>.
31947         Reported by Dmitry V. Levin <ldv@altlinux.org>.
31948
31949         nproc: Refactor.
31950         * lib/nproc.c (num_processors_via_affinity_mask): New function,
31951         extracted from num_processors.
31952         (num_processors): Call it.
31953
31954 2010-01-11  Jim Meyering  <meyering@redhat.com>
31955
31956         utimecmp: avoid new warning from upcoming gcc-4.5.0
31957         * lib/utimecmp.c (BILLION): Define using #define rather than an
31958         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
31959
31960 2010-01-11  Eric Blake  <ebb9@byu.net>
31961
31962         math: add portability warnings for classification macros
31963         * modules/math (Depends-on): Add warn-on-use.
31964         (Makefile.am): Provide new substitutions.
31965         * m4/math_h.m4 (gl_MATH_H): Require inline.
31966         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
31967         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
31968         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
31969         implement warnings.
31970
31971         unistd: warn on use of environ without module
31972         * modules/unistd (Depends-on): Add warn-on-use.
31973         (Makefile.am): Provide new substitutions.
31974         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
31975         * lib/unistd.in.h (environ): Wrap with a warning helper function.
31976
31977         stdio: warn on suspicious uses
31978         * modules/stdio (Depends-on): Add warn-on-use.
31979         (Makefile.am): Provide new substitutions.
31980         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
31981         fseeko.
31982         * lib/stdio.in.h (gets): Always warn on use.
31983         (fseek, ftell): Adjust when warnings are issued, and honor
31984         _GL_NO_LARGE_FILES as a way to silence the warning.
31985         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
31986         any warning about large file offsets.
31987         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
31988         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
31989         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
31990         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
31991         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
31992         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
31993         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
31994         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
31995
31996         warn-on-use: new module
31997         * modules/warn-on-use: New file.
31998         * build-aux/warn-on-use.h: Likewise.
31999         * m4/warn-on-use.m4: Likewise.
32000         * MODULES.html.sh (Support for building): Mention it.
32001
32002 2010-01-10  Bruno Haible  <bruno@clisp.org>
32003
32004         Tests for module 'unistr/u32-strdup'.
32005         * modules/unistr/u32-strdup-tests: New file.
32006         * tests/unistr/test-u32-strdup.c: New file.
32007
32008         Tests for module 'unistr/u16-strdup'.
32009         * modules/unistr/u16-strdup-tests: New file.
32010         * tests/unistr/test-u16-strdup.c: New file.
32011
32012         Tests for module 'unistr/u8-strdup'.
32013         * modules/unistr/u8-strdup-tests: New file.
32014         * tests/unistr/test-u8-strdup.c: New file.
32015         * tests/unistr/test-strdup.h: New file.
32016
32017         Tests for module 'unistr/u32-strncmp'.
32018         * modules/unistr/u32-strncmp-tests: New file.
32019         * tests/unistr/test-u32-strncmp.c: New file.
32020
32021         Tests for module 'unistr/u16-strncmp'.
32022         * modules/unistr/u16-strncmp-tests: New file.
32023         * tests/unistr/test-u16-strncmp.c: New file.
32024
32025         Tests for module 'unistr/u8-strncmp'.
32026         * modules/unistr/u8-strncmp-tests: New file.
32027         * tests/unistr/test-u8-strncmp.c: New file.
32028         * tests/unistr/test-strncmp.h: New file.
32029
32030         Tests for module 'unistr/u32-strcoll'.
32031         * modules/unistr/u32-strcoll-tests: New file.
32032         * tests/unistr/test-u32-strcoll.c: New file.
32033
32034         Tests for module 'unistr/u16-strcoll'.
32035         * modules/unistr/u16-strcoll-tests: New file.
32036         * tests/unistr/test-u16-strcoll.c: New file.
32037
32038         Tests for module 'unistr/u8-strcoll'.
32039         * modules/unistr/u8-strcoll-tests: New file.
32040         * tests/unistr/test-u8-strcoll.c: New file.
32041
32042         Tests for module 'unistr/u32-strcmp'.
32043         * modules/unistr/u32-strcmp-tests: New file.
32044         * tests/unistr/test-u32-strcmp.c: New file.
32045         * tests/unistr/test-u32-strcmp.h: New file.
32046
32047         Tests for module 'unistr/u16-strcmp'.
32048         * modules/unistr/u16-strcmp-tests: New file.
32049         * tests/unistr/test-u16-strcmp.c: New file.
32050         * tests/unistr/test-u16-strcmp.h: New file.
32051
32052         Tests for module 'unistr/u8-strcmp'.
32053         * modules/unistr/u8-strcmp-tests: New file.
32054         * tests/unistr/test-u8-strcmp.c: New file.
32055         * tests/unistr/test-u8-strcmp.h: New file.
32056         * tests/unistr/test-strcmp.h: New file.
32057
32058         Tests for module 'unistr/u32-strncat'.
32059         * modules/unistr/u32-strncat-tests: New file.
32060         * tests/unistr/test-u32-strncat.c: New file.
32061
32062         Tests for module 'unistr/u16-strncat'.
32063         * modules/unistr/u16-strncat-tests: New file.
32064         * tests/unistr/test-u16-strncat.c: New file.
32065
32066         Tests for module 'unistr/u8-strncat'.
32067         * modules/unistr/u8-strncat-tests: New file.
32068         * tests/unistr/test-u8-strncat.c: New file.
32069         * tests/unistr/test-strncat.h: New file.
32070
32071         Tests for module 'unistr/u32-strcat'.
32072         * modules/unistr/u32-strcat-tests: New file.
32073         * tests/unistr/test-u32-strcat.c: New file.
32074
32075         Tests for module 'unistr/u16-strcat'.
32076         * modules/unistr/u16-strcat-tests: New file.
32077         * tests/unistr/test-u16-strcat.c: New file.
32078
32079         Tests for module 'unistr/u8-strcat'.
32080         * modules/unistr/u8-strcat-tests: New file.
32081         * tests/unistr/test-u8-strcat.c: New file.
32082         * tests/unistr/test-strcat.h: New file.
32083
32084         Tests for module 'unistr/u32-stpncpy'.
32085         * modules/unistr/u32-stpncpy-tests: New file.
32086         * tests/unistr/test-u32-stpncpy.c: New file.
32087
32088         Tests for module 'unistr/u16-stpncpy'.
32089         * modules/unistr/u16-stpncpy-tests: New file.
32090         * tests/unistr/test-u16-stpncpy.c: New file.
32091
32092         Tests for module 'unistr/u8-stpncpy'.
32093         * modules/unistr/u8-stpncpy-tests: New file.
32094         * tests/unistr/test-u8-stpncpy.c: New file.
32095         * tests/unistr/test-stpncpy.h: New file.
32096
32097         Tests for module 'unistr/u32-strncpy'.
32098         * modules/unistr/u32-strncpy-tests: New file.
32099         * tests/unistr/test-u32-strncpy.c: New file.
32100
32101         Tests for module 'unistr/u16-strncpy'.
32102         * modules/unistr/u16-strncpy-tests: New file.
32103         * tests/unistr/test-u16-strncpy.c: New file.
32104
32105         Tests for module 'unistr/u8-strncpy'.
32106         * modules/unistr/u8-strncpy-tests: New file.
32107         * tests/unistr/test-u8-strncpy.c: New file.
32108         * tests/unistr/test-strncpy.h: New file.
32109
32110         Tests for module 'unistr/u32-stpcpy'.
32111         * modules/unistr/u32-stpcpy-tests: New file.
32112         * tests/unistr/test-u32-stpcpy.c: New file.
32113
32114         Tests for module 'unistr/u16-stpcpy'.
32115         * modules/unistr/u16-stpcpy-tests: New file.
32116         * tests/unistr/test-u16-stpcpy.c: New file.
32117
32118         Tests for module 'unistr/u8-stpcpy'.
32119         * modules/unistr/u8-stpcpy-tests: New file.
32120         * tests/unistr/test-u8-stpcpy.c: New file.
32121         * tests/unistr/test-stpcpy.h: New file.
32122
32123         Tests for module 'unistr/u32-strcpy'.
32124         * modules/unistr/u32-strcpy-tests: New file.
32125         * tests/unistr/test-u32-strcpy.c: New file.
32126
32127         Tests for module 'unistr/u16-strcpy'.
32128         * modules/unistr/u16-strcpy-tests: New file.
32129         * tests/unistr/test-u16-strcpy.c: New file.
32130
32131         Tests for module 'unistr/u8-strcpy'.
32132         * modules/unistr/u8-strcpy-tests: New file.
32133         * tests/unistr/test-u8-strcpy.c: New file.
32134         * tests/unistr/test-strcpy.h: New file.
32135
32136         Tests for module 'unistr/u32-strnlen'.
32137         * modules/unistr/u32-strnlen-tests: New file.
32138         * tests/unistr/test-u32-strnlen.c: New file.
32139
32140         Tests for module 'unistr/u16-strnlen'.
32141         * modules/unistr/u16-strnlen-tests: New file.
32142         * tests/unistr/test-u16-strnlen.c: New file.
32143
32144         Tests for module 'unistr/u8-strnlen'.
32145         * modules/unistr/u8-strnlen-tests: New file.
32146         * tests/unistr/test-u8-strnlen.c: New file.
32147         * tests/unistr/test-strnlen.h: New file.
32148
32149         Tests for module 'unistr/u32-strlen'.
32150         * modules/unistr/u32-strlen-tests: New file.
32151         * tests/unistr/test-u32-strlen.c: New file.
32152
32153         Tests for module 'unistr/u16-strlen'.
32154         * modules/unistr/u16-strlen-tests: New file.
32155         * tests/unistr/test-u16-strlen.c: New file.
32156
32157         Tests for module 'unistr/u8-strlen'.
32158         * modules/unistr/u8-strlen-tests: New file.
32159         * tests/unistr/test-u8-strlen.c: New file.
32160
32161         Tests for module 'unistr/u32-prev'.
32162         * modules/unistr/u32-prev-tests: New file.
32163         * tests/unistr/test-u32-prev.c: New file.
32164
32165         Tests for module 'unistr/u16-prev'.
32166         * modules/unistr/u16-prev-tests: New file.
32167         * tests/unistr/test-u16-prev.c: New file.
32168
32169         Tests for module 'unistr/u8-prev'.
32170         * modules/unistr/u8-prev-tests: New file.
32171         * tests/unistr/test-u8-prev.c: New file.
32172
32173         Tests for module 'unistr/u32-next'.
32174         * modules/unistr/u32-next-tests: New file.
32175         * tests/unistr/test-u32-next.c: New file.
32176
32177         Tests for module 'unistr/u16-next'.
32178         * modules/unistr/u16-next-tests: New file.
32179         * tests/unistr/test-u16-next.c: New file.
32180
32181         Tests for module 'unistr/u8-next'.
32182         * modules/unistr/u8-next-tests: New file.
32183         * tests/unistr/test-u8-next.c: New file.
32184
32185         Tests for module 'unistr/u32-strmbtouc'.
32186         * modules/unistr/u32-strmbtouc-tests: New file.
32187         * tests/unistr/test-u32-strmbtouc.c: New file.
32188
32189         Tests for module 'unistr/u16-strmbtouc'.
32190         * modules/unistr/u16-strmbtouc-tests: New file.
32191         * tests/unistr/test-u16-strmbtouc.c: New file.
32192
32193         Tests for module 'unistr/u8-strmbtouc'.
32194         * modules/unistr/u8-strmbtouc-tests: New file.
32195         * tests/unistr/test-u8-strmbtouc.c: New file.
32196
32197         Tests for module 'unistr/u32-strmblen'.
32198         * modules/unistr/u32-strmblen-tests: New file.
32199         * tests/unistr/test-u32-strmblen.c: New file.
32200
32201         Tests for module 'unistr/u16-strmblen'.
32202         * modules/unistr/u16-strmblen-tests: New file.
32203         * tests/unistr/test-u16-strmblen.c: New file.
32204
32205         Tests for module 'unistr/u8-strmblen'.
32206         * modules/unistr/u8-strmblen-tests: New file.
32207         * tests/unistr/test-u8-strmblen.c: New file.
32208
32209         Tests for module 'unistr/u32-cpy-alloc'.
32210         * modules/unistr/u32-cpy-alloc-tests: New file.
32211         * tests/unistr/test-u32-cpy-alloc.c: New file.
32212
32213         Tests for module 'unistr/u16-cpy-alloc'.
32214         * modules/unistr/u16-cpy-alloc-tests: New file.
32215         * tests/unistr/test-u16-cpy-alloc.c: New file.
32216
32217         Tests for module 'unistr/u8-cpy-alloc'.
32218         * modules/unistr/u8-cpy-alloc-tests: New file.
32219         * tests/unistr/test-u8-cpy-alloc.c: New file.
32220         * tests/unistr/test-cpy-alloc.h: New file.
32221
32222         Tests for module 'unistr/u32-mbsnlen'.
32223         * modules/unistr/u32-mbsnlen-tests: New file.
32224         * tests/unistr/test-u32-mbsnlen.c: New file.
32225
32226         Tests for module 'unistr/u16-mbsnlen'.
32227         * modules/unistr/u16-mbsnlen-tests: New file.
32228         * tests/unistr/test-u16-mbsnlen.c: New file.
32229
32230         Tests for module 'unistr/u8-mbsnlen'.
32231         * modules/unistr/u8-mbsnlen-tests: New file.
32232         * tests/unistr/test-u8-mbsnlen.c: New file.
32233
32234         Tests for module 'unistr/u32-chr'.
32235         * modules/unistr/u32-chr-tests: New file.
32236         * tests/unistr/test-u32-chr.c: New file.
32237
32238         Tests for module 'unistr/u16-chr'.
32239         * modules/unistr/u16-chr-tests: New file.
32240         * tests/unistr/test-u16-chr.c: New file.
32241
32242         Tests for module 'unistr/u8-chr'.
32243         * modules/unistr/u8-chr-tests: New file.
32244         * tests/unistr/test-u8-chr.c: New file.
32245         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32246
32247         Tests for module 'unistr/u32-cmp2'.
32248         * modules/unistr/u32-cmp2-tests: New file.
32249         * tests/unistr/test-u32-cmp2.c: New file.
32250
32251         Tests for module 'unistr/u16-cmp2'.
32252         * modules/unistr/u16-cmp2-tests: New file.
32253         * tests/unistr/test-u16-cmp2.c: New file.
32254
32255         Tests for module 'unistr/u8-cmp2'.
32256         * modules/unistr/u8-cmp2-tests: New file.
32257         * tests/unistr/test-u8-cmp2.c: New file.
32258         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32259
32260         Tests for module 'unistr/u32-cmp'.
32261         * modules/unistr/u32-cmp-tests: New file.
32262         * tests/unistr/test-u32-cmp.c: New file.
32263
32264         Tests for module 'unistr/u16-cmp'.
32265         * modules/unistr/u16-cmp-tests: New file.
32266         * tests/unistr/test-u16-cmp.c: New file.
32267
32268         Tests for module 'unistr/u8-cmp'.
32269         * modules/unistr/u8-cmp-tests: New file.
32270         * tests/unistr/test-u8-cmp.c: New file.
32271         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32272
32273         Tests for module 'unistr/u32-set'.
32274         * modules/unistr/u32-set-tests: New file.
32275         * tests/unistr/test-u32-set.c: New file.
32276
32277         Tests for module 'unistr/u16-set'.
32278         * modules/unistr/u16-set-tests: New file.
32279         * tests/unistr/test-u16-set.c: New file.
32280
32281         Tests for module 'unistr/u8-set'.
32282         * modules/unistr/u8-set-tests: New file.
32283         * tests/unistr/test-u8-set.c: New file.
32284         * tests/unistr/test-set.h: New file.
32285
32286         Tests for module 'unistr/u32-move'.
32287         * modules/unistr/u32-move-tests: New file.
32288         * tests/unistr/test-u32-move.c: New file.
32289
32290         Tests for module 'unistr/u16-move'.
32291         * modules/unistr/u16-move-tests: New file.
32292         * tests/unistr/test-u16-move.c: New file.
32293
32294         Tests for module 'unistr/u8-move'.
32295         * modules/unistr/u8-move-tests: New file.
32296         * tests/unistr/test-u8-move.c: New file.
32297         * tests/unistr/test-move.h: New file.
32298
32299         Tests for module 'unistr/u32-cpy'.
32300         * modules/unistr/u32-cpy-tests: New file.
32301         * tests/unistr/test-u32-cpy.c: New file.
32302
32303         Tests for module 'unistr/u16-cpy'.
32304         * modules/unistr/u16-cpy-tests: New file.
32305         * tests/unistr/test-u16-cpy.c: New file.
32306
32307         Tests for module 'unistr/u8-cpy'.
32308         * modules/unistr/u8-cpy-tests: New file.
32309         * tests/unistr/test-u8-cpy.c: New file.
32310         * tests/unistr/test-cpy.h: New file.
32311
32312 2010-01-09  Bruno Haible  <bruno@clisp.org>
32313
32314         Tests for module 'unistr/u32-uctomb'.
32315         * modules/unistr/u32-uctomb-tests: New file.
32316         * tests/unistr/test-u32-uctomb.c: New file.
32317
32318         Tests for module 'unistr/u16-uctomb'.
32319         * modules/unistr/u16-uctomb-tests: New file.
32320         * tests/unistr/test-u16-uctomb.c: New file.
32321
32322         Tests for module 'unistr/u8-uctomb'.
32323         * modules/unistr/u8-uctomb-tests: New file.
32324         * tests/unistr/test-u8-uctomb.c: New file.
32325
32326         Tests for module 'unistr/u32-mbtoucr'.
32327         * modules/unistr/u32-mbtoucr-tests: New file.
32328         * tests/unistr/test-u32-mbtoucr.c: New file.
32329
32330         Tests for module 'unistr/u16-mbtoucr'.
32331         * modules/unistr/u16-mbtoucr-tests: New file.
32332         * tests/unistr/test-u16-mbtoucr.c: New file.
32333
32334         Tests for module 'unistr/u8-mbtoucr'.
32335         * modules/unistr/u8-mbtoucr-tests: New file.
32336         * tests/unistr/test-u8-mbtoucr.c: New file.
32337
32338         Tests for module 'unistr/u32-mbtouc'.
32339         * modules/unistr/u32-mbtouc-tests: New file.
32340         * tests/unistr/test-u32-mbtouc.c: New file.
32341
32342         Tests for module 'unistr/u16-mbtouc'.
32343         * modules/unistr/u16-mbtouc-tests: New file.
32344         * tests/unistr/test-u16-mbtouc.c: New file.
32345
32346         Tests for module 'unistr/u8-mbtouc'.
32347         * modules/unistr/u8-mbtouc-tests: New file.
32348         * tests/unistr/test-u8-mbtouc.c: New file.
32349
32350         Tests for module 'unistr/u32-mbtouc-unsafe'.
32351         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32352         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32353         * tests/unistr/test-u32-mbtouc.h: New file.
32354
32355         Tests for module 'unistr/u16-mbtouc-unsafe'.
32356         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
32357         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
32358         * tests/unistr/test-u16-mbtouc.h: New file.
32359
32360         Tests for module 'unistr/u8-mbtouc-unsafe'.
32361         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
32362         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
32363         * tests/unistr/test-u8-mbtouc.h: New file.
32364
32365         Tests for module 'unistr/u32-mblen'.
32366         * modules/unistr/u32-mblen-tests: New file.
32367         * tests/unistr/test-u32-mblen.c: New file.
32368
32369         Tests for module 'unistr/u16-mblen'.
32370         * modules/unistr/u16-mblen-tests: New file.
32371         * tests/unistr/test-u16-mblen.c: New file.
32372
32373         Tests for module 'unistr/u8-mblen'.
32374         * modules/unistr/u8-mblen-tests: New file.
32375         * tests/unistr/test-u8-mblen.c: New file.
32376
32377         Tests for module 'unistr/u32-to-u16'.
32378         * modules/unistr/u32-to-u16-tests: New file.
32379         * tests/unistr/test-u32-to-u16.c: New file.
32380
32381         Tests for module 'unistr/u32-to-u8'.
32382         * modules/unistr/u32-to-u8-tests: New file.
32383         * tests/unistr/test-u32-to-u8.c: New file.
32384
32385         Tests for module 'unistr/u16-to-u32'.
32386         * modules/unistr/u16-to-u32-tests: New file.
32387         * tests/unistr/test-u16-to-u32.c: New file.
32388
32389         Tests for module 'unistr/u16-to-u8'.
32390         * modules/unistr/u16-to-u8-tests: New file.
32391         * tests/unistr/test-u16-to-u8.c: New file.
32392
32393         Tests for module 'unistr/u8-to-u32'.
32394         * modules/unistr/u8-to-u32-tests: New file.
32395         * tests/unistr/test-u8-to-u32.c: New file.
32396
32397         Tests for module 'unistr/u8-to-u16'.
32398         * modules/unistr/u8-to-u16-tests: New file.
32399         * tests/unistr/test-u8-to-u16.c: New file.
32400
32401         Tests for module 'unistr/u32-check'.
32402         * modules/unistr/u32-check-tests: New file.
32403         * tests/unistr/test-u32-check.c: New file.
32404
32405         Tests for module 'unistr/u16-check'.
32406         * modules/unistr/u16-check-tests: New file.
32407         * tests/unistr/test-u16-check.c: New file.
32408
32409         Tests for module 'unistr/u8-check'.
32410         * modules/unistr/u8-check-tests: New file.
32411         * tests/unistr/test-u8-check.c: New file.
32412
32413         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
32414         (category_equals): New function.
32415         (main): Add more tests.
32416         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
32417
32418         * tests/unictype/test-bidi_byname.c (main): Add more tests.
32419
32420 2010-01-10  Bruno Haible  <bruno@clisp.org>
32421
32422         unistr/u*-strcoll: Try harder to distinguish different strings.
32423         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
32424         compare s1 and s2 to see if they are different.
32425
32426 2010-01-10  Bruno Haible  <bruno@clisp.org>
32427
32428         unistr/u*-stpncpy: Fix the return value.
32429         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
32430         description of the return value consistent with stpncpy in glibc.
32431         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
32432         written non-NUL unit.
32433
32434 2010-01-10  Bruno Haible  <bruno@clisp.org>
32435
32436         unistr/u*-next: Add missing dependencies.
32437         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
32438         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
32439         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
32440
32441 2010-01-10  Bruno Haible  <bruno@clisp.org>
32442
32443         unistr/u8-mbsnlen: Fix return value for incomplete character.
32444         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
32445         u8_mblen.
32446         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
32447         Remove unistr/u8-mblen.
32448         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
32449         u16_mblen.
32450         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
32451         Remove unistr/u16-mblen.
32452
32453 2010-01-10  Bruno Haible  <bruno@clisp.org>
32454
32455         wchar: Fix compilation error when <wchar.h> is used from coreutils.
32456         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
32457         Reported by Brian Gough <bjg@gnu.org> and
32458         Chris Clayton <chris2553@googlemail.com> via
32459         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
32460
32461 2010-01-09  Bruno Haible  <bruno@clisp.org>
32462
32463         unistr/u16-to-u32: Reject invalid input.
32464         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
32465         u16_mbtouc.
32466         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
32467         Remove unistr/u16-mbtouc.
32468
32469         unistr/u16-to-u8: Reject invalid input.
32470         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
32471         u16_mbtouc.
32472         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
32473         Remove unistr/u16-mbtouc.
32474
32475         unistr/u8-to-u32: Reject invalid input.
32476         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
32477         u8_mbtouc.
32478         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
32479         Remove unistr/u8-mbtouc.
32480
32481         unistr/u8-to-u16: Reject invalid input.
32482         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
32483         u8_mbtouc.
32484         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
32485         Remove unistr/u8-mbtouc.
32486
32487 2010-01-09  Bruno Haible  <bruno@clisp.org>
32488
32489         Tests for module 'getlogin'.
32490         * modules/getlogin-tests: New file.
32491         * tests/test-getlogin.c: New file.
32492
32493         New module 'getlogin'.
32494         * lib/unistd.in.h (getlogin): New declaration.
32495         * lib/getlogin.c: New file.
32496         * m4/getlogin.m4: New file.
32497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
32498         HAVE_GETLOGIN.
32499         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
32500         HAVE_GETLOGIN.
32501         * modules/getlogin: New file.
32502         * doc/posix-functions/getlogin.texi: Mention the new module.
32503         Reported by John W. Eaton <jwe@gnu.org>.
32504
32505 2010-01-09  Bruno Haible  <bruno@clisp.org>
32506
32507         getlogin_r: Support for native Windows.
32508         * lib/getlogin_r.c: Include <windows.h>
32509         (getlogin_r): Implement for native Windows.
32510         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
32511         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
32512         via John W. Eaton <jwe@gnu.org>.
32513
32514 2010-01-09  Bruno Haible  <bruno@clisp.org>
32515
32516         getlogin_r: Small fixes.
32517         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
32518         succeeds.
32519         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
32520         before testing whether getlogin_r is declared. No need to set
32521         HAVE_DECL_GETLOGIN_R to 1.
32522         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
32523
32524 2010-01-09  Bruno Haible  <bruno@clisp.org>
32525
32526         * lib/unistd.in.h (getlogin_r): Add comment.
32527
32528 2010-01-09  Bruno Haible  <bruno@clisp.org>
32529
32530         Tests for module 'getlogin_r'.
32531         * modules/getlogin_r-tests: New file.
32532         * tests/test-getlogin_r.c: New file.
32533
32534 2010-01-09  Jim Meyering  <meyering@redhat.com>
32535
32536         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
32537         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
32538         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
32539
32540 2010-01-08  Simon Josefsson  <simon@josefsson.org>
32541
32542         * lib/dup2.c (rpl_dup2): Improve comment.
32543
32544 2010-01-08  Eric Blake  <ebb9@byu.net>
32545
32546         maint.mk: allow packages to add makefile @@ exceptions
32547         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
32548         (sc_makefile_check): Rename...
32549         (sc_makefile_at_at_check): ...to this, and use hook.
32550
32551         dup2: work around mingw bug
32552         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
32553         Reported by Simon Josefsson.
32554
32555 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
32556
32557         glob: Fix C++ compilation.
32558         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
32559         C++.
32560
32561 2010-01-07  Bruno Haible  <bruno@clisp.org>
32562
32563         Fix indentation of wctype.in.h, broken since 2007-01-06.
32564         * lib/wctype.in.h: Fix indentation of preprocessor directives.
32565
32566 2010-01-07  Bruno Haible  <bruno@clisp.org>
32567
32568         mbslen: Avoid collision with system function.
32569         * lib/string.in.h [MirBSD]: Include <wchar.h>.
32570         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
32571         * m4/mbslen.m4: New file.
32572         * modules/mbslen (Files): Add it.
32573         (configure.ac): Invoke gl_MBSLEN.
32574         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
32575         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
32576         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
32577         via Ian Beckwith <ianb@erislabs.net>.
32578
32579 2010-01-07  Bruno Haible  <bruno@clisp.org>
32580
32581         dirent: Document the last fix.
32582         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
32583
32584 2010-01-07  Bruno Haible  <bruno@clisp.org>
32585
32586         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
32587         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
32588         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
32589         va_list are defined.
32590         * doc/posix-headers/stdio.texi: Document the bug of missing types.
32591         Reported by Eric Blake.
32592
32593 2010-01-07  Bruno Haible  <bruno@clisp.org>
32594
32595         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
32596         * modules/xlist (Depends-on): Add 'list',
32597         * modules/xoset (Depends-on): Add 'oset'.
32598         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32599
32600 2010-01-07  Bruno Haible  <bruno@clisp.org>
32601
32602         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
32603         * doc/posix-functions/strncasecmp.texi: Likewise.
32604
32605 2010-01-07  Bruno Haible  <bruno@clisp.org>
32606
32607         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
32608
32609 2010-01-07  John W. Eaton  <jwe@octave.org>
32610
32611         wctype: allow C++ use
32612         * lib/wctype.in.h: Add extern "C" block for C++.
32613
32614 2010-01-06  Eric Blake  <ebb9@byu.net>
32615
32616         maint.mk: detect incorrect GFDL usage
32617         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
32618
32619 2010-01-06  Jim Meyering  <meyering@redhat.com>
32620         and Eric Blake  <ebb9@byu.net>
32621
32622         maint.mk: ignore multi-line copyright in NEWS
32623         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
32624
32625 2010-01-06  Eric Blake  <ebb9@byu.net>
32626
32627         select: add missing dependency
32628         * modules/select-tests (Depends-on): Move sockets dependency...
32629         * modules/select (Depends-on): ...here.
32630         Reported by Ian Beckwith.
32631
32632         doc: regenerate INSTALL
32633         * doc/INSTALL: Reflect recent autoconf update.
32634         * doc/INSTALL.ISO: Likewise.
32635         * doc/INSTALL.UTF-8: Likewise.
32636
32637         pread: fix compilation on glibc
32638         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
32639         Reported by Ralf Wildenhues.
32640
32641         dirent: fix test failure
32642         * lib/dirent.in.h (includes): Guarantee ino_t.
32643         Reported by Ralf Wildenhues.
32644
32645 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
32646
32647         linkat, renameat: avoid bad free
32648         * lib/at-func2.c (at_func2): Fix typo.
32649         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
32650
32651 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32652
32653         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
32654         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
32655         to avoid failure of symlink test later.
32656
32657 2010-01-06  Eric Blake  <ebb9@byu.net>
32658
32659         stdio, unistd: guarantee ssize_t
32660         * lib/unistd.in.h (includes): Ensure that types required by POSIX
32661         2008 are exposed when needed.
32662         * lib/stdio.in.h (includes): Likewise.
32663         Reported by Ralf Wildenhues.
32664
32665 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
32666
32667         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
32668         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
32669         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
32670
32671 2010-01-06  Jim Meyering  <meyering@redhat.com>
32672
32673         readtokens: this module *does* require xalloc.h
32674         It uses only functions that were omitted by the old syntax-check rule.
32675         * lib/readtokens.c: Include "xalloc.h" once again.
32676         * modules/readtokens (Depends-on): Add xalloc.
32677         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
32678
32679 2010-01-05  Eric Blake  <ebb9@byu.net>
32680
32681         maint: support 'make announcement' from a VPATH build
32682         * top/maint.mk (announcement): Look for correct NEWS file.
32683
32684 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
32685
32686         utimens (fdutimens): ignore a negative FD, per contract
32687         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
32688         when we have a valid file descriptor.  Otherwise, using a brand
32689         new glibc (with just-patched futimens that now fails with EBADF)
32690         would cause this function to fail with ENOSYS.
32691         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
32692         See also http://bugzilla.redhat.com/552320.
32693
32694 2010-01-05  Eric Blake  <ebb9@byu.net>
32695
32696         strcase: document what it provides
32697         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
32698         gnulib module.
32699         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
32700         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
32701
32702 2010-01-05  Jim Meyering  <meyering@redhat.com>
32703
32704         maint: remove useless inclusions of "xalloc.h"
32705         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
32706         * lib/readtokens.c: Likewise.
32707         * lib/same.c: Likewise.
32708         * modules/getloadavg (Depends-on): Remove xalloc.
32709         * modules/readtokens: Likewise.
32710         * modules/same: Likewise.
32711
32712         maint.mk: include 4 more function names in alloca.h-checking regexp
32713         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
32714         regexp.  Before, we would give a false-positive (saying alloca.h
32715         is included unnecessarily) when the only uses involved omitted symbols.
32716
32717         xalloc.h: use consistent formatting
32718         * lib/xalloc.h: Move declarations to start in the first column.
32719
32720 2010-01-05  Eric Blake  <ebb9@byu.net>
32721
32722         mkdir: avoid xalloc
32723         * lib/mkdir.c (includes): Drop unused header.
32724         Reported by John W. Eaton.
32725
32726 2010-01-04  Jim Meyering  <meyering@redhat.com>
32727
32728         nl_langinfo: avoid configure-time syntax error
32729         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
32730         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
32731         the empty string.  Don't let that provoke a shell syntax error.
32732
32733         regcomp, regexec, fnmatch: avoid array bounds read error
32734         * lib/regcomp.c (build_equiv_class): From glibc:
32735         Use only the low 24 bits of a findidx return value as an index
32736         into the weights array.  Patch by Ulrich Drepper:
32737         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
32738         * lib/regexec.c (check_node_accept_bytes): Likewise.
32739         * lib/fnmatch_loop.c (FCT): Likewise.
32740
32741         regcomp: skip collseq lookup when there are no rules
32742         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
32743         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
32744
32745         regcomp: recognize ill-formed { } expressions
32746         * lib/regcomp.c (parse_dup_op): From glibc:
32747         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
32748
32749         regcomp: fix typo in comment
32750         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
32751         s/satisfy/satisfies/.
32752
32753         regcomp: sync from glibc: remove dead store
32754         * lib/regcomp.c (duplicate_node_closure): Remove useless
32755         search_duplicated_node call and dead store.
32756
32757         regcomp: sync from glibc; always use nl_langinfo
32758         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
32759         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
32760         * modules/regex (Depends-on): Add nl_langinfo.
32761
32762 2010-01-04  Eric Blake  <ebb9@byu.net>
32763
32764         fdopendir: fix configure test
32765         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
32766
32767 2010-01-01  Bruno Haible  <bruno@clisp.org>
32768
32769         wchar: Remove unused configure check.
32770         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
32771
32772 2010-01-01  Eric Blake  <ebb9@byu.net>
32773
32774         headers: make check of system header explicit
32775         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
32776         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
32777         ourselves.
32778         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32779         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32780         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
32781         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
32782         internals.
32783         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
32784         missing.
32785         Suggested by Bruno Haible.
32786
32787 2010-01-01  Jim Meyering  <meyering@redhat.com>
32788
32789         ChangeLog: tweak to eliminate unnecessary copyright line
32790         * ChangeLog: Remove a copyright line that was mistakenly updated
32791         by today's update-copyright run.  Reported by Eric Blake.
32792
32793         test-update-copyright: don't let envvar setting cause test failure
32794         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32795
32796 2010-01-01  Bruno Haible  <bruno@clisp.org>
32797
32798         localename: Avoid gcc warning.
32799         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
32800         function if it is not used.
32801
32802 2010-01-01  Jim Meyering  <meyering@redhat.com>
32803
32804         update nearly all FSF copyright year lists to include 2010
32805         Use the same procedure as for 2009, outlined in
32806         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
32807
32808         version-etc: set COPYRIGHT_YEAR to 2010
32809         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
32810
32811 2009-12-31  Eric Blake  <ebb9@byu.net>
32812
32813         doc: correct availability of cygwin 1.5.x getopt
32814         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
32815         variables.
32816         * doc/posix-functions/opterr.texi (opterr): Likewise.
32817         * doc/posix-functions/optind.texi (optind): Likewise.
32818         * doc/posix-functions/optopt.texi (optopt): Likewise.
32819         * doc/posix-functions/tzname.texi (tzname): Likewise.
32820
32821         openat: update maintainer
32822         * modules/openat (Maintainer): Add myself.
32823
32824         utimens: avoid shadowing warning
32825         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
32826         buffers into one, to avoid shadowing, as well as avoiding a
32827         redundant stat.
32828         Reported by Jim Meyering.
32829
32830         test-dup2: avoid compiler warning
32831         * tests/test-dup2.c (is_inheritable): Only define if used.
32832
32833 2010-01-01  Bruno Haible  <bruno@clisp.org>
32834
32835         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
32836         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
32837         defined, use wctomb instead of wcrtomb.
32838
32839 2010-01-01  Bruno Haible  <bruno@clisp.org>
32840
32841         iconv: Reject native Solaris iconv.
32842         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
32843         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
32844
32845 2009-12-31  Bruno Haible  <bruno@clisp.org>
32846
32847         * tests/test-signal.c (main): Remove test of 'SIG'.
32848
32849 2009-12-31  Bruno Haible  <bruno@clisp.org>
32850
32851         spawn: Fix incomplete fix.
32852         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32853         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32854         warnings for GNULIB_POSIXCHECK again.
32855         Reported by Eric Blake.
32856
32857 2009-12-31  Bruno Haible  <bruno@clisp.org>
32858
32859         Avoid namespace pollution on glibc systems.
32860         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
32861         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
32862         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
32863         glibc systems.
32864
32865 2009-12-31  Bruno Haible  <bruno@clisp.org>
32866
32867         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
32868         (gl_REPLACE_WCHAR_H): Turn into a no-op.
32869         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
32870         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
32871         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
32872         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
32873         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
32874
32875 2009-12-31  Bruno Haible  <bruno@clisp.org>
32876
32877         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32878         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
32879         afterwards.
32880
32881 2009-12-31  Bruno Haible  <bruno@clisp.org>
32882
32883         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
32884         SYS_UTSNAME_H.
32885
32886 2009-12-31  Bruno Haible  <bruno@clisp.org>
32887
32888         spawn: Fix misapplied patch.
32889         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32890         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32891         warnings for GNULIB_POSIXCHECK.
32892
32893 2009-12-31  Bruno Haible  <bruno@clisp.org>
32894
32895         times: Update after sys_times changed.
32896         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
32897         * modules/times (Files): Add it.
32898         (configure.ac): Invoke gl_FUNC_TIMES.
32899
32900 2009-12-31  Bruno Haible  <bruno@clisp.org>
32901
32902         Use AC_C_INLINE where necessary.
32903         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
32904         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
32905         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
32906         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32907         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32908         * m4/mbiter.m4 (gl_MBITER): Likewise.
32909         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32910         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
32911         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
32912         * modules/u64 (configure.ac): Likewise.
32913
32914 2009-12-31  Bruno Haible  <bruno@clisp.org>
32915
32916         Use AC_C_INLINE instead of module 'inline' where possible.
32917         * modules/inline (Description): Clarify purpose.
32918         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
32919         * modules/count-one-bits (Depends-on): Remove inline.
32920         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
32921         * modules/openat (Depends-on): Remove inline.
32922         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
32923         instead of depending on module 'inline'.
32924         * modules/filevercmp (Depends-on, configure.ac): Likewise.
32925         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
32926         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
32927         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
32928         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
32929         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
32930         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
32931         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
32932         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
32933         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
32934         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
32935         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
32936         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
32937         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
32938         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
32939         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
32940         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
32941         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
32942         Likewise.
32943         * modules/unictype/property-ascii-hex-digit (Depends-on,
32944         configure.ac): Likewise.
32945         * modules/unictype/property-bidi-arabic-digit (Depends-on,
32946         configure.ac): Likewise.
32947         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
32948         configure.ac): Likewise.
32949         * modules/unictype/property-bidi-block-separator (Depends-on,
32950         configure.ac): Likewise.
32951         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
32952         configure.ac): Likewise.
32953         * modules/unictype/property-bidi-common-separator (Depends-on,
32954         configure.ac): Likewise.
32955         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
32956         Likewise.
32957         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
32958         configure.ac): Likewise.
32959         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
32960         configure.ac): Likewise.
32961         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
32962         configure.ac): Likewise.
32963         * modules/unictype/property-bidi-european-digit (Depends-on,
32964         configure.ac): Likewise.
32965         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
32966         configure.ac): Likewise.
32967         * modules/unictype/property-bidi-left-to-right (Depends-on,
32968         configure.ac): Likewise.
32969         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
32970         configure.ac): Likewise.
32971         * modules/unictype/property-bidi-other-neutral (Depends-on,
32972         configure.ac): Likewise.
32973         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
32974         Likewise.
32975         * modules/unictype/property-bidi-segment-separator (Depends-on,
32976         configure.ac): Likewise.
32977         * modules/unictype/property-bidi-whitespace (Depends-on,
32978         configure.ac): Likewise.
32979         * modules/unictype/property-combining (Depends-on, configure.ac):
32980         Likewise.
32981         * modules/unictype/property-composite (Depends-on, configure.ac):
32982         Likewise.
32983         * modules/unictype/property-currency-symbol (Depends-on,
32984         configure.ac): Likewise.
32985         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
32986         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
32987         Likewise.
32988         * modules/unictype/property-default-ignorable-code-point (Depends-on,
32989         configure.ac): Likewise.
32990         * modules/unictype/property-deprecated (Depends-on, configure.ac):
32991         Likewise.
32992         * modules/unictype/property-diacritic (Depends-on, configure.ac):
32993         Likewise.
32994         * modules/unictype/property-extender (Depends-on, configure.ac):
32995         Likewise.
32996         * modules/unictype/property-format-control (Depends-on, configure.ac):
32997         Likewise.
32998         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
32999         Likewise.
33000         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33001         Likewise.
33002         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33003         Likewise.
33004         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33005         Likewise.
33006         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33007         Likewise.
33008         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33009         Likewise.
33010         * modules/unictype/property-id-start (Depends-on, configure.ac):
33011         Likewise.
33012         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33013         Likewise.
33014         * modules/unictype/property-ids-binary-operator (Depends-on,
33015         configure.ac): Likewise.
33016         * modules/unictype/property-ids-trinary-operator (Depends-on,
33017         configure.ac): Likewise.
33018         * modules/unictype/property-ignorable-control (Depends-on,
33019         configure.ac): Likewise.
33020         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33021         Likewise.
33022         * modules/unictype/property-join-control (Depends-on, configure.ac):
33023         Likewise.
33024         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33025         Likewise.
33026         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33027         Likewise.
33028         * modules/unictype/property-logical-order-exception (Depends-on,
33029         configure.ac): Likewise.
33030         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33031         Likewise.
33032         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33033         * modules/unictype/property-non-break (Depends-on, configure.ac):
33034         Likewise.
33035         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33036         Likewise.
33037         * modules/unictype/property-numeric (Depends-on, configure.ac):
33038         Likewise.
33039         * modules/unictype/property-other-alphabetic (Depends-on,
33040         configure.ac): Likewise.
33041         * modules/unictype/property-other-default-ignorable-code-point
33042         (Depends-on, configure.ac): Likewise.
33043         * modules/unictype/property-other-grapheme-extend (Depends-on,
33044         configure.ac): Likewise.
33045         * modules/unictype/property-other-id-continue (Depends-on,
33046         configure.ac): Likewise.
33047         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33048         Likewise.
33049         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33050         Likewise.
33051         * modules/unictype/property-other-math (Depends-on, configure.ac):
33052         Likewise.
33053         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33054         Likewise.
33055         * modules/unictype/property-paired-punctuation (Depends-on,
33056         configure.ac): Likewise.
33057         * modules/unictype/property-paragraph-separator (Depends-on,
33058         configure.ac): Likewise.
33059         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33060         Likewise.
33061         * modules/unictype/property-pattern-white-space (Depends-on,
33062         configure.ac): Likewise.
33063         * modules/unictype/property-private-use (Depends-on, configure.ac):
33064         Likewise.
33065         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33066         Likewise.
33067         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33068         Likewise.
33069         * modules/unictype/property-radical (Depends-on, configure.ac):
33070         Likewise.
33071         * modules/unictype/property-sentence-terminal (Depends-on,
33072         configure.ac): Likewise.
33073         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33074         Likewise.
33075         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33076         * modules/unictype/property-terminal-punctuation (Depends-on,
33077         configure.ac): Likewise.
33078         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33079         Likewise.
33080         * modules/unictype/property-unassigned-code-value (Depends-on,
33081         configure.ac): Likewise.
33082         * modules/unictype/property-unified-ideograph (Depends-on,
33083         configure.ac): Likewise.
33084         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33085         Likewise.
33086         * modules/unictype/property-variation-selector (Depends-on,
33087         configure.ac): Likewise.
33088         * modules/unictype/property-white-space (Depends-on, configure.ac):
33089         Likewise.
33090         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33091         Likewise.
33092         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33093         Likewise.
33094         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33095         Likewise.
33096         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33097         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33098         Likewise.
33099
33100 2009-12-31  Bruno Haible  <bruno@clisp.org>
33101
33102         Remove unnecessary AC_C_INLINE invocation.
33103         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33104         since 2009-08-21.
33105
33106 2009-12-31  Jim Meyering  <meyering@redhat.com>
33107
33108         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33109         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33110         With this change, we can all remove the gpg_key_ID = ... definition
33111         from our respective cfg.mk files.
33112
33113         maint.mk: create announcement template in ~/, not in /tmp
33114         * top/maint.mk (emit_upload_commands): Adjust.
33115         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33116         Remove temporary file, .ci-msg.
33117
33118 2009-12-31  Eric Blake  <ebb9@byu.net>
33119
33120         link-warning: always build headers with link warnings
33121         * modules/arpa_inet (Makefile.am): Always build replacement
33122         header.
33123         * modules/ctype (Makefile.am): Likewise.
33124         * modules/dirent (Makefile.am): Likewise.
33125         * modules/inttypes (Makefile.am): Likewise.
33126         * modules/langinfo (Makefile.am): Likewise.
33127         * modules/locale (Makefile.am): Likewise.
33128         * modules/spawn (Makefile.am): Likewise.
33129         * modules/sys_file (Makefile.am): Likewise.
33130         * modules/sys_ioctl (Makefile.am): Likewise.
33131         * modules/sys_select (Makefile.am): Likewise.
33132         * modules/sys_socket (Makefile.am): Likewise.
33133         * modules/sys_times (Makefile.am): Likewise.
33134         * modules/sys_utsname (Makefile.am): Likewise.
33135         * modules/sys_wait (Makefile.am): Likewise.
33136         * modules/wchar (Makefile.am): Likewise.
33137         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33138         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33139         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33140         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33141         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33142         Likewise.
33143         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33144         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33145         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33146         Likewise.
33147         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33148         Likewise.
33149         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33150         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33151         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33152         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33153         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33154         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33155         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33156         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33157         (gl_WCHAR_H_DEFAULTS): Likewise.
33158
33159 2009-12-31  Eric Blake  <ebb9@byu.net>
33160
33161         signal, spawn: use link warnings
33162         * lib/signal.in.h (sigset_t): Make unconditional.
33163         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33164         (sigpending, sigprocmask, sigaction): Add link warnings.
33165         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33166         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33167         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33168         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33169         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33170         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33171         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33172         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33173         (posix_spawn_file_actions_destroy)
33174         (posix_spawn_file_actions_addopen)
33175         (posix_spawn_file_actions_addclose)
33176         (posix_spawn_file_actions_adddup2): Likewise.
33177         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33178         * tests/test-signal.c (main): Enhance test.
33179
33180         spawn: improve wrapper support
33181         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33182         (gl_SPAWN_H_DEFAULTS): New defaults.
33183         * modules/spawn (Makefile.am): Substitute them.
33184         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33185         Only declare if missing or broken.
33186
33187         sys_times, sys_utsname: use include_next
33188         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33189         header.
33190         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33191         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33192         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33193         * modules/sys_times (Depends-on): Add include_next.
33194         (Makefile.am): Substitute additional values.
33195         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33196         * lib/sys_times.in.h (includes): Include native header, if
33197         available.
33198         * lib/sys_utsname.in.h (includes): Likewise.
33199         * tests/test-sys_times.c (main): Enhance test.
33200
33201         fdutimensat: revert prior patch
33202         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33203         utimens.h.
33204         Reported by Bruno Haible.
33205
33206 2009-12-30  Eric Blake  <ebb9@byu.net>
33207
33208         sys_wait: drop link-warning dependency
33209         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33210         link-warning efforts.
33211         * lib/sys_wait.in.h: Likewise.
33212
33213         fdutimensat: remove bogus dependency
33214         * modules/fdutimensat (Depends-on): Drop inline.
33215
33216         unistd: fix typo
33217         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33218
33219 2009-12-30  Bruno Haible  <bruno@clisp.org>
33220
33221         Fix compilation error with Solaris cc.
33222         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33223         * lib/unicase/u16-is-invariant.c: Likewise.
33224         * lib/unicase/u32-is-invariant.c: Likewise.
33225         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33226
33227 2009-12-30  Bruno Haible  <bruno@clisp.org>
33228
33229         Fix test crash.
33230         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33231         locales.
33232         Reported by Simon Josefsson <simon@josefsson.org>.
33233
33234 2009-12-30  Bruno Haible  <bruno@clisp.org>
33235
33236         Fix compilation error on most platforms.
33237         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33238         Reported by Simon Josefsson <simon@josefsson.org>
33239         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33240
33241 2009-12-30  Eric Blake  <ebb9@byu.net>
33242
33243         futimens, utimensat: work around ntfs-3g bug
33244         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33245         a ctime bug is present, and expand workaround to cover ntfs-3g.
33246         * lib/utimens.c (fdutimens, lutimens): Likewise.
33247         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33248         (validate_timespec): Adjust return value.
33249         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33250         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33251         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33252
33253 2009-12-29  Eric Blake  <ebb9@byu.net>
33254
33255         link-warning: make usage consistent
33256         * modules/ctype (Depends-on): Add link-warning.
33257         (Makefile.am): Update rules accordingly.
33258         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33259         * modules/locale (Depends-on, Makefile.am): Likewise.
33260         * modules/sys_file (Makefile.am): Likewise.
33261         * modules/getopt-posix (Makefile.am): Delete unused link warning
33262         efforts.
33263         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33264         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33265         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33266         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33267
33268         stdio: remove unused variables
33269         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33270         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33271         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33272
33273         tests: test more substitute headers
33274         * modules/ctype-tests: New file.
33275         * modules/dirent-tests: Likewise.
33276         * modules/spawn-tests: Likewise.
33277         * modules/sys_file-tests: Likewise.
33278         * modules/sys_ioctl-tests: Likewise.
33279         * modules/sys_wait-tests: Likewise.
33280         * tests/test-ctype.c: Likewise.
33281         * tests/test-dirent.c: Likewise.
33282         * tests/test-spawn.c: Likewise.
33283         * tests/test-sys_file.c: Likewise.
33284         * tests/test-sys_ioctl.c: Likewise.
33285         * tests/test-sys_wait.c: Likewise.
33286         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33287         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33288         whether or not flock is in use.
33289
33290         tests: remove License section from module
33291         * modules/arpa_inet-tests: Remove unneeded section.
33292         * modules/byteswap-tests: Likewise.
33293         * modules/ceilf-tests: Likewise.
33294         * modules/ceill-tests: Likewise.
33295         * modules/crypto/des-tests: Likewise.
33296         * modules/crypto/gc-arcfour-tests: Likewise.
33297         * modules/crypto/gc-arctwo-tests: Likewise.
33298         * modules/crypto/gc-des-tests: Likewise.
33299         * modules/crypto/gc-hmac-md5-tests: Likewise.
33300         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33301         * modules/crypto/gc-md2-tests: Likewise.
33302         * modules/crypto/gc-md4-tests: Likewise.
33303         * modules/crypto/gc-md5-tests: Likewise.
33304         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33305         * modules/crypto/gc-rijndael-tests: Likewise.
33306         * modules/crypto/gc-sha1-tests: Likewise.
33307         * modules/crypto/gc-tests: Likewise.
33308         * modules/crypto/md2-tests: Likewise.
33309         * modules/crypto/md4-tests: Likewise.
33310         * modules/fcntl-h-tests: Likewise.
33311         * modules/floorf-tests: Likewise.
33312         * modules/floorl-tests: Likewise.
33313         * modules/frexp-nolibm-tests: Likewise.
33314         * modules/frexp-tests: Likewise.
33315         * modules/frexpl-nolibm-tests: Likewise.
33316         * modules/frexpl-tests: Likewise.
33317         * modules/getaddrinfo-tests: Likewise.
33318         * modules/inttypes-tests: Likewise.
33319         * modules/isfinite-tests: Likewise.
33320         * modules/isinf-tests: Likewise.
33321         * modules/ldexpl-tests: Likewise.
33322         * modules/locale-tests: Likewise.
33323         * modules/math-tests: Likewise.
33324         * modules/netdb-tests: Likewise.
33325         * modules/netinet_in-tests: Likewise.
33326         * modules/printf-frexp-tests: Likewise.
33327         * modules/printf-frexpl-tests: Likewise.
33328         * modules/priv-set-tests: Likewise.
33329         * modules/random_r-tests: Likewise.
33330         * modules/round-tests: Likewise.
33331         * modules/roundf-tests: Likewise.
33332         * modules/roundl-tests: Likewise.
33333         * modules/search-tests: Likewise.
33334         * modules/select-tests: Likewise.
33335         * modules/signal-tests: Likewise.
33336         * modules/stdbool-tests: Likewise.
33337         * modules/stddef-tests: Likewise.
33338         * modules/stdint-tests: Likewise.
33339         * modules/stdio-tests: Likewise.
33340         * modules/stdlib-tests: Likewise.
33341         * modules/string-tests: Likewise.
33342         * modules/strings-tests: Likewise.
33343         * modules/sys_select-tests: Likewise.
33344         * modules/sys_socket-tests: Likewise.
33345         * modules/sys_stat-tests: Likewise.
33346         * modules/sys_time-tests: Likewise.
33347         * modules/sys_utsname-tests: Likewise.
33348         * modules/sysexits-tests: Likewise.
33349         * modules/time-tests: Likewise.
33350         * modules/trunc-tests: Likewise.
33351         * modules/truncf-tests: Likewise.
33352         * modules/truncl-tests: Likewise.
33353         * modules/tsearch-tests: Likewise.
33354         * modules/unistd-tests: Likewise.
33355         * modules/wchar-tests: Likewise.
33356         * modules/wctype-tests: Likewise.
33357
33358         tests: fix license on several tests
33359         * tests/test-des.c: Update to GPLv3+.
33360         * tests/test-flock.c: Likewise.
33361         * tests/test-fsync.c: Likewise.
33362         * tests/test-futimens.h: Likewise.
33363         * tests/test-gc-arcfour.c: Likewise.
33364         * tests/test-gc-arctwo.c: Likewise.
33365         * tests/test-gc-des.c: Likewise.
33366         * tests/test-gc-hmac-md5.c: Likewise.
33367         * tests/test-gc-hmac-sha1.c: Likewise.
33368         * tests/test-gc-md2.c: Likewise.
33369         * tests/test-gc-md4.c: Likewise.
33370         * tests/test-gc-md5.c: Likewise.
33371         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33372         * tests/test-gc-rijndael.c: Likewise.
33373         * tests/test-gc-sha1.c: Likewise.
33374         * tests/test-gc.c: Likewise.
33375         * tests/test-getcwd.c: Likewise.
33376         * tests/test-link.c: Likewise.
33377         * tests/test-link.h: Likewise.
33378         * tests/test-lutimens.h: Likewise.
33379         * tests/test-md2.c: Likewise.
33380         * tests/test-md4.c: Likewise.
33381         * tests/test-mkdir.h: Likewise.
33382         * tests/test-rename.c: Likewise.
33383         * tests/test-rename.h: Likewise.
33384         * tests/test-safe-alloc.c: Likewise.
33385         * tests/test-utimens-common.h: Likewise.
33386         * tests/test-utimens.h: Likewise.
33387
33388         maint: sync license texts
33389         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
33390         * doc/gpl-3.0.texi: Revert copyright year update.
33391         * doc/lgpl-3.0.texi: Likewise.
33392
33393 2009-12-29  Jim Meyering  <meyering@redhat.com>
33394
33395         update nearly all FSF copyright year lists to include 2009
33396         The files named by the following are exempted:
33397             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
33398               test -f "$dst" && { echo "$dst"; continue; }
33399               test -d "$dst" || continue
33400               echo "$dst"/$(basename "$src")
33401             done > exempt
33402             git ls-files tests/unictype >> exempt
33403         In the remaining files, convert to all-interval notation if
33404         - there is already at least one year interval like 2000-2003
33405         - the file is maintained by me
33406         - the file is in lib/uni*/, where that style already prevails
33407         Otherwise, use update-copyright's default.
33408
33409 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33410         and Eric Blake  <ebb9@byu.net>
33411
33412         tests: don't require debug system() to pass
33413         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
33414         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33415         * tests/test-unlink.h (test_unlink_func): Likewise.
33416         * tests/test-fstatat.c (main): ...into callers.
33417         * tests/test-lstat.c (main): Likewise.
33418         * tests/test-rmdir.c (main): Likewise.
33419         * tests/test-unlink.c (main): Likewise.
33420         * tests/test-unlinkat.c (main): Likewise.
33421         * tests/test-areadlink-with-size.c (main): Don't require a
33422         debug-only system call to pass, aiding cross-testing to mingw.
33423         * tests/test-areadlink.c (main): Likewise.
33424         * tests/test-areadlinkat-with-size.c (main): Likewise.
33425         * tests/test-areadlinkat.c (main): Likewise.
33426         * tests/test-canonicalize-lgpl.c (main): Likewise.
33427         * tests/test-canonicalize.c (main): Likewise.
33428         * tests/test-chown.c (main): Likewise.
33429         * tests/test-fchownat.c (main): Likewise.
33430         * tests/test-lchown.c (main): Likewise.
33431         * tests/test-fdutimensat.c (main): Likewise.
33432         * tests/test-futimens.c (main): Likewise.
33433         * tests/test-link.c (main): Likewise.
33434         * tests/test-linkat.c (main): Likewise.
33435         * tests/test-mkdir.c (main): Likewise.
33436         * tests/test-mkdirat.c (main): Likewise.
33437         * tests/test-mkfifo.c (main): Likewise.
33438         * tests/test-mkfifoat.c (main): Likewise.
33439         * tests/test-mknod.c (main): Likewise.
33440         * tests/test-readlink.c (main): Likewise.
33441         * tests/test-remove.c (main): Likewise.
33442         * tests/test-rename.c (main): Likewise.
33443         * tests/test-renameat.c (main): Likewise.
33444         * tests/test-symlink.c (main): Likewise.
33445         * tests/test-symlinkat.c (main): Likewise.
33446         * tests/test-utimens.c (main): Likewise.
33447         * tests/test-utimensat.c (main): Likewise.
33448
33449 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33450
33451         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
33452         on $(UNUSED_PARAMETER_H) to avoid build failure.
33453
33454 2009-12-28  Jim Meyering  <meyering@redhat.com>
33455
33456         update-copyright: you may specify a max. line length other than 72
33457         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33458
33459         maint: use consistent FSF copyright line syntax
33460         * lib/posixtm.c: Add missing comma in FSF copyright line.
33461         * lib/posixtm.h: Likewise.
33462         * lib/getugroups.c: Add missing ", Inc.".
33463
33464         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
33465         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
33466         FSF copyright line.  Remove trailing blanks.
33467
33468 2009-12-28  Eric Blake  <ebb9@byu.net>
33469
33470         test-dup2: reduce dependencies
33471         * modules/cloexec (Configure.ac): Set witness.
33472         * modules/dup2-tests (Depends-on): Drop cloexec.
33473         * tests/test-dup2.c (main): Skip portion of test if cloexec module
33474         not present.
33475         Suggested by Bruno Haible.
33476
33477 2009-12-26  Bruno Haible  <bruno@clisp.org>
33478
33479         Remove an unneeded dependency.
33480         * modules/fseterr (Depends-on): Remove dup2.
33481
33482 2009-12-26  Eric Blake  <ebb9@byu.net>
33483
33484         tests: use macros.h in more places
33485         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
33486         (ASSERT_STREAM): Provide default of stderr.
33487         * tests/test-dirent-safer.c: Include macros.h, using alternate
33488         stream for assertions.
33489         * tests/test-dup-safer.c: Likewise.
33490         * tests/test-freopen-safer.c: Likewise.
33491         * tests/test-getopt.c: Likewise.
33492         * tests/test-openat-safer.c: Likewise.
33493         * tests/test-pipe.c: Likewise.
33494         * tests/test-popen-safer.c: Likewise.
33495         * modules/dirent-safer-tests (Files): Include macros.h.
33496         * modules/unistd-safer-tests (Files): Likewise.
33497         * modules/freopen-safer-tests (Files): Likewise.
33498         * modules/getopt-posix-tests (Files): Likewise.
33499         * modules/openat-safer-tests (Files): Likewise.
33500         * modules/pipe-tests (Files): Likewise.
33501
33502 2009-12-26  Bruno Haible  <bruno@clisp.org>
33503
33504         javacomp: Portability fix.
33505         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
33506         that it also works on Solaris.
33507
33508 2009-12-26  Bruno Haible  <bruno@clisp.org>
33509
33510         localename: Fix storage allocation of gl_locale_name_thread's result.
33511         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
33512         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
33513         all platforms that have 'uselocale'.
33514         (gl_locale_name_thread_unsafe): New function, extracted from
33515         gl_locale_name_thread.
33516         (gl_locale_name_thread): Call struniq on all platforms that have
33517         'uselocale'.
33518         * tests/test-localename.c (test_locale_name_thread): Check that the
33519         resulting strings are permanently allocated.
33520         * modules/localename-tests (Depends-on): Add strdup.
33521
33522 2009-12-26  Bruno Haible  <bruno@clisp.org>
33523
33524         * tests/test-localename.c (categories): Fill in the strings.
33525
33526 2009-12-26  Jim Meyering  <meyering@redhat.com>
33527
33528         isdir: complete the removal of m4/isdir.m4
33529         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
33530
33531         isdir: clean up, since at least grep still uses it
33532         * lib/isdir.c: Include "isdir.h".
33533         (S_ISDIR): Remove now-unneeded definition.
33534         * modules/isdir (Files): Add lib/isdir.h.
33535         * lib/isdir.h: New file, with declaration.
33536         * m4/isdir.m4: Remove file -- unneeded.
33537
33538 2009-12-25  Bruno Haible  <bruno@clisp.org>
33539
33540         selinux-h: Make generated .h files standalone.
33541         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
33542         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
33543         * lib/se-selinux.in.h: Likewise.
33544         * modules/selinux-h (Depends-on): Add unused-parameter.
33545         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
33546         selinux/selinux.h and selinux/context.h.
33547         Suggested by Eric Blake.
33548
33549 2009-12-25  Bruno Haible  <bruno@clisp.org>
33550
33551         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
33552         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
33553         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
33554         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
33555         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
33556
33557 2009-12-24  Bruno Haible  <bruno@clisp.org>
33558
33559         openat: Fix warning.
33560         * lib/openat-proc.c: Include <unistd.h>.
33561
33562 2009-12-24  Bruno Haible  <bruno@clisp.org>
33563
33564         New module 'unused-parameter'.
33565         * build-aux/unused-parameter.h: New file, extracted from earlier
33566         gnulib-common.m4.
33567         * modules/unused-parameter: New file.
33568         * lib/unistr.h: Include unused-parameter.h.
33569         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
33570         _GL_UNUSED.
33571         * modules/unistr/base (Depends-on): Add unused-parameter.
33572
33573 2009-12-24  Bruno Haible  <bruno@clisp.org>
33574
33575         Add missing dependencies to 'extensions' module.
33576         * m4/extensions.m4: Add comment.
33577         * modules/accept4 (Depends-on): Add extensions.
33578         * modules/dup3 (Depends-on): Likewise.
33579         * modules/fcntl (Depends-on): Likewise.
33580         * modules/futimens (Depends-on): Likewise.
33581         * modules/mknod (Depends-on): Likewise.
33582         * modules/pipe2 (Depends-on): Likewise.
33583         * modules/stat-time (Depends-on): Likewise.
33584         * modules/strcasestr-simple (Depends-on): Likewise.
33585         * modules/strsignal (Depends-on): Likewise.
33586         * modules/utimensat (Depends-on): Likewise.
33587         * modules/localcharset (Depends-on): Likewise. Needed because of
33588         gl_FCNTL_O_FLAGS.
33589         * modules/wcrtomb (Depends-on): Likewise. Needed because of
33590         AC_TYPE_MBSTATE_T.
33591         * modules/wcsnrtombs (Depends-on): Likewise.
33592         * modules/wcsrtombs (Depends-on): Likewise.
33593
33594 2009-12-24  Bruno Haible  <bruno@clisp.org>
33595
33596         binary-io: Avoid gcc warning due to SET_BINARY.
33597         * lib/binary-io.h (SET_BINARY): Cast the result to void.
33598         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
33599
33600 2009-12-24  Bruno Haible  <bruno@clisp.org>
33601
33602         Avoid future namespace pollution on glibc systems.
33603         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
33604         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
33605         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
33606         glibc systems.
33607
33608 2009-12-24  Bruno Haible  <bruno@clisp.org>
33609
33610         Refactor common macros used in tests.
33611         * tests/macros.h: New file.
33612         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
33613         and/or <stdlib.h>, if appropriate.
33614         (ASSERT, SIZEOF): Remove macros.
33615         * tests/test-areadlink-with-size.c: Likewise.
33616         * tests/test-areadlinkat.c: Likewise.
33617         * tests/test-areadlinkat-with-size.c: Likewise.
33618         * tests/test-argmatch.c: Likewise.
33619         * tests/test-argv-iter.c: Likewise.
33620         * tests/test-array-mergesort.c: Likewise.
33621         * tests/test-array_list.c: Likewise.
33622         * tests/test-array_oset.c: Likewise.
33623         * tests/test-avltree_list.c: Likewise.
33624         * tests/test-avltree_oset.c: Likewise.
33625         * tests/test-avltreehash_list.c: Likewise.
33626         * tests/test-base64.c: Likewise.
33627         * tests/test-binary-io.c: Likewise.
33628         * tests/test-bitrotate.c: Likewise.
33629         * tests/test-btowc.c: Likewise.
33630         * tests/test-byteswap.c: Likewise.
33631         * tests/test-c-ctype.c: Likewise.
33632         * tests/test-c-stack.c: Likewise.
33633         * tests/test-c-strcasecmp.c: Likewise.
33634         * tests/test-c-strcasestr.c: Likewise.
33635         * tests/test-c-strncasecmp.c: Likewise.
33636         * tests/test-c-strstr.c: Likewise.
33637         * tests/test-canonicalize-lgpl.c: Likewise.
33638         * tests/test-canonicalize.c: Likewise.
33639         * tests/test-carray_list.c: Likewise.
33640         * tests/test-ceilf1.c: Likewise.
33641         * tests/test-ceilf2.c: Likewise.
33642         * tests/test-ceill.c: Likewise.
33643         * tests/test-chown.c: Likewise.
33644         * tests/test-cloexec.c: Likewise.
33645         * tests/test-copy-acl.c: Likewise.
33646         * tests/test-copy-file.c: Likewise.
33647         * tests/test-count-one-bits.c: Likewise.
33648         * tests/test-dprintf-posix.c: Likewise.
33649         * tests/test-dup2.c: Likewise.
33650         * tests/test-dup3.c: Likewise.
33651         * tests/test-duplocale.c: Likewise.
33652         * tests/test-fbufmode.c: Likewise.
33653         * tests/test-fchdir.c: Likewise.
33654         * tests/test-fchownat.c: Likewise.
33655         * tests/test-fcntl-safer.c: Likewise.
33656         * tests/test-fcntl.c: Likewise.
33657         * tests/test-fdopendir.c: Likewise.
33658         * tests/test-fdutimensat.c: Likewise.
33659         * tests/test-fflush2.c: Likewise.
33660         * tests/test-file-has-acl.c: Likewise.
33661         * tests/test-filevercmp.c: Likewise.
33662         * tests/test-flock.c: Likewise.
33663         * tests/test-floorf1.c: Likewise.
33664         * tests/test-floorf2.c: Likewise.
33665         * tests/test-floorl.c: Likewise.
33666         * tests/test-fnmatch.c: Likewise.
33667         * tests/test-fopen.h: Likewise.
33668         * tests/test-fpending.c: Likewise.
33669         * tests/test-fprintf-posix.c: Likewise.
33670         * tests/test-fpurge.c: Likewise.
33671         * tests/test-freadable.c: Likewise.
33672         * tests/test-freadahead.c: Likewise.
33673         * tests/test-freading.c: Likewise.
33674         * tests/test-freadptr.c: Likewise.
33675         * tests/test-freadptr2.c: Likewise.
33676         * tests/test-freadseek.c: Likewise.
33677         * tests/test-freopen.c: Likewise.
33678         * tests/test-frexp.c: Likewise.
33679         * tests/test-frexpl.c: Likewise.
33680         * tests/test-fseek.c: Likewise.
33681         * tests/test-fseeko.c: Likewise.
33682         * tests/test-fstatat.c: Likewise.
33683         * tests/test-fstrcmp.c: Likewise.
33684         * tests/test-fsync.c: Likewise.
33685         * tests/test-ftell.c: Likewise.
33686         * tests/test-ftello.c: Likewise.
33687         * tests/test-func.c: Likewise.
33688         * tests/test-futimens.c: Likewise.
33689         * tests/test-fwritable.c: Likewise.
33690         * tests/test-fwriting.c: Likewise.
33691         * tests/test-getcwd.c: Likewise.
33692         * tests/test-getdate.c: Likewise.
33693         * tests/test-getdelim.c: Likewise.
33694         * tests/test-getdtablesize.c: Likewise.
33695         * tests/test-getgroups.c: Likewise.
33696         * tests/test-getline.c: Likewise.
33697         * tests/test-getndelim2.c: Likewise.
33698         * tests/test-glob.c: Likewise.
33699         * tests/test-hash.c: Likewise.
33700         * tests/test-i-ring.c: Likewise.
33701         * tests/test-iconv-utf.c: Likewise.
33702         * tests/test-iconv.c: Likewise.
33703         * tests/test-idpriv-drop.c: Likewise.
33704         * tests/test-idpriv-droptemp.c: Likewise.
33705         * tests/test-inet_ntop.c: Likewise.
33706         * tests/test-inet_pton.c: Likewise.
33707         * tests/test-isblank.c: Likewise.
33708         * tests/test-isfinite.c: Likewise.
33709         * tests/test-isinf.c: Likewise.
33710         * tests/test-isnan.c: Likewise.
33711         * tests/test-isnand.h: Likewise.
33712         * tests/test-isnanf.h: Likewise.
33713         * tests/test-isnanl.h: Likewise.
33714         * tests/test-lchown.c: Likewise.
33715         * tests/test-ldexpl.c: Likewise.
33716         * tests/test-link.c: Likewise.
33717         * tests/test-linkat.c: Likewise.
33718         * tests/test-linked_list.c: Likewise.
33719         * tests/test-linkedhash_list.c: Likewise.
33720         * tests/test-localename.c: Likewise.
33721         * tests/test-lseek.c: Likewise.
33722         * tests/test-lstat.c: Likewise.
33723         * tests/test-mbmemcasecmp.c: Likewise.
33724         * tests/test-mbmemcasecoll.c: Likewise.
33725         * tests/test-mbrtowc.c: Likewise.
33726         * tests/test-mbscasecmp.c: Likewise.
33727         * tests/test-mbscasestr1.c: Likewise.
33728         * tests/test-mbscasestr2.c: Likewise.
33729         * tests/test-mbscasestr3.c: Likewise.
33730         * tests/test-mbscasestr4.c: Likewise.
33731         * tests/test-mbschr.c: Likewise.
33732         * tests/test-mbscspn.c: Likewise.
33733         * tests/test-mbsinit.c: Likewise.
33734         * tests/test-mbsncasecmp.c: Likewise.
33735         * tests/test-mbsnrtowcs.c: Likewise.
33736         * tests/test-mbspbrk.c: Likewise.
33737         * tests/test-mbspcasecmp.c: Likewise.
33738         * tests/test-mbsrchr.c: Likewise.
33739         * tests/test-mbsrtowcs.c: Likewise.
33740         * tests/test-mbsspn.c: Likewise.
33741         * tests/test-mbsstr1.c: Likewise.
33742         * tests/test-mbsstr2.c: Likewise.
33743         * tests/test-mbsstr3.c: Likewise.
33744         * tests/test-memchr.c: Likewise.
33745         * tests/test-memchr2.c: Likewise.
33746         * tests/test-memcmp.c: Likewise.
33747         * tests/test-memmem.c: Likewise.
33748         * tests/test-memrchr.c: Likewise.
33749         * tests/test-mkdir.c: Likewise.
33750         * tests/test-mkdirat.c: Likewise.
33751         * tests/test-mkfifo.c: Likewise.
33752         * tests/test-mkfifoat.c: Likewise.
33753         * tests/test-mknod.c: Likewise.
33754         * tests/test-nanosleep.c: Likewise.
33755         * tests/test-nl_langinfo.c: Likewise.
33756         * tests/test-obstack-printf.c: Likewise.
33757         * tests/test-open.c: Likewise.
33758         * tests/test-openat.c: Likewise.
33759         * tests/test-pipe-filter-gi1.c: Likewise.
33760         * tests/test-pipe-filter-gi2-main.c: Likewise.
33761         * tests/test-pipe-filter-ii1.c: Likewise.
33762         * tests/test-pipe-filter-ii2-main.c: Likewise.
33763         * tests/test-pipe2.c: Likewise.
33764         * tests/test-popen.h: Likewise.
33765         * tests/test-posixtm.c: Likewise.
33766         * tests/test-pread.c: Likewise.
33767         * tests/test-printf-frexp.c: Likewise.
33768         * tests/test-printf-frexpl.c: Likewise.
33769         * tests/test-printf-posix.c: Likewise.
33770         * tests/test-priv-set.c: Likewise.
33771         * tests/test-quotearg.c: Likewise.
33772         * tests/test-random_r.c: Likewise.
33773         * tests/test-rawmemchr.c: Likewise.
33774         * tests/test-rbtree_list.c: Likewise.
33775         * tests/test-rbtree_oset.c: Likewise.
33776         * tests/test-rbtreehash_list.c: Likewise.
33777         * tests/test-readlink.c: Likewise.
33778         * tests/test-remove.c: Likewise.
33779         * tests/test-rename.c: Likewise.
33780         * tests/test-renameat.c: Likewise.
33781         * tests/test-rmdir.c: Likewise.
33782         * tests/test-round1.c: Likewise.
33783         * tests/test-roundf1.c: Likewise.
33784         * tests/test-roundl.c: Likewise.
33785         * tests/test-safe-alloc.c: Likewise.
33786         * tests/test-sameacls.c: Likewise.
33787         * tests/test-set-mode-acl.c: Likewise.
33788         * tests/test-setenv.c: Likewise.
33789         * tests/test-sigaction.c: Likewise.
33790         * tests/test-signbit.c: Likewise.
33791         * tests/test-sleep.c: Likewise.
33792         * tests/test-snprintf-posix.c: Likewise.
33793         * tests/test-snprintf.c: Likewise.
33794         * tests/test-sprintf-posix.c: Likewise.
33795         * tests/test-stat-time.c: Likewise.
33796         * tests/test-stat.c: Likewise.
33797         * tests/test-strcasestr.c: Likewise.
33798         * tests/test-strchrnul.c: Likewise.
33799         * tests/test-strerror.c: Likewise.
33800         * tests/test-striconv.c: Likewise.
33801         * tests/test-striconveh.c: Likewise.
33802         * tests/test-striconveha.c: Likewise.
33803         * tests/test-strsignal.c: Likewise.
33804         * tests/test-strstr.c: Likewise.
33805         * tests/test-strtod.c: Likewise.
33806         * tests/test-strverscmp.c: Likewise.
33807         * tests/test-symlink.c: Likewise.
33808         * tests/test-symlinkat.c: Likewise.
33809         * tests/test-trunc1.c: Likewise.
33810         * tests/test-trunc2.c: Likewise.
33811         * tests/test-truncf1.c: Likewise.
33812         * tests/test-truncf2.c: Likewise.
33813         * tests/test-truncl.c: Likewise.
33814         * tests/test-uname.c: Likewise.
33815         * tests/test-unlink.c: Likewise.
33816         * tests/test-unlinkat.c: Likewise.
33817         * tests/test-unsetenv.c: Likewise.
33818         * tests/test-usleep.c: Likewise.
33819         * tests/test-utimens.c: Likewise.
33820         * tests/test-utimensat.c: Likewise.
33821         * tests/test-vasnprintf-posix.c: Likewise.
33822         * tests/test-vasnprintf-posix2.c: Likewise.
33823         * tests/test-vasnprintf.c: Likewise.
33824         * tests/test-vasprintf-posix.c: Likewise.
33825         * tests/test-vasprintf.c: Likewise.
33826         * tests/test-vdprintf-posix.c: Likewise.
33827         * tests/test-vfprintf-posix.c: Likewise.
33828         * tests/test-vprintf-posix.c: Likewise.
33829         * tests/test-vsnprintf-posix.c: Likewise.
33830         * tests/test-vsnprintf.c: Likewise.
33831         * tests/test-vsprintf-posix.c: Likewise.
33832         * tests/test-wcrtomb.c: Likewise.
33833         * tests/test-wcsnrtombs.c: Likewise.
33834         * tests/test-wcsrtombs.c: Likewise.
33835         * tests/test-wctype.c: Likewise.
33836         * tests/test-wcwidth.c: Likewise.
33837         * tests/test-xfprintf-posix.c: Likewise.
33838         * tests/test-xmemdup0.c: Likewise.
33839         * tests/test-xprintf-posix.c: Likewise.
33840         * tests/test-xvasprintf.c: Likewise.
33841         * tests/unicase/test-locale-language.c: Likewise.
33842         * tests/unicase/test-mapping-part1.h: Likewise.
33843         * tests/unicase/test-predicate-part1.h: Likewise.
33844         * tests/unicase/test-u8-casecmp.c: Likewise.
33845         * tests/unicase/test-u8-casecoll.c: Likewise.
33846         * tests/unicase/test-u8-casefold.c: Likewise.
33847         * tests/unicase/test-u8-is-cased.c: Likewise.
33848         * tests/unicase/test-u8-is-casefolded.c: Likewise.
33849         * tests/unicase/test-u8-is-lowercase.c: Likewise.
33850         * tests/unicase/test-u8-is-titlecase.c: Likewise.
33851         * tests/unicase/test-u8-is-uppercase.c: Likewise.
33852         * tests/unicase/test-u8-tolower.c: Likewise.
33853         * tests/unicase/test-u8-totitle.c: Likewise.
33854         * tests/unicase/test-u8-toupper.c: Likewise.
33855         * tests/unicase/test-u16-casecmp.c: Likewise.
33856         * tests/unicase/test-u16-casecoll.c: Likewise.
33857         * tests/unicase/test-u16-casefold.c: Likewise.
33858         * tests/unicase/test-u16-is-cased.c: Likewise.
33859         * tests/unicase/test-u16-is-casefolded.c: Likewise.
33860         * tests/unicase/test-u16-is-lowercase.c: Likewise.
33861         * tests/unicase/test-u16-is-titlecase.c: Likewise.
33862         * tests/unicase/test-u16-is-uppercase.c: Likewise.
33863         * tests/unicase/test-u16-tolower.c: Likewise.
33864         * tests/unicase/test-u16-totitle.c: Likewise.
33865         * tests/unicase/test-u16-toupper.c: Likewise.
33866         * tests/unicase/test-u32-casecmp.c: Likewise.
33867         * tests/unicase/test-u32-casecoll.c: Likewise.
33868         * tests/unicase/test-u32-casefold.c: Likewise.
33869         * tests/unicase/test-u32-is-cased.c: Likewise.
33870         * tests/unicase/test-u32-is-casefolded.c: Likewise.
33871         * tests/unicase/test-u32-is-lowercase.c: Likewise.
33872         * tests/unicase/test-u32-is-titlecase.c: Likewise.
33873         * tests/unicase/test-u32-is-uppercase.c: Likewise.
33874         * tests/unicase/test-u32-tolower.c: Likewise.
33875         * tests/unicase/test-u32-totitle.c: Likewise.
33876         * tests/unicase/test-u32-toupper.c: Likewise.
33877         * tests/unicase/test-ulc-casecmp.c: Likewise.
33878         * tests/unicase/test-ulc-casecoll.c: Likewise.
33879         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
33880         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
33881         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
33882         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
33883         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
33884         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
33885         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
33886         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
33887         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
33888         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
33889         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
33890         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
33891         * tests/unictype/test-bidi_byname.c: Likewise.
33892         * tests/unictype/test-bidi_name.c: Likewise.
33893         * tests/unictype/test-bidi_of.c: Likewise.
33894         * tests/unictype/test-bidi_test.c: Likewise.
33895         * tests/unictype/test-block_list.c: Likewise.
33896         * tests/unictype/test-block_of.c: Likewise.
33897         * tests/unictype/test-block_test.c: Likewise.
33898         * tests/unictype/test-categ_and.c: Likewise.
33899         * tests/unictype/test-categ_and_not.c: Likewise.
33900         * tests/unictype/test-categ_byname.c: Likewise.
33901         * tests/unictype/test-categ_name.c: Likewise.
33902         * tests/unictype/test-categ_none.c: Likewise.
33903         * tests/unictype/test-categ_of.c: Likewise.
33904         * tests/unictype/test-categ_or.c: Likewise.
33905         * tests/unictype/test-categ_test_withtable.c: Likewise.
33906         * tests/unictype/test-combining.c: Likewise.
33907         * tests/unictype/test-decdigit.c: Likewise.
33908         * tests/unictype/test-digit.c: Likewise.
33909         * tests/unictype/test-mirror.c: Likewise.
33910         * tests/unictype/test-numeric.c: Likewise.
33911         * tests/unictype/test-pr_byname.c: Likewise.
33912         * tests/unictype/test-pr_test.c: Likewise.
33913         * tests/unictype/test-predicate-part1.h: Likewise.
33914         * tests/unictype/test-scripts.c: Likewise.
33915         * tests/unictype/test-sy_c_ident.c: Likewise.
33916         * tests/unictype/test-sy_java_ident.c: Likewise.
33917         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
33918         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
33919         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
33920         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
33921         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
33922         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
33923         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
33924         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
33925         * tests/uninorm/test-canonical-decomposition.c: Likewise.
33926         * tests/uninorm/test-compat-decomposition.c: Likewise.
33927         * tests/uninorm/test-composition.c: Likewise.
33928         * tests/uninorm/test-decomposing-form.c: Likewise.
33929         * tests/uninorm/test-decomposition.c: Likewise.
33930         * tests/uninorm/test-u8-nfc.c: Likewise.
33931         * tests/uninorm/test-u8-nfd.c: Likewise.
33932         * tests/uninorm/test-u8-nfkc.c: Likewise.
33933         * tests/uninorm/test-u8-nfkd.c: Likewise.
33934         * tests/uninorm/test-u8-normcmp.c: Likewise.
33935         * tests/uninorm/test-u8-normcoll.c: Likewise.
33936         * tests/uninorm/test-u16-nfc.c: Likewise.
33937         * tests/uninorm/test-u16-nfd.c: Likewise.
33938         * tests/uninorm/test-u16-nfkc.c: Likewise.
33939         * tests/uninorm/test-u16-nfkd.c: Likewise.
33940         * tests/uninorm/test-u16-normcmp.c: Likewise.
33941         * tests/uninorm/test-u16-normcoll.c: Likewise.
33942         * tests/uninorm/test-u32-nfc.c: Likewise.
33943         * tests/uninorm/test-u32-nfd.c: Likewise.
33944         * tests/uninorm/test-u32-nfkc.c: Likewise.
33945         * tests/uninorm/test-u32-nfkd.c: Likewise.
33946         * tests/uninorm/test-u32-normalize-big.c: Likewise.
33947         * tests/uninorm/test-u32-normcmp.c: Likewise.
33948         * tests/uninorm/test-u32-normcoll.c: Likewise.
33949         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
33950         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
33951         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
33952         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
33953         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
33954         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
33955         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
33956         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
33957         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
33958         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
33959         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
33960         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
33961         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
33962         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
33963         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
33964         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
33965         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
33966         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
33967         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
33968         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
33969         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
33970         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
33971         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
33972         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
33973         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
33974         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
33975         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
33976         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
33977         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
33978         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
33979         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
33980         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
33981         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
33982         * tests/uniwidth/test-u8-strwidth.c: Likewise.
33983         * tests/uniwidth/test-u8-width.c: Likewise.
33984         * tests/uniwidth/test-u16-strwidth.c: Likewise.
33985         * tests/uniwidth/test-u16-width.c: Likewise.
33986         * tests/uniwidth/test-u32-strwidth.c: Likewise.
33987         * tests/uniwidth/test-u32-width.c: Likewise.
33988         * tests/uniwidth/test-uc_width.c: Likewise.
33989         * tests/uniwidth/test-uc_width2.c: Likewise.
33990         * modules/acl-tests (Files): Add tests/macros.h.
33991         * modules/areadlink-tests (Files): Likewise.
33992         * modules/areadlink-with-size-tests (Files): Likewise.
33993         * modules/areadlinkat-tests (Files): Likewise.
33994         * modules/areadlinkat-with-size-tests (Files): Likewise.
33995         * modules/argmatch-tests (Files): Likewise.
33996         * modules/argv-iter-tests (Files): Likewise.
33997         * modules/array-list-tests (Files): Likewise.
33998         * modules/array-mergesort-tests (Files): Likewise.
33999         * modules/array-oset-tests (Files): Likewise.
34000         * modules/avltree-list-tests (Files): Likewise.
34001         * modules/avltree-oset-tests (Files): Likewise.
34002         * modules/avltreehash-list-tests (Files): Likewise.
34003         * modules/base64-tests (Files): Likewise.
34004         * modules/binary-io-tests (Files): Likewise.
34005         * modules/bitrotate-tests (Files): Likewise.
34006         * modules/btowc-tests (Files): Likewise.
34007         * modules/byteswap-tests (Files): Likewise.
34008         * modules/c-ctype-tests (Files): Likewise.
34009         * modules/c-stack-tests (Files): Likewise.
34010         * modules/c-strcase-tests (Files): Likewise.
34011         * modules/c-strcasestr-tests (Files): Likewise.
34012         * modules/c-strstr-tests (Files): Likewise.
34013         * modules/canonicalize-lgpl-tests (Files): Likewise.
34014         * modules/canonicalize-tests (Files): Likewise.
34015         * modules/carray-list-tests (Files): Likewise.
34016         * modules/ceilf-tests (Files): Likewise.
34017         * modules/ceill-tests (Files): Likewise.
34018         * modules/chown-tests (Files): Likewise.
34019         * modules/cloexec-tests (Files): Likewise.
34020         * modules/copy-file-tests (Files): Likewise.
34021         * modules/count-one-bits-tests (Files): Likewise.
34022         * modules/dprintf-posix-tests (Files): Likewise.
34023         * modules/dup2-tests (Files): Likewise.
34024         * modules/dup3-tests (Files): Likewise.
34025         * modules/duplocale-tests (Files): Likewise.
34026         * modules/fbufmode-tests (Files): Likewise.
34027         * modules/fchdir-tests (Files): Likewise.
34028         * modules/fcntl-safer-tests (Files): Likewise.
34029         * modules/fcntl-tests (Files): Likewise.
34030         * modules/fdopendir-tests (Files): Likewise.
34031         * modules/fdutimensat-tests (Files): Likewise.
34032         * modules/fflush-tests (Files): Likewise.
34033         * modules/filevercmp-tests (Files): Likewise.
34034         * modules/flock-tests (Files): Likewise.
34035         * modules/floorf-tests (Files): Likewise.
34036         * modules/floorl-tests (Files): Likewise.
34037         * modules/fnmatch-tests (Files): Likewise.
34038         * modules/fopen-safer-tests (Files): Likewise.
34039         * modules/fopen-tests (Files): Likewise.
34040         * modules/fpending-tests (Files): Likewise.
34041         * modules/fprintf-posix-tests (Files): Likewise.
34042         * modules/fpurge-tests (Files): Likewise.
34043         * modules/freadable-tests (Files): Likewise.
34044         * modules/freadahead-tests (Files): Likewise.
34045         * modules/freading-tests (Files): Likewise.
34046         * modules/freadptr-tests (Files): Likewise.
34047         * modules/freadseek-tests (Files): Likewise.
34048         * modules/freopen-tests (Files): Likewise.
34049         * modules/frexp-nolibm-tests (Files): Likewise.
34050         * modules/frexp-tests (Files): Likewise.
34051         * modules/frexpl-nolibm-tests (Files): Likewise.
34052         * modules/frexpl-tests (Files): Likewise.
34053         * modules/fseek-tests (Files): Likewise.
34054         * modules/fseeko-tests (Files): Likewise.
34055         * modules/fstrcmp-tests (Files): Likewise.
34056         * modules/fsync-tests (Files): Likewise.
34057         * modules/ftell-tests (Files): Likewise.
34058         * modules/ftello-tests (Files): Likewise.
34059         * modules/func-tests (Files): Likewise.
34060         * modules/futimens-tests (Files): Likewise.
34061         * modules/fwritable-tests (Files): Likewise.
34062         * modules/fwriting-tests (Files): Likewise.
34063         * modules/getcwd-tests (Files): Likewise.
34064         * modules/getdate-tests (Files): Likewise.
34065         * modules/getdelim-tests (Files): Likewise.
34066         * modules/getdtablesize-tests (Files): Likewise.
34067         * modules/getgroups-tests (Files): Likewise.
34068         * modules/getline-tests (Files): Likewise.
34069         * modules/getndelim2-tests (Files): Likewise.
34070         * modules/glob-tests (Files): Likewise.
34071         * modules/hash-tests (Files): Likewise.
34072         * modules/i-ring-tests (Files): Likewise.
34073         * modules/iconv-tests (Files): Likewise.
34074         * modules/iconv_open-utf-tests (Files): Likewise.
34075         * modules/idpriv-drop-tests (Files): Likewise.
34076         * modules/idpriv-droptemp-tests (Files): Likewise.
34077         * modules/inet_ntop-tests (Files): Likewise.
34078         * modules/inet_pton-tests (Files): Likewise.
34079         * modules/isblank-tests (Files): Likewise.
34080         * modules/isfinite-tests (Files): Likewise.
34081         * modules/isinf-tests (Files): Likewise.
34082         * modules/isnan-tests (Files): Likewise.
34083         * modules/isnand-nolibm-tests (Files): Likewise.
34084         * modules/isnand-tests (Files): Likewise.
34085         * modules/isnanf-nolibm-tests (Files): Likewise.
34086         * modules/isnanf-tests (Files): Likewise.
34087         * modules/isnanl-nolibm-tests (Files): Likewise.
34088         * modules/isnanl-tests (Files): Likewise.
34089         * modules/lchown-tests (Files): Likewise.
34090         * modules/ldexpl-tests (Files): Likewise.
34091         * modules/link-tests (Files): Likewise.
34092         * modules/linkat-tests (Files): Likewise.
34093         * modules/linked-list-tests (Files): Likewise.
34094         * modules/linkedhash-list-tests (Files): Likewise.
34095         * modules/localename-tests (Files): Likewise.
34096         * modules/lseek-tests (Files): Likewise.
34097         * modules/lstat-tests (Files): Likewise.
34098         * modules/mbmemcasecmp-tests (Files): Likewise.
34099         * modules/mbmemcasecoll-tests (Files): Likewise.
34100         * modules/mbrtowc-tests (Files): Likewise.
34101         * modules/mbscasecmp-tests (Files): Likewise.
34102         * modules/mbscasestr-tests (Files): Likewise.
34103         * modules/mbschr-tests (Files): Likewise.
34104         * modules/mbscspn-tests (Files): Likewise.
34105         * modules/mbsinit-tests (Files): Likewise.
34106         * modules/mbsncasecmp-tests (Files): Likewise.
34107         * modules/mbsnrtowcs-tests (Files): Likewise.
34108         * modules/mbspbrk-tests (Files): Likewise.
34109         * modules/mbspcasecmp-tests (Files): Likewise.
34110         * modules/mbsrchr-tests (Files): Likewise.
34111         * modules/mbsrtowcs-tests (Files): Likewise.
34112         * modules/mbsspn-tests (Files): Likewise.
34113         * modules/mbsstr-tests (Files): Likewise.
34114         * modules/memchr-tests (Files): Likewise.
34115         * modules/memchr2-tests (Files): Likewise.
34116         * modules/memcmp-tests (Files): Likewise.
34117         * modules/memmem-tests (Files): Likewise.
34118         * modules/memrchr-tests (Files): Likewise.
34119         * modules/mkdir-tests (Files): Likewise.
34120         * modules/mkfifo-tests (Files): Likewise.
34121         * modules/mkfifoat-tests (Files): Likewise.
34122         * modules/mknod-tests (Files): Likewise.
34123         * modules/nanosleep-tests (Files): Likewise.
34124         * modules/nl_langinfo-tests (Files): Likewise.
34125         * modules/obstack-printf-tests (Files): Likewise.
34126         * modules/open-tests (Files): Likewise.
34127         * modules/openat-tests (Files): Likewise.
34128         * modules/pipe-filter-gi-tests (Files): Likewise.
34129         * modules/pipe-filter-ii-tests (Files): Likewise.
34130         * modules/pipe2-tests (Files): Likewise.
34131         * modules/popen-safer-tests (Files): Likewise.
34132         * modules/popen-tests (Files): Likewise.
34133         * modules/posixtm-tests (Files): Likewise.
34134         * modules/pread-tests (Files): Likewise.
34135         * modules/printf-frexp-tests (Files): Likewise.
34136         * modules/printf-frexpl-tests (Files): Likewise.
34137         * modules/printf-posix-tests (Files): Likewise.
34138         * modules/priv-set-tests (Files): Likewise.
34139         * modules/quotearg-tests (Files): Likewise.
34140         * modules/random_r-tests (Files): Likewise.
34141         * modules/rawmemchr-tests (Files): Likewise.
34142         * modules/rbtree-list-tests (Files): Likewise.
34143         * modules/rbtree-oset-tests (Files): Likewise.
34144         * modules/rbtreehash-list-tests (Files): Likewise.
34145         * modules/readlink-tests (Files): Likewise.
34146         * modules/remove-tests (Files): Likewise.
34147         * modules/rename-tests (Files): Likewise.
34148         * modules/renameat-tests (Files): Likewise.
34149         * modules/rmdir-tests (Files): Likewise.
34150         * modules/round-tests (Files): Likewise.
34151         * modules/roundf-tests (Files): Likewise.
34152         * modules/roundl-tests (Files): Likewise.
34153         * modules/safe-alloc-tests (Files): Likewise.
34154         * modules/setenv-tests (Files): Likewise.
34155         * modules/sigaction-tests (Files): Likewise.
34156         * modules/signbit-tests (Files): Likewise.
34157         * modules/sleep-tests (Files): Likewise.
34158         * modules/snprintf-posix-tests (Files): Likewise.
34159         * modules/snprintf-tests (Files): Likewise.
34160         * modules/sprintf-posix-tests (Files): Likewise.
34161         * modules/stat-tests (Files): Likewise.
34162         * modules/stat-time-tests (Files): Likewise.
34163         * modules/strcasestr-tests (Files): Likewise.
34164         * modules/strchrnul-tests (Files): Likewise.
34165         * modules/strerror-tests (Files): Likewise.
34166         * modules/striconv-tests (Files): Likewise.
34167         * modules/striconveh-tests (Files): Likewise.
34168         * modules/striconveha-tests (Files): Likewise.
34169         * modules/strsignal-tests (Files): Likewise.
34170         * modules/strstr-tests (Files): Likewise.
34171         * modules/strtod-tests (Files): Likewise.
34172         * modules/strverscmp-tests (Files): Likewise.
34173         * modules/symlink-tests (Files): Likewise.
34174         * modules/symlinkat-tests (Files): Likewise.
34175         * modules/trunc-tests (Files): Likewise.
34176         * modules/truncf-tests (Files): Likewise.
34177         * modules/truncl-tests (Files): Likewise.
34178         * modules/uname-tests (Files): Likewise.
34179         * modules/unicase/cased-tests (Files): Likewise.
34180         * modules/unicase/ignorable-tests (Files): Likewise.
34181         * modules/unicase/locale-language-tests (Files): Likewise.
34182         * modules/unicase/tolower-tests (Files): Likewise.
34183         * modules/unicase/totitle-tests (Files): Likewise.
34184         * modules/unicase/toupper-tests (Files): Likewise.
34185         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34186         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34187         * modules/unicase/u8-casefold-tests (Files): Likewise.
34188         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34189         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34190         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34191         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34192         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34193         * modules/unicase/u8-tolower-tests (Files): Likewise.
34194         * modules/unicase/u8-totitle-tests (Files): Likewise.
34195         * modules/unicase/u8-toupper-tests (Files): Likewise.
34196         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34197         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34198         * modules/unicase/u16-casefold-tests (Files): Likewise.
34199         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34200         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34201         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34202         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34203         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34204         * modules/unicase/u16-tolower-tests (Files): Likewise.
34205         * modules/unicase/u16-totitle-tests (Files): Likewise.
34206         * modules/unicase/u16-toupper-tests (Files): Likewise.
34207         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34208         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34209         * modules/unicase/u32-casefold-tests (Files): Likewise.
34210         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34211         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34212         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34213         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34214         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34215         * modules/unicase/u32-tolower-tests (Files): Likewise.
34216         * modules/unicase/u32-totitle-tests (Files): Likewise.
34217         * modules/unicase/u32-toupper-tests (Files): Likewise.
34218         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34219         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34220         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34221         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34222         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34223         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34224         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34225         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34226         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34227         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34228         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34229         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34230         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34231         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34232         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34233         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34234         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34235         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34236         * modules/unictype/block-list-tests (Files): Likewise.
34237         * modules/unictype/block-of-tests (Files): Likewise.
34238         * modules/unictype/block-test-tests (Files): Likewise.
34239         * modules/unictype/category-C-tests (Files): Likewise.
34240         * modules/unictype/category-Cc-tests (Files): Likewise.
34241         * modules/unictype/category-Cf-tests (Files): Likewise.
34242         * modules/unictype/category-Cn-tests (Files): Likewise.
34243         * modules/unictype/category-Co-tests (Files): Likewise.
34244         * modules/unictype/category-Cs-tests (Files): Likewise.
34245         * modules/unictype/category-L-tests (Files): Likewise.
34246         * modules/unictype/category-Ll-tests (Files): Likewise.
34247         * modules/unictype/category-Lm-tests (Files): Likewise.
34248         * modules/unictype/category-Lo-tests (Files): Likewise.
34249         * modules/unictype/category-Lt-tests (Files): Likewise.
34250         * modules/unictype/category-Lu-tests (Files): Likewise.
34251         * modules/unictype/category-M-tests (Files): Likewise.
34252         * modules/unictype/category-Mc-tests (Files): Likewise.
34253         * modules/unictype/category-Me-tests (Files): Likewise.
34254         * modules/unictype/category-Mn-tests (Files): Likewise.
34255         * modules/unictype/category-N-tests (Files): Likewise.
34256         * modules/unictype/category-Nd-tests (Files): Likewise.
34257         * modules/unictype/category-Nl-tests (Files): Likewise.
34258         * modules/unictype/category-No-tests (Files): Likewise.
34259         * modules/unictype/category-P-tests (Files): Likewise.
34260         * modules/unictype/category-Pc-tests (Files): Likewise.
34261         * modules/unictype/category-Pd-tests (Files): Likewise.
34262         * modules/unictype/category-Pe-tests (Files): Likewise.
34263         * modules/unictype/category-Pf-tests (Files): Likewise.
34264         * modules/unictype/category-Pi-tests (Files): Likewise.
34265         * modules/unictype/category-Po-tests (Files): Likewise.
34266         * modules/unictype/category-Ps-tests (Files): Likewise.
34267         * modules/unictype/category-S-tests (Files): Likewise.
34268         * modules/unictype/category-Sc-tests (Files): Likewise.
34269         * modules/unictype/category-Sk-tests (Files): Likewise.
34270         * modules/unictype/category-Sm-tests (Files): Likewise.
34271         * modules/unictype/category-So-tests (Files): Likewise.
34272         * modules/unictype/category-Z-tests (Files): Likewise.
34273         * modules/unictype/category-Zl-tests (Files): Likewise.
34274         * modules/unictype/category-Zp-tests (Files): Likewise.
34275         * modules/unictype/category-Zs-tests (Files): Likewise.
34276         * modules/unictype/category-and-not-tests (Files): Likewise.
34277         * modules/unictype/category-and-tests (Files): Likewise.
34278         * modules/unictype/category-byname-tests (Files): Likewise.
34279         * modules/unictype/category-name-tests (Files): Likewise.
34280         * modules/unictype/category-none-tests (Files): Likewise.
34281         * modules/unictype/category-of-tests (Files): Likewise.
34282         * modules/unictype/category-or-tests (Files): Likewise.
34283         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34284         * modules/unictype/combining-class-tests (Files): Likewise.
34285         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34286         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34287         * modules/unictype/ctype-blank-tests (Files): Likewise.
34288         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34289         * modules/unictype/ctype-digit-tests (Files): Likewise.
34290         * modules/unictype/ctype-graph-tests (Files): Likewise.
34291         * modules/unictype/ctype-lower-tests (Files): Likewise.
34292         * modules/unictype/ctype-print-tests (Files): Likewise.
34293         * modules/unictype/ctype-punct-tests (Files): Likewise.
34294         * modules/unictype/ctype-space-tests (Files): Likewise.
34295         * modules/unictype/ctype-upper-tests (Files): Likewise.
34296         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34297         * modules/unictype/decimal-digit-tests (Files): Likewise.
34298         * modules/unictype/digit-tests (Files): Likewise.
34299         * modules/unictype/mirror-tests (Files): Likewise.
34300         * modules/unictype/numeric-tests (Files): Likewise.
34301         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34302         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34303         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34304         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34305         Likewise.
34306         * modules/unictype/property-bidi-block-separator-tests (Files):
34307         Likewise.
34308         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34309         Likewise.
34310         * modules/unictype/property-bidi-common-separator-tests (Files):
34311         Likewise.
34312         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34313         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34314         Likewise.
34315         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34316         Likewise.
34317         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34318         Likewise.
34319         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34320         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
34321         Likewise.
34322         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
34323         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
34324         Likewise.
34325         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
34326         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
34327         * modules/unictype/property-bidi-segment-separator-tests (Files):
34328         Likewise.
34329         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
34330         * modules/unictype/property-byname-tests (Files): Likewise.
34331         * modules/unictype/property-combining-tests (Files): Likewise.
34332         * modules/unictype/property-composite-tests (Files): Likewise.
34333         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
34334         * modules/unictype/property-dash-tests (Files): Likewise.
34335         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34336         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34337         Likewise.
34338         * modules/unictype/property-deprecated-tests (Files): Likewise.
34339         * modules/unictype/property-diacritic-tests (Files): Likewise.
34340         * modules/unictype/property-extender-tests (Files): Likewise.
34341         * modules/unictype/property-format-control-tests (Files): Likewise.
34342         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34343         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34344         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34345         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34346         * modules/unictype/property-hyphen-tests (Files): Likewise.
34347         * modules/unictype/property-id-continue-tests (Files): Likewise.
34348         * modules/unictype/property-id-start-tests (Files): Likewise.
34349         * modules/unictype/property-ideographic-tests (Files): Likewise.
34350         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34351         * modules/unictype/property-ids-trinary-operator-tests (Files):
34352         Likewise.
34353         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
34354         * modules/unictype/property-iso-control-tests (Files): Likewise.
34355         * modules/unictype/property-join-control-tests (Files): Likewise.
34356         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
34357         * modules/unictype/property-line-separator-tests (Files): Likewise.
34358         * modules/unictype/property-logical-order-exception-tests (Files):
34359         Likewise.
34360         * modules/unictype/property-lowercase-tests (Files): Likewise.
34361         * modules/unictype/property-math-tests (Files): Likewise.
34362         * modules/unictype/property-non-break-tests (Files): Likewise.
34363         * modules/unictype/property-not-a-character-tests (Files): Likewise.
34364         * modules/unictype/property-numeric-tests (Files): Likewise.
34365         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
34366         * modules/unictype/property-other-default-ignorable-code-point-tests
34367         (Files): Likewise.
34368         * modules/unictype/property-other-grapheme-extend-tests (Files):
34369         Likewise.
34370         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
34371         * modules/unictype/property-other-id-start-tests (Files): Likewise.
34372         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
34373         * modules/unictype/property-other-math-tests (Files): Likewise.
34374         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
34375         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
34376         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
34377         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
34378         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
34379         * modules/unictype/property-private-use-tests (Files): Likewise.
34380         * modules/unictype/property-punctuation-tests (Files): Likewise.
34381         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
34382         * modules/unictype/property-radical-tests (Files): Likewise.
34383         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
34384         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
34385         * modules/unictype/property-space-tests (Files): Likewise.
34386         * modules/unictype/property-terminal-punctuation-tests (Files):
34387         Likewise.
34388         * modules/unictype/property-test-tests (Files): Likewise.
34389         * modules/unictype/property-titlecase-tests (Files): Likewise.
34390         * modules/unictype/property-unassigned-code-value-tests (Files):
34391         Likewise.
34392         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
34393         * modules/unictype/property-uppercase-tests (Files): Likewise.
34394         * modules/unictype/property-variation-selector-tests (Files): Likewise.
34395         * modules/unictype/property-white-space-tests (Files): Likewise.
34396         * modules/unictype/property-xid-continue-tests (Files): Likewise.
34397         * modules/unictype/property-xid-start-tests (Files): Likewise.
34398         * modules/unictype/property-zero-width-tests (Files): Likewise.
34399         * modules/unictype/scripts-tests (Files): Likewise.
34400         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
34401         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
34402         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
34403         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
34404         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
34405         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
34406         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
34407         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
34408         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
34409         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
34410         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
34411         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
34412         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
34413         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
34414         * modules/uninorm/composition-tests (Files): Likewise.
34415         * modules/uninorm/decomposing-form-tests (Files): Likewise.
34416         * modules/uninorm/decomposition-tests (Files): Likewise.
34417         * modules/uninorm/filter-tests (Files): Likewise.
34418         * modules/uninorm/nfc-tests (Files): Likewise.
34419         * modules/uninorm/nfd-tests (Files): Likewise.
34420         * modules/uninorm/nfkc-tests (Files): Likewise.
34421         * modules/uninorm/nfkd-tests (Files): Likewise.
34422         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
34423         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
34424         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
34425         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
34426         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
34427         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
34428         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
34429         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34430         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
34431         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
34432         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
34433         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
34434         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34435         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
34436         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
34437         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
34438         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
34439         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34440         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
34441         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
34442         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
34443         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
34444         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34445         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
34446         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
34447         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
34448         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
34449         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
34450         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
34451         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
34452         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
34453         * modules/uniwidth/u8-width-tests (Files): Likewise.
34454         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
34455         * modules/uniwidth/u16-width-tests (Files): Likewise.
34456         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
34457         * modules/uniwidth/u32-width-tests (Files): Likewise.
34458         * modules/uniwidth/width-tests (Files): Likewise.
34459         * modules/unlink-tests (Files): Likewise.
34460         * modules/unsetenv-tests (Files): Likewise.
34461         * modules/usleep-tests (Files): Likewise.
34462         * modules/utimens-tests (Files): Likewise.
34463         * modules/utimensat-tests (Files): Likewise.
34464         * modules/vasnprintf-posix-tests (Files): Likewise.
34465         * modules/vasnprintf-tests (Files): Likewise.
34466         * modules/vasprintf-posix-tests (Files): Likewise.
34467         * modules/vasprintf-tests (Files): Likewise.
34468         * modules/vdprintf-posix-tests (Files): Likewise.
34469         * modules/vfprintf-posix-tests (Files): Likewise.
34470         * modules/vprintf-posix-tests (Files): Likewise.
34471         * modules/vsnprintf-posix-tests (Files): Likewise.
34472         * modules/vsnprintf-tests (Files): Likewise.
34473         * modules/vsprintf-posix-tests (Files): Likewise.
34474         * modules/wcrtomb-tests (Files): Likewise.
34475         * modules/wcsnrtombs-tests (Files): Likewise.
34476         * modules/wcsrtombs-tests (Files): Likewise.
34477         * modules/wctype-tests (Files): Likewise.
34478         * modules/wcwidth-tests (Files): Likewise.
34479         * modules/xmemdup0-tests (Files): Likewise.
34480         * modules/xprintf-posix-tests (Files): Likewise.
34481         * modules/xvasprintf-tests (Files): Likewise.
34482
34483 2009-12-24  Eric Blake  <ebb9@byu.net>
34484
34485         test-nanosleep: fix typo
34486         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
34487         patch.
34488         Reported by Bruno Haible.
34489
34490 2009-12-24  Bruno Haible  <bruno@clisp.org>
34491
34492         Reduce namespace pollution on glibc systems.
34493         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
34494         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
34495         systems.
34496         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
34497         <getopt.h> on glibc systems.
34498         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
34499         systems.
34500         * lib/fcntl.c: Include <unistd.h> here instead.
34501
34502 2009-12-24  Bruno Haible  <bruno@clisp.org>
34503
34504         * lib/stdlib.in.h (includes): Fix typo in today's commit.
34505
34506 2009-12-24  Eric Blake  <ebb9@byu.net>
34507
34508         tests: add signature checks
34509         * tests/signature.h (SIGNATURE_CHECK): New file.
34510         * modules/atexit-tests (Files): Use it.
34511         * modules/btowc-tests (Files): Likewise.
34512         * modules/canonicalize-lgpl-tests (Files): Likewise.
34513         * modules/ceilf-tests (Files): Likewise.
34514         * modules/ceill-tests (Files): Likewise.
34515         * modules/chown-tests (Files): Likewise.
34516         * modules/dprintf-posix-tests (Files): Likewise.
34517         * modules/dup2-tests (Files): Likewise.
34518         * modules/dup3-tests (Files): Likewise.
34519         * modules/duplocale-tests (Files): Likewise.
34520         * modules/fchdir-tests (Files): Likewise.
34521         * modules/fcntl-tests (Files): Likewise.
34522         * modules/fdopendir-tests (Files): Likewise.
34523         * modules/fflush-tests (Files): Likewise.
34524         * modules/flock-tests (Files): Likewise.
34525         * modules/floorf-tests (Files): Likewise.
34526         * modules/floorl-tests (Files): Likewise.
34527         * modules/fnmatch-tests (Files): Likewise.
34528         * modules/fopen-tests (Files): Likewise.
34529         * modules/fprintf-posix-tests (Files): Likewise.
34530         * modules/freopen-tests (Files): Likewise.
34531         * modules/frexp-nolibm-tests (Files): Likewise.
34532         * modules/frexp-tests (Files): Likewise.
34533         * modules/frexpl-nolibm-tests (Files): Likewise.
34534         * modules/frexpl-tests (Files): Likewise.
34535         * modules/fseek-tests (Files): Likewise.
34536         * modules/fseeko-tests (Files): Likewise.
34537         * modules/fsync-tests (Files): Likewise.
34538         * modules/ftell-tests (Files): Likewise.
34539         * modules/ftello-tests (Files): Likewise.
34540         * modules/futimens-tests (Files): Likewise.
34541         * modules/getaddrinfo-tests (Files): Likewise.
34542         * modules/getcwd-tests (Files): Likewise.
34543         * modules/getdelim-tests (Files): Likewise.
34544         * modules/getdtablesize-tests (Files): Likewise.
34545         * modules/getgroups-tests (Files): Likewise.
34546         * modules/gethostname-tests (Files): Likewise.
34547         * modules/getline-tests (Files): Likewise.
34548         * modules/getopt-posix-tests (Files): Likewise.
34549         * modules/gettimeofday-tests (Files): Likewise.
34550         * modules/glob-tests (Files): Likewise.
34551         * modules/iconv-tests (Files): Likewise.
34552         * modules/inet_ntop-tests (Files): Likewise.
34553         * modules/inet_pton-tests (Files): Likewise.
34554         * modules/isblank-tests (Files): Likewise.
34555         * modules/lchown-tests (Files): Likewise.
34556         * modules/ldexpl-tests (Files): Likewise.
34557         * modules/link-tests (Files): Likewise.
34558         * modules/linkat-tests (Files): Likewise.
34559         * modules/lseek-tests (Files): Likewise.
34560         * modules/lstat-tests (Files): Likewise.
34561         * modules/mbrtowc-tests (Files): Likewise.
34562         * modules/mbsinit-tests (Files): Likewise.
34563         * modules/mbsnrtowcs-tests (Files): Likewise.
34564         * modules/mbsrtowcs-tests (Files): Likewise.
34565         * modules/memchr-tests (Files): Likewise.
34566         * modules/memcmp-tests (Files): Likewise.
34567         * modules/memmem-tests (Files): Likewise.
34568         * modules/memrchr-tests (Files): Likewise.
34569         * modules/mkdir-tests (Files): Likewise.
34570         * modules/mkfifo-tests (Files): Likewise.
34571         * modules/mkfifoat-tests (Files): Likewise.
34572         * modules/mknod-tests (Files): Likewise.
34573         * modules/nanosleep-tests (Files): Likewise.
34574         * modules/nl_langinfo-tests (Files): Likewise.
34575         * modules/obstack-printf-tests (Files): Likewise.
34576         * modules/open-tests (Files): Likewise.
34577         * modules/openat-tests (Files): Likewise.
34578         * modules/perror-tests (Files): Likewise.
34579         * modules/pipe2-tests (Files): Likewise.
34580         * modules/poll-tests (Files): Likewise.
34581         * modules/popen-tests (Files): Likewise.
34582         * modules/posix_spawn-tests (Files): Likewise.
34583         * modules/posix_spawnp-tests (Files): Likewise.
34584         * modules/pread-tests (Files): Likewise.
34585         * modules/printf-posix-tests (Files): Likewise.
34586         * modules/pty-tests (Files): Likewise.
34587         * modules/random_r-tests (Files): Likewise.
34588         * modules/rawmemchr-tests (Files): Likewise.
34589         * modules/readlink-tests (Files): Likewise.
34590         * modules/remove-tests (Files): Likewise.
34591         * modules/rename-tests (Files): Likewise.
34592         * modules/renameat-tests (Files): Likewise.
34593         * modules/rmdir-tests (Files): Likewise.
34594         * modules/round-tests (Files): Likewise.
34595         * modules/roundf-tests (Files): Likewise.
34596         * modules/roundl-tests (Files): Likewise.
34597         * modules/select-tests (Files): Likewise.
34598         * modules/setenv-tests (Files): Likewise.
34599         * modules/sigaction-tests (Files): Likewise.
34600         * modules/sleep-tests (Files): Likewise.
34601         * modules/snprintf-posix-tests (Files): Likewise.
34602         * modules/snprintf-tests (Files): Likewise.
34603         * modules/sprintf-posix-tests (Files): Likewise.
34604         * modules/stat-tests (Files): Likewise.
34605         * modules/strcasestr-tests (Files): Likewise.
34606         * modules/strchrnul-tests (Files): Likewise.
34607         * modules/strerror-tests (Files): Likewise.
34608         * modules/strsignal-tests (Files): Likewise.
34609         * modules/strstr-tests (Files): Likewise.
34610         * modules/strtod-tests (Files): Likewise.
34611         * modules/strverscmp-tests (Files): Likewise.
34612         * modules/symlink-tests (Files): Likewise.
34613         * modules/symlinkat-tests (Files): Likewise.
34614         * modules/times-tests (Files): Likewise.
34615         * modules/trunc-tests (Files): Likewise.
34616         * modules/truncf-tests (Files): Likewise.
34617         * modules/truncl-tests (Files): Likewise.
34618         * modules/tsearch-tests (Files): Likewise.
34619         * modules/uname-tests (Files): Likewise.
34620         * modules/unlink-tests (Files): Likewise.
34621         * modules/unsetenv-tests (Files): Likewise.
34622         * modules/usleep-tests (Files): Likewise.
34623         * modules/utimensat-tests (Files): Likewise.
34624         * modules/vasprintf-tests (Files): Likewise.
34625         * modules/vdprintf-posix-tests (Files): Likewise.
34626         * modules/vfprintf-posix-tests (Files): Likewise.
34627         * modules/vprintf-posix-tests (Files): Likewise.
34628         * modules/vsnprintf-posix-tests (Files): Likewise.
34629         * modules/vsnprintf-tests (Files): Likewise.
34630         * modules/vsprintf-posix-tests (Files): Likewise.
34631         * modules/wcrtomb-tests (Files): Likewise.
34632         * modules/wcsnrtombs-tests (Files): Likewise.
34633         * modules/wcsrtombs-tests (Files): Likewise.
34634         * modules/wcwidth-tests (Files): Likewise.
34635         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
34636         * tests/test-isinf.c (isinf): Likewise.
34637         * tests/test-isnan.c (isnan): Likewise.
34638         * tests/test-signbit.c (signbit): Likewise.
34639         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
34640         declaration, either as macro or with correct signature.
34641         (select): Ensure function under test is declared with correct
34642         signature in correct header.
34643         * tests/test-atexit.c (atexit): Likewise.
34644         * tests/test-btowc.c (btowc): Likewise.
34645         * tests/test-canonicalize-lgpl.c (realpath)
34646         (canonicalize_file_name): Likewise.
34647         * tests/test-ceilf1.c (ceilf): Likewise.
34648         * tests/test-ceill.c (ceill): Likewise.
34649         * tests/test-chown.c (chown): Likewise.
34650         * tests/test-dprintf-posix.c (dprintf): Likewise.
34651         * tests/test-dup2.c (dup2): Likewise.
34652         * tests/test-dup3.c (dup3): Likewise.
34653         * tests/test-duplocale.c (duplocale): Likewise.
34654         * tests/test-fchdir.c (fchdir): Likewise.
34655         * tests/test-fchownat.c (fchownat): Likewise.
34656         * tests/test-fcntl.c (fcntl): Likewise.
34657         * tests/test-fdopendir.c (fdopendir): Likewise.
34658         * tests/test-fflush.c (fflush): Likewise.
34659         * tests/test-flock.c (flock): Likewise.
34660         * tests/test-floorf1.c (floorf): Likewise.
34661         * tests/test-floorl.c (floorl): Likewise.
34662         * tests/test-fnmatch.c (fnmatch): Likewise.
34663         * tests/test-fopen.c (fopen): Likewise.
34664         * tests/test-fprintf-posix.c (fprintf): Likewise.
34665         * tests/test-freopen.c (freopen): Likewise.
34666         * tests/test-frexp.c (frexp): Likewise.
34667         * tests/test-frexpl.c (frexpl): Likewise.
34668         * tests/test-fseek.c (fseek): Likewise.
34669         * tests/test-fseeko.c (fseeko): Likewise.
34670         * tests/test-fstatat.c (fstatat): Likewise.
34671         * tests/test-fsync.c (fsync): Likewise.
34672         * tests/test-ftell.c (ftell): Likewise.
34673         * tests/test-ftello.c (ftello): Likewise.
34674         * tests/test-futimens.c (futimens): Likewise.
34675         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
34676         (gai_strerror): Likewise.
34677         * tests/test-getcwd.c (getcwd): Likewise.
34678         * tests/test-getdelim.c (getdelim): Likewise.
34679         * tests/test-getdtablesize.c (getdtablesize): Likewise.
34680         * tests/test-getgroups.c (getgroups): Likewise.
34681         * tests/test-gethostname.c (gethostname): Likewise.
34682         * tests/test-getline.c (getline): Likewise.
34683         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
34684         Likewise.
34685         * tests/test-gettimeofday.c (gettimeofday): Likewise.
34686         * tests/test-glob.c (glob, globfree): Likewise.
34687         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
34688         * tests/test-inet_ntop.c (inet_ntop): Likewise.
34689         * tests/test-inet_pton.c (inet_pton): Likewise.
34690         * tests/test-isblank.c (isblank): Likewise.
34691         * tests/test-lchown.c (lchown): Likewise.
34692         * tests/test-ldexpl.c (ldexpl): Likewise.
34693         * tests/test-link.c (link): Likewise.
34694         * tests/test-linkat.c (linkat): Likewise.
34695         * tests/test-lseek.c (lseek): Likewise.
34696         * tests/test-lstat.c (lstat): Likewise.
34697         * tests/test-mbrtowc.c (mbrtowc): Likewise.
34698         * tests/test-mbsinit.c (mbsinit): Likewise.
34699         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
34700         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
34701         * tests/test-memchr.c (memchr): Likewise.
34702         * tests/test-memcmp.c (memcmp): Likewise.
34703         * tests/test-memmem.c (memmem): Likewise.
34704         * tests/test-memrchr.c (memrchr): Likewise.
34705         * tests/test-mkdir.c (mkdir): Likewise.
34706         * tests/test-mkdirat.c (mkdirat): Likewise.
34707         * tests/test-mkfifo.c (mkfifo): Likewise.
34708         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
34709         * tests/test-mknod.c (mknod): Likewise.
34710         * tests/test-nanosleep.c (nanosleep): Likewise.
34711         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
34712         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
34713         Likewise.
34714         * tests/test-open.c (open): Likewise.
34715         * tests/test-openat.c (openat): Likewise.
34716         * tests/test-perror.c (perror): Likewise.
34717         * tests/test-pipe2.c (pipe2): Likewise.
34718         * tests/test-poll.c (poll): Likewise.
34719         * tests/test-popen.c (popen, pclose): Likewise.
34720         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
34721         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
34722         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
34723         (posix_spawn_file_actions_destroy)
34724         (posix_spawn_file_actions_addclose)
34725         (posix_spawn_file_actions_addopen)
34726         (posix_spawn_file_actions_adddup2): Likewise.
34727         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
34728         * tests/test-pread.c (pread): Likewise.
34729         * tests/test-printf-posix.c (printf): Likewise.
34730         * tests/test-pty.c (openpty, forkpty): Likewise.
34731         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
34732         (random_r): Likewise.
34733         * tests/test-rawmemchr.c (rawmemchr): Likewise.
34734         * tests/test-readlink.c (readlink): Likewise.
34735         * tests/test-remove.c (remove): Likewise.
34736         * tests/test-rename.c (rename): Likewise.
34737         * tests/test-renameat.c (renameat): Likewise.
34738         * tests/test-rmdir.c (rmdir): Likewise.
34739         * tests/test-round1.c (round): Likewise.
34740         * tests/test-roundf1.c (roundf): Likewise.
34741         * tests/test-roundl.c (roundl): Likewise.
34742         * tests/test-setenv.c (setenv): Likewise.
34743         * tests/test-sigaction.c (sigaction): Likewise.
34744         * tests/test-sleep.c (sleep): Likewise.
34745         * tests/test-snprintf.c (snprintf): Likewise.
34746         * tests/test-sprintf-posix.c (sprintf): Likewise.
34747         * tests/test-stat.c (stat): Likewise.
34748         * tests/test-stpncpy.c (stpncpy): Likewise.
34749         * tests/test-strcasestr.c (strcasestr): Likewise.
34750         * tests/test-strchrnul.c (strchrnul): Likewise.
34751         * tests/test-strerror.c (strerror): Likewise.
34752         * tests/test-strsignal.c (strsignal): Likewise.
34753         * tests/test-strstr.c (strstr): Likewise.
34754         * tests/test-strtod.c (strtod): Likewise.
34755         * tests/test-strverscmp.c (strverscmp): Likewise.
34756         * tests/test-symlink.c (symlink): Likewise.
34757         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
34758         * tests/test-times.c (times): Likewise.
34759         * tests/test-trunc1.c (trunc): Likewise.
34760         * tests/test-truncf1.c (truncf): Likewise.
34761         * tests/test-truncl.c (truncl): Likewise.
34762         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
34763         Likewise.
34764         * tests/test-uname.c (uname): Likewise.
34765         * tests/test-unlink.c (unlink): Likewise.
34766         * tests/test-unlinkat.c (unlinkat): Likewise.
34767         * tests/test-unsetenv.c (unsetenv): Likewise.
34768         * tests/test-usleep.c (usleep): Likewise.
34769         * tests/test-utimensat.c (utimensat): Likewise.
34770         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
34771         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
34772         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
34773         * tests/test-vprintf-posix.c (vprintf): Likewise.
34774         * tests/test-vsnprintf.c (vsnprintf): Likewise.
34775         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
34776         * tests/test-wcrtomb.c (wcrtomb): Likewise.
34777         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
34778         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
34779         * tests/test-wcwidth.c (wcwidth): Likewise.
34780
34781         build: pull in conditional headers during GNULIB_POSIXCHECK
34782         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
34783         definitions from any conditionally-included headers.
34784         * lib/stdlib.in.h (includes): Likewise.
34785         * lib/unistd.in.h (includes): Likewise.
34786
34787 2009-12-24  Bruno Haible  <bruno@clisp.org>
34788
34789         * tests/test-argv-iter.c: Include header file being tested immediately
34790         after config.h.
34791         * tests/test-base64.c: Likewise.
34792         * tests/test-flock.c: Likewise.
34793         * tests/test-fsync.c: Likewise.
34794         * tests/test-getdate.c: Likewise.
34795         * tests/test-getndelim2.c: Likewise.
34796         * tests/test-isfinite.c: Likewise.
34797         * tests/test-isinf.c: Likewise.
34798         * tests/test-strerror.c: Likewise.
34799         * tests/test-strsignal.c: Likewise.
34800
34801 2009-12-23  Eric Blake  <ebb9@byu.net>
34802
34803         unistd: work around cygwin bug
34804         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
34805         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
34806         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34807
34808 2009-12-23  Bruno Haible  <bruno@clisp.org>
34809
34810         localename: More tests.
34811         * tests/test-localename.c (SIZEOF): New macro.
34812         (categories): New variable.
34813         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
34814         test_locale_name_default): Add test w.r.t. thread locale.
34815         (test_locale_name_thread): New function.
34816         (main): Invoke it.
34817
34818         localename: Make aware of thread locale.
34819         * lib/localename.h (gl_locale_name_thread): New declaration.
34820         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
34821         behaviour with respect to thread locale.
34822         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
34823         <langinfo.h>, glthread/lock.h.
34824         (SIZE_BITS): New macro.
34825         (string_hash): New function.
34826         (struct hash_node): New type.
34827         (HASH_TABLE_SIZE): New macro.
34828         (struniq_hash_table, struniq_lock): New variables.
34829         (struniq): New function.
34830         (gl_locale_name_thread): New function.
34831         (gl_locale_name): Invoke it.
34832         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
34833         * modules/localename (Depends-on): Add lock.
34834         Reported by Mike Gran <spk121@yahoo.com>.
34835
34836 2009-12-23  Eric Blake  <ebb9@byu.net>
34837
34838         va-args: new module
34839         * modules/va-args: New file.
34840         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
34841         * MODULES.html.sh (Core language properties): Mention it.
34842
34843         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
34844         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
34845         named alias for __attribute__((__unused__)).
34846         * lib/chown.c: Update client.
34847         * lib/fchmodat.c: Likewise.
34848         * lib/fts.c: Likewise.
34849         * lib/getdate.y: Likewise.
34850         * lib/getgroups.c: Likewise.
34851         * lib/getopt.c: Likewise.
34852         * lib/getugroups.c: Likewise.
34853         * lib/mkdir.c: Likewise.
34854         * lib/mkfifo.c: Likewise.
34855         * lib/mkfifoat.c: Likewise.
34856         * lib/mknod.c: Likewise.
34857         * lib/mknodat.c: Likewise.
34858         * lib/readlink.c: Likewise.
34859         * lib/se-context.in.h: Likewise.
34860         * lib/se-selinux.in.h: Likewise.
34861         * lib/sockets.c: Likewise.
34862         * lib/symlink.c: Likewise.
34863         * lib/symlinkat.c: Likewise.
34864         * lib/unicodeio.c: Likewise.
34865         * lib/unistr.h: Likewise.
34866         * tests/test-areadlink.c: Likewise.
34867         * tests/test-areadlinkat.c: Likewise.
34868         * tests/test-filenamecat.c: Likewise.
34869         * tests/test-fseeko.c: Likewise.
34870         * tests/test-ftello.c: Likewise.
34871         * tests/test-getdate.c: Likewise.
34872         * tests/test-getgroups.c: Likewise.
34873         * tests/test-gethostname.c: Likewise.
34874         * tests/test-quotearg.c: Likewise.
34875         * tests/test-version-etc.c: Likewise.
34876         * tests/test-xalloc-die.c: Likewise.
34877         * tests/test-xfprintf-posix.c: Likewise.
34878         * tests/test-xprintf-posix.c: Likewise.
34879         * tests/test-xvasprintf.c: Likewise.
34880
34881         tests: avoid compiler warnings
34882         * tests/test-fcntl.c (main): Delete unused parameters.
34883         * tests/test-freopen-safer.c (main): Likewise.
34884         * tests/test-xalloc-die.c (main): Mark unused parameters.
34885         * tests/test-fseeko.c (main): Likewise.
34886         * tests/test-ftello.c (main): Likewise.
34887         * tests/test-nanosleep.c (main): Avoid declaration warning.
34888         * tests/test-sleep.c (main): Likewise.
34889         * tests/test-unsetenv.c (main): Silence warning about string
34890         literal.
34891         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
34892
34893 2009-12-23  Bruno Haible  <bruno@clisp.org>
34894
34895         * tests/test-localename.c (test_locale_name): New function, extracted
34896         from main. Also test mixed situations.
34897         (test_locale_name_posix, test_locale_name_environ,
34898         test_locale_name_default): New functions.
34899         (main): Invoke them all.
34900         * modules/localename-tests (configure.ac): Test for newlocale.
34901
34902 2009-12-23  Bruno Haible  <bruno@clisp.org>
34903
34904         unistd: Ensure getcwd gets declared before being overridden.
34905         * lib/unistd.in.h: Conditionally include <io.h>.
34906
34907 2009-12-22  Bruno Haible  <bruno@clisp.org>
34908
34909         wchar: Diagnose broken combination of glibc and gcc versions and flags.
34910         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
34911         (gl_WCHAR_H): Invoke it.
34912         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
34913         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
34914         Reported by Karl Berry <karl@freefriends.org>.
34915
34916 2009-12-22  Eric Blake  <ebb9@byu.net>
34917
34918         math, unistd: avoid redundant includes
34919         * lib/math.in.h (isnan): No need to re-include <math.h>.
34920         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
34921
34922         getsubopt: work around cygwin bug
34923         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
34924         avoid conflicting with system getsubopt.
34925         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
34926         bug.
34927
34928         getopt: synchronize from glibc
34929         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
34930         parameter order.  Adjust all callers.
34931         (_getopt_internal_r, main): Adjust quoting in error messages.
34932         Drop considerations for outdated POSIX 1003.2 error message.
34933         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
34934         callers.
34935         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
34936
34937         test-getopt: test stderr behavior
34938         * modules/getopt-posix-tests (Depends-on): Add dup2.
34939         * tests/test-getopt.c (ASSERT): Avoid stderr.
34940         (main): Move stderr to a temporary file.
34941         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
34942         Instead, add parameter to inform caller if output occurred.
34943         (test_getopt): Adjust all existing tests to expect silence, and
34944         add new tests of leading ":".
34945         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34946         glibc shortcomings with leading "-:" or "+:" in optstring.
34947         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34948         Likewise.
34949         * doc/posix-functions/getopt.texi (getopt): Likewise.
34950
34951         test-getopt: enhance test
34952         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
34953         supports optind=0.
34954         * tests/test-getopt.c (OPTIND_MIN): Move...
34955         * tests/test-getopt.h (OPTIND_MIN): ...here.
34956         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
34957         Require that optind=0 works, since modern BSD supports it in
34958         addition to optreset, and since coreutils expects it.
34959         (test_getopt_long_only): New test.
34960         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34961         glibc shortcomings with 'W;', and enforcement of optind=0.
34962         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34963         Likewise.
34964
34965 2009-12-21  Bruno Haible  <bruno@clisp.org>
34966
34967         localename: Improvements for MacOS X and Cygwin.
34968         * lib/localename.h (gl_locale_name_environ): New declaration.
34969         * lib/localename.c (gl_locale_name_environ): New function, extracted from
34970         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
34971         (gl_locale_name_posix): Invoke it.
34972         (gl_locale_name_default): Add comments. Use Windows native API also on
34973         Cygwin.
34974
34975 2009-12-21  Bruno Haible  <bruno@clisp.org>
34976
34977         Update list of Win32 locale ids.
34978         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
34979         (LANG_SAMI): Renamed from LANG_SAAMI.
34980         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
34981         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
34982         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
34983         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
34984         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
34985         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
34986         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
34987         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
34988         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
34989         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
34990         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
34991         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
34992         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
34993         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
34994         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
34995         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
34996         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
34997         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
34998         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
34999         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35000         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35001         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35002         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35003         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35004         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35005         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35006         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35007         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35008         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35009         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35010         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35011         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35012         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35013         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35014         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35015         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35016         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35017         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35018         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35019         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35020         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35021         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35022         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35023         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35024         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35025         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35026         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35027         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35028         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35029         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35030         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35031         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35032         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35033         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35034         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35035         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35036         Add more languages and countries for Sami, Sorbian. Add more countries
35037         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35038         for Pashto. Change country for Syriac, Tswana.
35039
35040 2009-12-21  Eric Blake  <ebb9@byu.net>
35041
35042         test-utimens: avoid spurious failure
35043         * tests/test-chown.h (nap): Factor...
35044         * tests/nap.h: ...into new file.
35045         * tests/test-lchown.h (nap): Avoid duplication.
35046         * tests/test-utimens-common.h (nap): Use shared implementation,
35047         necessary on file systems with 1-second resolution.
35048         * modules/chown-tests (Files): Include new file.
35049         * modules/fdutimensat-tests (Files): Likewise.
35050         * modules/futimens-tests (Files): Likewise.
35051         * modules/lchown-tests (Files): Likewise.
35052         * modules/openat-tests (Files): Likewise.
35053         * modules/utimens-tests (Files): Likewise.
35054         * modules/utimensat-tests (Files): Likewise.
35055
35056 2009-12-19  Eric Blake  <ebb9@byu.net>
35057
35058         futimens, utimensat: work around Linux bug
35059         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35060         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35061         * lib/utimensat.c (rpl_utimensat): Work around it.
35062         * lib/futimens.c (rpl_futimens): Adjust comment.
35063
35064         utimens: work around Linux ctime bug
35065         * lib/utimens.c (detect_ctime_bug): New helper function.
35066         (update_timespec): Differentiate between workaround needed for
35067         this bug vs. what is needed for systems that lack utimensat.
35068         (fdutimens, lutimens): Work around bug.
35069
35070         utimens: check for ctime update
35071         * tests/test-utimens-common.h (check_ctime): Define.
35072         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35073         * tests/test-futimens.h (test_futimens): Likewise.
35074         * tests/test-lutimens.h (test_lutimens): Likewise.
35075         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35076         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35077
35078 2009-12-19  Bruno Haible  <bruno@clisp.org>
35079
35080         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35081         * tests/test-dprintf-posix2.sh: New file.
35082         * tests/test-dprintf-posix2.c: New file.
35083         * modules/dprintf-posix-tests (Files): Add them.
35084         (configure.ac): Check for getrlimit and setrlimit.
35085         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35086
35087 2009-12-19  Bruno Haible  <bruno@clisp.org>
35088
35089         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35090         * tests/test-fprintf-posix3.sh: New file.
35091         * tests/test-fprintf-posix3.c: New file.
35092         * modules/fprintf-posix-tests (Files): Add them.
35093         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35094
35095 2009-12-19  Eric Blake  <ebb9@byu.net>
35096
35097         dirfd: fix prototype
35098         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35099         * lib/dirfd.c (dirfd): Likewise.
35100
35101         canonicalize: reduce memory usage
35102         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35103         allocation to size.
35104         Reported by Solar Designer <solar@openwall.com>.
35105
35106 2009-12-19  Bruno Haible  <bruno@clisp.org>
35107
35108         New module attribute 'Applicability'.
35109         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35110         * gnulib-tool: New option --extract-applicability.
35111         (func_usage): Document it.
35112         (sed_extract_prog): Recognize it.
35113         (func_get_applicability): New function.
35114         (func_import): Generalize handling of 'link-warning' module.
35115         * modules/link-warning (Applicability): New section.
35116         * modules/arg-nonnull (Applicability): New section.
35117         Repoted by Simon Josefsson <simon@josefsson.org>.
35118
35119 2009-12-19  Bruno Haible  <bruno@clisp.org>
35120
35121         fflush: tweak
35122         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35123         * lib/fseeko.c (rpl_fseeko): Likewise.
35124
35125 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35126
35127         * lib/gl_list.h: Fix typo in comment.
35128
35129 2009-12-16  Eric Blake  <ebb9@byu.net>
35130
35131         fcntl: use to simplify other modules
35132         * modules/cloexec (Depends-on): Add fcntl.
35133         * modules/fchdir (Depends-on): Likewise.
35134         * modules/fd-safer-flag (Depends-on): Likewise.
35135         * modules/unistd-safer (Depends-on): Likewise.
35136         * modules/dup3 (configure.ac): Set module indicator.
35137         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35138         missing.
35139         * lib/fchdir.c (_gl_register_dup): Fix comment.
35140         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35141         * lib/dup-safer.c (dup_safer): Likewise.
35142         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35143         * lib/dup3.c (dup3): Likewise.
35144         * tests/test-fchdir.c (main): Enhance test.
35145         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
35146
35147         fcntl: port portions of fcntl to mingw
35148         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35149         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35150         replacement for mingw.
35151         * modules/fcntl (Description): Update.
35152         (Depends-on): Add dup2.
35153         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35154         * modules/fcntl-h (Makefile.am): Substitute it.
35155         * lib/fcntl.in.h (fcntl): Update declaration.
35156         (F_DUPFD, F_GETFD): New macros, when needed.
35157         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35158         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35159         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35160         we now guarantee.
35161
35162         fcntl: work around cygwin bug in F_DUPFD
35163         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35164         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35165         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35166         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35167         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35168
35169         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35170         * modules/fcntl (Files): List new files.
35171         (configure.ac): Run a test.
35172         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35173         * lib/fcntl.c (rpl_fcntl): Likewise.
35174         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35175         (gl_FCNTL_H): Always replace fcntl.h.
35176         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35177         * lib/fcntl.in.h (fcntl): Declare replacement.
35178         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35179         needed, plus a witness.
35180         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35181         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35182         * tests/test-fcntl.c: New file.
35183         * modules/fcntl-tests: Likewise.
35184
35185         binary-io: avoid potential compilation warning
35186         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35187         directives.
35188
35189         fflush: avoid compilation error on NetBSD
35190         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35191         between off_t and fpos_t, since the latter is sometimes a struct.
35192         * lib/fseeko.c (rpl_fseeko): Likewise.
35193         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35194
35195 2009-12-15  Eric Blake  <ebb9@byu.net>
35196
35197         fcntl-h, stdio, sys_ioctl: fix declarations
35198         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35199         function must not take arguments.
35200         * lib/sys_ioctl.in.h (ioctl): Likewise.
35201         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35202         (open): Add a link warning.
35203
35204 2009-12-15  Jim Meyering  <meyering@redhat.com>
35205
35206         areadlink, areadlink-with-size: relax license to LGPLv2+
35207         * modules/areadlink (License): Relax to LGPLv2+.
35208         * modules/areadlink-with-size (License): Likewise.
35209
35210 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35211             Bruno Haible  <bruno@clisp.org>
35212
35213         *printf: Fix memory leak.
35214         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35215         * lib/vfprintf.c (vfprintf): Likewise.
35216         * lib/dprintf.c (dprintf): Likewise.
35217         * lib/vdprintf.c (vdprintf): Likewise.
35218
35219 2009-12-14  Eric Blake  <ebb9@byu.net>
35220
35221         accept4: adjust module dependencies
35222         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35223
35224         utimens: one more try at avoiding compiler warning
35225         * lib/utimens.c (lutimens): Lower scope of result.
35226
35227 2009-12-13  Bruno Haible  <bruno@clisp.org>
35228
35229         Move the malloc checking from module 'list' to new module 'xlist'.
35230         * modules/xlist: New file.
35231         * lib/gl_xlist.h: New file.
35232         * lib/gl_xlist.c: New file.
35233         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35234         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35235         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35236         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35237         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35238         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35239         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35240         gl_sortedlist_nx_add): New declarations.
35241         (struct gl_list_implementation): Rename and change methods accordingly.
35242         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35243         (gl_list_nx_create): Renamed from gl_list_create.
35244         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35245         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35246         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35247         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35248         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35249         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35250         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35251         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35252         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35253         gl_list_create_empty.
35254         (gl_list_nx_create): Renamed from gl_list_create.
35255         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35256         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35257         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35258         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35259         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35260         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35261         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35262         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35263         * lib/gl_array_list.c: Don't include xalloc.h.
35264         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35265         NULL upon out-of-memory.
35266         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35267         out-of-memory.
35268         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35269         Change return type to 'int'.
35270         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35271         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35272         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35273         upon out-of-memory.
35274         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35275         upon out-of-memory.
35276         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35277         upon out-of-memory.
35278         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35279         upon out-of-memory.
35280         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35281         out-of-memory.
35282         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35283         Update.
35284         (gl_array_list_implementation): Update.
35285         * lib/gl_carray_list.c: Don't include xalloc.h.
35286         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35287         Return NULL upon out-of-memory.
35288         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35289         out-of-memory.
35290         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35291         Change return type to 'int'.
35292         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35293         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35294         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35295         upon out-of-memory.
35296         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35297         upon out-of-memory.
35298         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35299         out-of-memory.
35300         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35301         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35302         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35303         Update.
35304         (gl_carray_list_implementation): Update.
35305         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35306         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35307         gl_linked_create_empty. Return NULL upon out-of-memory.
35308         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35309         out-of-memory.
35310         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35311         Change return type to 'int'. Return -1 upon out-of-memory.
35312         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35313         out-of-memory.
35314         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35315         upon out-of-memory.
35316         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35317         upon out-of-memory.
35318         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35319         NULL upon out-of-memory.
35320         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
35321         upon out-of-memory.
35322         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
35323         out-of-memory.
35324         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
35325         Update.
35326         * lib/gl_linked_list.c: Don't include xalloc.h.
35327         (gl_linked_list_implementation): Update.
35328         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
35329         (add_to_bucket): Change return type to 'int'.
35330         (gl_linkedhash_list_implementation): Update.
35331         * lib/gl_anytree_list1.h (free_subtree): New function.
35332         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
35333         gl_tree_create_empty. Return NULL upon out-of-memory.
35334         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35335         Change return type to 'int'. Return -1 upon out-of-memory.
35336         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35337         out-of-memory.
35338         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35339         (gl_tree_remove_node): New function, moved here from
35340         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35341         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35342         Update.
35343         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35344         malloc, not xmalloc. Return NULL upon out-of-memory.
35345         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35346         out-of-memory.
35347         (gl_tree_remove_node_from_tree): New function, extracted from
35348         gl_tree_remove_node.
35349         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35350         upon out-of-memory.
35351         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35352         out-of-memory.
35353         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35354         upon out-of-memory.
35355         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35356         upon out-of-memory.
35357         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35358         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
35359         not xmalloc. Return NULL upon out-of-memory.
35360         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35361         out-of-memory.
35362         (gl_tree_remove_node_from_tree): New function, extracted from
35363         gl_tree_remove_node.
35364         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35365         upon out-of-memory.
35366         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35367         out-of-memory.
35368         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35369         upon out-of-memory.
35370         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35371         upon out-of-memory.
35372         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35373         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
35374         gl_anytree_list1.h before gl_anyavltree_list2.h.
35375         (gl_avltree_list_implementation): Update.
35376         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
35377         gl_anytree_list1.h before gl_anyavltree_list2.h.
35378         (gl_rbtree_list_implementation): Update.
35379         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
35380         Change return type to 'int'. Return -1 upon out-of-memory. Use
35381         __builtin_expect.
35382         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
35383         (gl_avltreehash_list_implementation): Update.
35384         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
35385         (gl_rbtreehash_list_implementation): Update.
35386         * modules/array-list (Depends-on): Remove xalloc.
35387         * modules/carray-list (Depends-on): Likewise.
35388         * modules/linked-list (Depends-on): Likewise.
35389         * modules/linkedhash-list (Depends-on): Likewise.
35390         * modules/avltree-list (Depends-on): Likewise.
35391         * modules/rbtree-list (Depends-on): Likewise.
35392         * modules/avltreehash-list (Depends-on): Likewise.
35393         * modules/rbtreehash-list (Depends-on): Likewise.
35394
35395         * modules/xsublist: New file.
35396         * lib/gl_xsublist.h: New file.
35397         * lib/gl_xsublist.c: New file.
35398         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
35399         (gl_sublist_nx_create): New declaration.
35400         * lib/gl_sublist.c: Don't include xalloc.h.
35401         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
35402         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
35403         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
35404         Change return type to 'int'. Return -1 upon out-of-memory.
35405         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
35406         upon out-of-memory.
35407         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
35408         NULL upon out-of-memory.
35409         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
35410         upon out-of-memory.
35411         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
35412         NULL upon out-of-memory.
35413         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
35414         NULL upon out-of-memory.
35415         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
35416         upon out-of-memory.
35417         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
35418         (gl_sublist_list_implementation): Update.
35419         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
35420         upon out-of-memory.
35421         * modules/sublist (Depends-on): Remove xalloc.
35422
35423         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
35424         * tests/test-carray_list.c: Likewise.
35425         * tests/test-linked_list.c: Likewise.
35426         * tests/test-linkedhash_list.c: Likewise.
35427         * tests/test-avltree_list.c: Likewise.
35428         * tests/test-rbtree_list.c: Likewise.
35429         * tests/test-avltreehash_list.c: Likewise.
35430         * tests/test-rbtreehash_list.c: Likewise.
35431         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
35432         * modules/carray-list-tests (Makefile.am): Likewise.
35433         * modules/linked-list-tests (Makefile.am): Likewise.
35434         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35435         * modules/avltree-list-tests (Makefile.am): Likewise.
35436         * modules/rbtree-list-tests (Makefile.am): Likewise.
35437         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35438         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35439
35440         * NEWS: Mention the changes.
35441
35442         * lib/clean-temp.c: Include gl_xlist.h.
35443         * modules/clean-temp (Depends-on): Add xlist.
35444
35445         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
35446         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
35447
35448         * tests/test-array_oset.c: Include gl_xlist.h.
35449         * modules/array-oset-tests (Depends-on): Add xlist.
35450
35451         Reported by José E. Marchesi <jemarch@gnu.org>.
35452
35453 2009-12-13  Bruno Haible  <bruno@clisp.org>
35454
35455         Move the malloc checking from module 'oset' to new module 'xoset'.
35456         * modules/xoset: New file.
35457         * lib/gl_xoset.h: New file.
35458         * lib/gl_xoset.c: New file.
35459         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
35460         declarations.
35461         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
35462         (struct gl_oset_implementation): Rename and change methods accordingly.
35463         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
35464         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35465         'int'. Mark as __warn_unused_result__.
35466         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
35467         gl_oset_create_empty.
35468         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35469         'int'.
35470         * lib/gl_array_oset.c: Don't include xalloc.h.
35471         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
35472         malloc, not xmalloc.
35473         (grow): Change return type to 'int'. Don't call xalloc_die.
35474         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
35475         to 'int'.
35476         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
35477         'int'.
35478         (gl_array_oset_implementation): Update.
35479         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
35480         gl_tree_create_empty.
35481         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
35482         'int'.
35483         * lib/gl_avltree_oset.c: Don't include xalloc.h.
35484         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35485         xmalloc.
35486         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35487         not xmalloc.
35488         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35489         xmalloc.
35490         (gl_avltree_oset_implementation): Update.
35491         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
35492         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35493         xmalloc.
35494         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35495         not xmalloc.
35496         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35497         xmalloc.
35498         (gl_rbtree_oset_implementation): Update.
35499         * modules/array-oset (Depends-on): Remove xalloc.
35500         * modules/avltree-oset (Depends-on): Likewise.
35501         * modules/rbtree-oset (Depends-on): Likewise.
35502         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
35503         * tests/test-avltree_oset.c: Likewise.
35504         * tests/test-rbtree_oset.c: Likewise.
35505         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
35506         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
35507         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35508         * NEWS: Mention the change.
35509
35510 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
35511
35512         maint.mk: allow a project to override release-prep commands
35513         * top/maint.mk (alpha, beta, stable): Move release-preparatory
35514         commands into a new rule.
35515         (release-prep): New rule.
35516         (release-prep-hook): New overridable variable.
35517
35518 2009-12-13  Bruno Haible  <bruno@clisp.org>
35519
35520         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
35521
35522 2009-12-13  Jim Meyering  <meyering@redhat.com>
35523
35524         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
35525         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
35526
35527 2009-12-12  Bruno Haible  <bruno@clisp.org>
35528
35529         duplocale: Tweak.
35530         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
35531
35532 2009-12-12  Karl Berry  <karl@gnu.org>
35533
35534         * config/srclist.txt (strtoll.c): tab changes, no more sync.
35535
35536 2009-12-12  Bruno Haible  <bruno@clisp.org>
35537
35538         * m4/po.m4: Undo incorrect untabification.
35539
35540 2009-12-12  Bruno Haible  <bruno@clisp.org>
35541
35542         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
35543         * modules/c-strtod (Depends-on): Add locale.
35544         * modules/c-strtold (Depends-on): Likewise.
35545
35546 2009-12-12  Bruno Haible  <bruno@clisp.org>
35547
35548         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
35549
35550 2009-12-11  Eric Blake  <ebb9@byu.net>
35551
35552         setenv: relax requirement in light of POSIX ruling
35553         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
35554         not NULL.
35555         * tests/test-setenv.c (main): Relax test.
35556         * tests/test-unsetenv.c (main): Likewise.
35557         * doc/posix-functions/setenv.texi (setenv): Document this.
35558         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35559
35560 2009-12-11  Bruno Haible  <bruno@clisp.org>
35561
35562         New module 'fd-safer-flag'.
35563         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
35564         * lib/dup-safer.c (dup_safer_flag): Remove function.
35565         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
35566         * lib/fd-safer.c (fd_safer_flag): Remove function.
35567         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
35568         * modules/cloexec (configure.ac): Drop indicator macro.
35569         * modules/fd-safer-flag: New file.
35570         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
35571         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
35572         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
35573
35574 2009-12-11  Bruno Haible  <bruno@clisp.org>
35575
35576         Tests for module 'nl_langinfo'.
35577         * modules/nl_langinfo-tests: New file.
35578         * tests/test-nl_langinfo.sh: New file.
35579         * tests/test-nl_langinfo.c: New file.
35580
35581         New module 'nl_langinfo'.
35582         * lib/nl_langinfo.c: New file.
35583         * m4/nl_langinfo.m4: New file.
35584         * modules/nl_langinfo: New file.
35585         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
35586
35587 2009-12-11  Bruno Haible  <bruno@clisp.org>
35588
35589         Tests for module 'langinfo'.
35590         * modules/langinfo-tests: New file.
35591         * tests/test-langinfo.c: New file.
35592
35593         New module 'langinfo'.
35594         * lib/langinfo.in.h: New file.
35595         * m4/langinfo_h.m4: New file.
35596         * modules/langinfo: New file.
35597         * doc/posix-headers/langinfo.texi: Mention the new module.
35598
35599 2009-12-11  Bruno Haible  <bruno@clisp.org>
35600
35601         * lib/config.charset: Untabify.
35602
35603 2009-12-11  Bruno Haible  <bruno@clisp.org>
35604
35605         * modules/unistd-safer (configure.ac): Drop indicator macro.
35606
35607 2009-12-11  Bruno Haible  <bruno@clisp.org>
35608
35609         Move pipe2-safer code to its own file.
35610         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
35611         * lib/pipe-safer.c (pipe2_safer): Remove function.
35612         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
35613         (Makefile.am): Add it to lib_SOURCES.
35614
35615 2009-12-10  Bruno Haible  <bruno@clisp.org>
35616
35617         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
35618
35619 2009-12-10  Bruno Haible  <bruno@clisp.org>
35620
35621         Declare which arguments expect non-NULL values, for GCC and clang.
35622         * build-aux/arg-nonnull.h: New file.
35623         * modules/arg-nonnull: New file.
35624         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
35625         (inet_ntop, inet_pton): Use it.
35626         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
35627         (closedir, dirfd, opendir, scandir, alphasort): Use it.
35628         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
35629         (open, openat): Use it.
35630         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
35631         (fnmatch): Use it.
35632         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
35633         (getopt, getopt_long, getopt_long_only): Use it.
35634         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
35635         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
35636         Use it.
35637         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
35638         (iconv_open): Use it.
35639         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
35640         (strtoimax, strtoumax): Use it.
35641         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
35642         (duplocale): Use it.
35643         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
35644         (frexp, frexpl): Use it.
35645         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
35646         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
35647         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
35648         (tsearch, tfind, tdelete, twalk): Use it.
35649         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
35650         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35651         sigpending): Use it.
35652         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
35653         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35654         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35655         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35656         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35657         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35658         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35659         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35660         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35661         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35662         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35663         Use it.
35664         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
35665         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
35666         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
35667         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
35668         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
35669         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
35670         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
35671         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
35672         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
35673         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
35674         strtoull, unsetenv): Use it.
35675         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
35676         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35677         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35678         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
35679         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
35680         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
35681         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
35682         (strcasecmp, strncasecmp): Use it.
35683         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
35684         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
35685         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
35686         rpl_setsockopt): Use it.
35687         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
35688         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
35689         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
35690         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
35691         (gettimeofday): Use it.
35692         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
35693         (times): Use it.
35694         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
35695         (uname): Use it.
35696         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
35697         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
35698         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
35699         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
35700         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
35701         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
35702         unlinkat, write): Use it.
35703         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
35704         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
35705         * lib/argv-iter.h: Include arg-nonnull.h.
35706         (_ATTRIBUTE_NONNULL_): Remove macro.
35707         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
35708         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
35709         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
35710         optimization.
35711         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
35712         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
35713         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
35714         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
35715         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
35716         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
35717         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
35718         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
35719         * modules/arpa_inet (Depends-on): Add arg-nonnull.
35720         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
35721         * modules/dirent (Depends-on): Add arg-nonnull.
35722         (Makefile.am): Insert arg-nonnull.h into dirent.h.
35723         * modules/fcntl-h (Depends-on): Add arg-nonnull.
35724         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
35725         * modules/fnmatch (Depends-on): Add arg-nonnull.
35726         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
35727         * modules/getopt-posix (Depends-on): Add arg-nonnull.
35728         (Makefile.am): Insert arg-nonnull.h into getopt.h.
35729         * modules/glob (Depends-on): Add arg-nonnull.
35730         (Makefile.am): Insert arg-nonnull.h into glob.h.
35731         * modules/iconv_open (Depends-on): Add arg-nonnull.
35732         (Makefile.am): Insert arg-nonnull.h into iconv.h.
35733         * modules/inttypes (Depends-on): Add arg-nonnull.
35734         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
35735         * modules/locale (Depends-on): Add arg-nonnull.
35736         (Makefile.am): Insert arg-nonnull.h into locale.h.
35737         * modules/math (Depends-on): Add arg-nonnull.
35738         (Makefile.am): Insert arg-nonnull.h into math.h.
35739         * modules/netdb (Depends-on): Add arg-nonnull.
35740         (Makefile.am): Insert arg-nonnull.h into netdb.h.
35741         * modules/search (Depends-on): Add arg-nonnull.
35742         (Makefile.am): Insert arg-nonnull.h into search.h.
35743         * modules/signal (Depends-on): Add arg-nonnull.
35744         (Makefile.am): Insert arg-nonnull.h into signal.h.
35745         * modules/spawn (Depends-on): Add arg-nonnull.
35746         (Makefile.am): Insert arg-nonnull.h into spawn.h.
35747         * modules/stdio (Depends-on): Add arg-nonnull.
35748         (Makefile.am): Insert arg-nonnull.h into stdio.h.
35749         * modules/stdlib (Depends-on): Add arg-nonnull.
35750         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
35751         * modules/string (Depends-on): Add arg-nonnull.
35752         (Makefile.am): Insert arg-nonnull.h into string.h.
35753         * modules/strings (Depends-on): Add arg-nonnull.
35754         (Makefile.am): Insert arg-nonnull.h into strings.h.
35755         * modules/sys_socket (Depends-on): Add arg-nonnull.
35756         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
35757         * modules/sys_stat (Depends-on): Add arg-nonnull.
35758         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
35759         * modules/sys_time (Depends-on): Add arg-nonnull.
35760         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
35761         * modules/sys_times (Depends-on): Add arg-nonnull.
35762         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
35763         * modules/sys_utsname (Depends-on): Add arg-nonnull.
35764         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
35765         * modules/time (Depends-on): Add arg-nonnull.
35766         (Makefile.am): Insert arg-nonnull.h into time.h.
35767         * modules/unistd (Depends-on): Add arg-nonnull.
35768         (Makefile.am): Insert arg-nonnull.h into unistd.h.
35769         * modules/wchar (Depends-on): Add arg-nonnull.
35770         (Makefile.am): Insert arg-nonnull.h into wchar.h.
35771         * modules/argv-iter (Depends-on): Add arg-nonnull.
35772         * tests/test-canonicalize.c (null_ptr): New function.
35773         (main): Use it.
35774         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
35775         (main): Use it.
35776         * tests/test-memmem.c (null_ptr): New function.
35777         (main): Use it.
35778         Reported by Jim Meyering.
35779
35780 2009-12-10  Bruno Haible  <bruno@clisp.org>
35781
35782         Use spaces for indentation, not tabs.
35783         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
35784         * m4/*.m4: Untabify.
35785         * build-aux/*.h: Untabify.
35786         * tests/**/*.[hc]: Untabify.
35787         * README: New section "Indent with spaces, not TABs", based on
35788         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
35789         * NEWS: Mention the change.
35790
35791 2009-12-10  Bruno Haible  <bruno@clisp.org>
35792
35793         pty test: Fix link error.
35794         * modules/pty-tests (Makefile.am): Add the default LDADD value to
35795         test_pty_LDADD.
35796
35797 2009-12-07  Simon Josefsson  <simon@josefsson.org>
35798
35799         * modules/pty: New file.
35800         * modules/pty-tests: New file.
35801         * m4/pty.m4: New file.
35802         * tests/test-pty.c: New file.
35803         * doc/glibc-headers/pty.texi: Modified.
35804         * doc/glibc-functions/forkpty.texi: Modified.
35805         * doc/glibc-functions/openpty.texi: Modified.
35806
35807 2009-12-10  Bruno Haible  <bruno@clisp.org>
35808
35809         Avoid syntax error in C++ mode.
35810         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
35811
35812 2009-12-10  Bruno Haible  <bruno@clisp.org>
35813
35814         Use sed with option -e.
35815         * gnulib-tool (func_version, func_emit_copyright_notice,
35816         func_emit_initmacro_end, func_import, func_create_testdir): Pass
35817         option -e to sed.
35818         * modules/link-warning (Makefile.am): Likewise.
35819
35820 2009-12-10  Jim Meyering  <meyering@redhat.com>
35821
35822         mgetgroups: do not write bytes beyond end of malloc'd buffer
35823         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
35824         username, we call getgroups with a one-element-shorter buffer,
35825         but still told it the length was original, max_n_groups.
35826
35827 2009-12-09  Eric Blake  <ebb9@byu.net>
35828
35829         cloexec: relax license
35830         * modules/cloexec (Maintainer): Add myself.
35831         (License): Use LGPL, not GPL.
35832
35833         link-warning: optimize generation
35834         * modules/link-warning (Makefile.am): Reduce process usage.
35835
35836 2009-12-09  Bruno Haible  <bruno@clisp.org>
35837
35838         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
35839         workaround was added on 2009-11-17.
35840
35841 2009-12-09  Jim Meyering  <meyering@redhat.com>
35842             Bruno Haible  <bruno@clisp.org>
35843
35844         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
35845         * modules/link-warning (Makefile.am): Make the comment-removing sed
35846         command more robust in the face of bootstrap-prepended comment lines.
35847
35848 2009-12-09  Bruno Haible  <bruno@clisp.org>
35849
35850         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
35851         most one group.
35852
35853 2009-12-09  Simon Josefsson <simon@josefsson.org>
35854             Bruno Haible  <bruno@clisp.org>
35855
35856         * build-aux/link-warning.h: Add copyright notice.
35857         * modules/link-warning (Makefile.am): Generate link-warning.h from
35858         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
35859         * NEWS: Mention change in link-warning module.
35860         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
35861         * modules/dirent (Makefile.am): Add dependency to dirent.h.
35862         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
35863         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
35864         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
35865         * modules/math (Makefile.am): Add dependency to math.h.
35866         * modules/search (Makefile.am): Add dependency to search.h.
35867         * modules/signal (Makefile.am): Add dependency to signal.h.
35868         * modules/spawn (Makefile.am): Add dependency to spawn.h.
35869         * modules/stdio (Makefile.am): Add dependency to stdio.h.
35870         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
35871         * modules/string (Makefile.am): Add dependency to string.h.
35872         * modules/strings (Makefile.am): Add dependency to strings.h.
35873         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
35874         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
35875         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
35876         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
35877         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
35878         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
35879         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
35880         * modules/unistd (Makefile.am): Add dependency to unistd.h.
35881         * modules/wchar (Makefile.am): Add dependency to wchar.h.
35882
35883 2009-12-09  Bruno Haible  <bruno@clisp.org>
35884
35885         fchdir: Optimize away rpl_fstat when possible.
35886         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
35887         REPLACE_OPEN_DIRECTORY.
35888         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
35889
35890 2009-12-09  Bruno Haible  <bruno@clisp.org>
35891
35892         * lib/fchdir.c: Update comment.
35893
35894 2009-12-09  Bruno Haible  <bruno@clisp.org>
35895
35896         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
35897
35898 2009-12-08  Eric Blake  <ebb9@byu.net>
35899
35900         fchdir: avoid memory leak on re-registration.
35901         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
35902
35903 2009-12-08  Jim Meyering  <meyering@redhat.com>
35904
35905         init.sh: avoid Solaris 10 /bin/sh portability problem
35906         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
35907         sourced script:
35908           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
35909           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
35910           bar
35911         tests/init.sh relied on that, accepting a --set-path=DIR argument,
35912         and two tests used that idiom.
35913         * tests/init.sh: Update suggested usage comments.
35914         (path_prepend_): New function, to be used in place
35915         of the --src-path=DIR option.
35916         (setup_): Move PATH-prepending code into path_prepend_.
35917         * tests/test-pread.sh: Adapt to new usage.
35918         * tests/test-xalloc-die.sh: Likewise.
35919
35920 2009-12-08  Simon Josefsson  <simon@josefsson.org>
35921
35922         * doc/gnulib.texi (Glibc pty.h): Add.
35923         * doc/glibc-functions/forkpty.texi: Add.
35924         * doc/glibc-functions/openpty.texi: Add.
35925         Suggested by Bruno Haible.
35926
35927 2009-12-08  Eric Blake  <ebb9@byu.net>
35928
35929         fchdir: fix logic bugs
35930         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
35931         * tests/test-fchdir.c (main): Enhance test.
35932         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
35933         is in use.
35934
35935         dup2: fix logic bugs
35936         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
35937         REPLACE_DUP2 to decide when rpl_dup2 is needed.
35938         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
35939         exists.
35940         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
35941
35942 2009-12-07  Eric Blake  <ebb9@byu.net>
35943
35944         unlink: fix m4 detection
35945         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
35946
35947         unistd-safer: add unit test
35948         * modules/unistd-safer-tests: New file.
35949         * tests/test-dup-safer.c: Likewise.
35950         * tests/test-cloexec.c (setmode): Avoid compiler warning.
35951         * tests/test-dup2.c (setmode): Likewise.
35952         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
35953
35954         cloexec: preserve text vs. binary across dup_cloexec
35955         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
35956         mode.
35957         * modules/dup2-tests (Depends-on): Add binary-io.
35958         * modules/cloexec-tests (Depends-on): Likewise.
35959         * tests/test-dup2.c (setmode, is_mode): New helpers.
35960         (main): Add tests that translation mode is preserved.
35961         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
35962         Reported by Bruno Haible.
35963
35964         mgetgroups: reduce duplicate listings
35965         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
35966         resulting array.
35967         * tests/test-chown.h (test_chown): Simplify client.
35968         * tests/test-lchown.h (test_lchown): Likewise.
35969
35970 2009-12-06  Bruno Haible  <bruno@clisp.org>
35971
35972         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
35973         value.
35974
35975 2009-12-06  Bruno Haible  <bruno@clisp.org>
35976
35977         * lib/progname.c: Include stdio.h, stdlib.h.
35978         (set_program_name): Reject a NULL argument.
35979
35980 2009-12-05  Eric Blake  <ebb9@byu.net>
35981
35982         pipe2-safer: new module
35983         * modules/pipe2-safer: New file.
35984         * lib/unistd-safer.h (pipe2_safer): New prototype.
35985         * lib/unistd--.h (pipe2): New wrapper.
35986         * lib/pipe-safer.c (pipe2_safer): New function.
35987         * modules/pipe (Depends-on): Add pipe2-safer.
35988         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
35989
35990         stdlib-safer: preserve cloexec flag for mkostemp[s]
35991         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
35992         fd_safer_flag.
35993
35994         unistd-safer: allow preservation of cloexec status via flag
35995         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
35996         prototypes.
35997         * lib/dup-safer.c (dup_safer_flag): New function.
35998         * lib/fd-safer.c (fd_safer_flag): Likewise.
35999         * modules/cloexec (configure.ac): Set witness.
36000
36001         test-dup2: enhance test
36002         * modules/dup2-tests (Depends-on): Add cloexec.
36003         * tests/test-dup2.c (main): Enhance test.
36004
36005         cloexec: add dup_cloexec
36006         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36007         header and comments.
36008         * lib/cloexec.c (set_cloexec_flag): Add comments.
36009         (dup_cloexec): New function, with mingw implementation borrowed
36010         from...
36011         * lib/w32spawn.h (dup_noinherit): ...here.
36012         * modules/execute (Depends-on): Add cloexec.
36013         * modules/pipe (Depends-on): Likewise.
36014         * modules/cloexec (Depends-on): Add dup2.
36015         * modules/cloexec-tests (Files): New file.
36016         * tests/test-cloexec.c: Likewise.
36017
36018         test-xalloc-die: fix test for mingw
36019         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36020         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36021         directory and .exe suffix off argv[0] output.
36022
36023         test-fseeko: fix test for mingw
36024         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36025         than undefining fseek, so test will pass on mingw.
36026
36027 2009-12-05  Bruno Haible  <bruno@clisp.org>
36028
36029         * lib/progname.h (set_program_name): Clarify specification.
36030         * lib/progname.c (set_program_name): Likewise.
36031         Reported by Jim Meyering.
36032
36033 2009-12-05  Jim Meyering  <meyering@redhat.com>
36034
36035         maint.mk: backslash-escape parens in default regexp
36036         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36037         backslash-escape the literal parentheses.
36038
36039         maint.mk: news-date-check: use grep -E
36040         * top/maint.mk (today): Define a Make variable, not a...
36041         (news-date-check): ...shell variable.
36042         (news-date-regexp): Use the Make variable.
36043         Use grep's -E option.  Change the failing diagnostic to mention
36044         the variable, $(news-date-regexp).
36045
36046 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36047
36048         maintainer-makefile: allow customization of NEWS entry format
36049         * top/maint.mk (news-date-regexp): New overridable variable.
36050         (news-date-check): Use it.
36051
36052 2009-12-04  Eric Blake  <ebb9@byu.net>
36053
36054         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36055         * lib/mgetgroups.h (xgetgroups): New prototype.
36056         * lib/mgetgroups.c (xgetgroups): New wrapper.
36057         (mgetgroups): Handle ENOSYS.
36058         * modules/mgetgroups (Depends-on): Add realloc.
36059         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36060
36061         mgetgroups: avoid argument promotion issues with -1
36062         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36063         for invalid gid_t.
36064         * tests/test-chown.h (getegid, test_chown): Likewise.
36065         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36066
36067 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36068
36069         exclude: Fix header file problems.
36070         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36071
36072 2009-12-01  Jim Meyering  <meyering@redhat.com>
36073
36074         fts: fts_open: do not let an empty string cause immediate failure
36075         This is required in support of GNU rm, for which the command
36076         "rm A '' B" must process and remove both A and B, in spite of
36077         the empty string argument.
36078         * lib/fts.c (fts_open): Do not let the presence of an empty string
36079         cause fts_open to fail immediately.  Most fts-using tools must be
36080         able to process all arguments, in order, and can be expected to
36081         diagnose such arguments themselves.
36082
36083 2009-11-30  Eric Blake  <ebb9@byu.net>
36084
36085         utimens: fix compilation error
36086         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36087         Declare variable at right scope.
36088
36089 2009-11-29  Jim Meyering  <meyering@redhat.com>
36090
36091         bootstrap: handle perl-5.11's changed --version output
36092         * build-aux/bootstrap (get_version): Handle perl separately,
36093         since perl-5.11's --version output is different.
36094
36095 2009-11-28  Jim Meyering  <meyering@redhat.com>
36096
36097         userspec: depend on the inttostr module, too
36098         * modules/userspec (Depends-on): Add inttostr.
36099
36100         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36101         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36102         number of MAXUID when it evaluates to (uid_t) -1.
36103         Likewise for group ID.  Reported by Matt McCutchen in
36104         <http://savannah.gnu.org/bugs/?28113>
36105
36106         userspec: reformat to use spaces, not TABs
36107         * lib/userspec.c: Expand TABs to spaces.
36108         Add Emacs' "indent-tabs-mode: nil" hint.
36109
36110 2009-11-27  Eric Blake  <ebb9@byu.net>
36111
36112         getopt-gnu: flush out another BSD bug
36113         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36114         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36115         flush out BSD bug.
36116         * tests/test-getopt.h (test_getopt): End lists with NULL.
36117         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36118         (test_getopt_long_posix): Enhance test.
36119         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36120         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36121         getopt-gnu.
36122         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36123         Likewise.
36124
36125 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36126
36127         * modules/idpriv-droptemp-tests (Notice): Fix text.
36128
36129 2009-11-27  Jim Meyering  <meyering@redhat.com>
36130
36131         test-xalloc-die: avoid spurious failure due to libtool argv difference
36132         In a libtool-enabled project, this test would fail due to a difference
36133         in the emitted program name, e.g.,
36134         -test-xalloc-die: memory exhausted
36135         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36136         Use program to avoid that.
36137         * modules/xalloc-die-tests (Depends-on): Add progname.
36138         * tests/test-xalloc-die.c: Include progname.h".
36139         (program_name): Remove decl.
36140         (main): Call set_program_name.
36141         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36142
36143 2009-11-26  Richard Jones  <rjones@redhat.com>
36144
36145         w32sock: leave win32 error in place.
36146         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36147
36148 2009-11-26  Eric Blake  <ebb9@byu.net>
36149
36150         init.sh: suggest to use skip_ and fail_ functions in comments
36151         * tests/init.sh: Add a sentence.
36152
36153 2009-11-25  Bruno Haible  <bruno@clisp.org>
36154
36155         init.sh: add documentation in comments
36156         * tests/init.sh: Add some developer and user documentation.
36157
36158 2009-11-26  Jim Meyering  <meyering@redhat.com>
36159
36160         init.sh: accommodate even those who specify bogus srcdir manually
36161         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36162         configure-time tests to be sanitized, so that there is no need to
36163         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36164         (with no double quotes) suffices.  However, since tests may be
36165         invoked manually, and since you may explicitly set srcdir to the
36166         name of a directory containing spaces, do quote its uses here.
36167         * tests/test-pread.sh: Likewise.
36168         Suggested by Bruno Haible.
36169
36170         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36171         * tests/test-pread.sh: Write no data into the pipe, because
36172         test-pread actually reads none.  This avoids a diagnostic,
36173         "bash: echo: write error: Broken pipe", that arises in the unusual
36174         event something is ignoring SIGPIPE, and might be interpreted
36175         as some sort of failure.  Reported by Bruno Haible.
36176
36177 2009-11-25  Jim Meyering  <meyering@redhat.com>
36178
36179         test-pread: cover failure with ESPIPE and EINVAL
36180         * tests/test-pread.c (main): Test for failure, too.
36181         * tests/test-pread.sh: Invoke with stdin on a pipe.
36182         Suggested by Eric Blake.
36183
36184         pread: improvement and fix
36185         * modules/pread (Depends-on): Depend on lseek, for portability to
36186         e.g., mingw.  Suggested by Eric Blake.
36187         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36188
36189         unistd.in.h: correct declaration of pread
36190         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36191         Reported by Richard W.M. Jones.
36192
36193         test-pread.sh: distribute the test script
36194         * modules/pread-tests (Files): Include test-pread.sh.
36195
36196         test-pread.sh: clean up
36197         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36198         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36199         That is unnecessary, since it's always ".".
36200         Suggestion from Eric Blake.
36201
36202         test-pread.sh: make executable
36203         * tests/test-pread.sh: Set executable bit.
36204         Reported by Eric Blake.
36205
36206         correct typo in test-pread.sh
36207         * tests/test-pread.sh: Add #! line.
36208
36209         test pread
36210         * tests/test-pread.c: New file.
36211         * tests/test-pread.sh: Likewise.
36212         * modules/pread-tests: Likewise.
36213
36214         pread: new module
36215         * modules/pread: New file.
36216         * lib/unistd.in.h (pread): Define/declare.
36217         * lib/pread.c (pread): New file.
36218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36219         * modules/unistd (Makefile.am): Substitute witnesses.
36220         * doc/posix-functions/pread.texi (pread): Update.
36221         * MODULES.html.sh: Add pread.
36222
36223 2009-11-25  Jim Meyering  <meyering@redhat.com>
36224
36225         tests/init.sh: new file to be used via most *.sh tests
36226         * tests/init.sh: New file.
36227
36228 2009-11-25  Eric Blake  <ebb9@byu.net>
36229
36230         utimens: work around older Linux failure with symlinks
36231         * lib/utimens.c (lutimensat_works_really): New variable.
36232         (fdutimens, lutimens): Use it to manage kernels that support
36233         nanosecond times on files, but not on symlinks.
36234         Reported by OndÅ™ej Vašík.
36235
36236         utimes: fix configure grammar
36237         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36238
36239 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36240
36241         regex: Fix fastmap for multibyte character ranges.
36242         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36243         characters when a multibyte character range is included.
36244
36245 2009-11-22  Andy Wingo  <wingo@pobox.com>
36246
36247         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36248         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36249
36250 2009-11-24  Bruno Haible  <bruno@clisp.org>
36251
36252         doc: Most *_l functions exist in MacOS X 10.5.
36253         * doc/posix-functions/duplocale.texi: Update platforms list.
36254         * doc/posix-functions/freelocale.texi: Likewise.
36255         * doc/posix-functions/newlocale.texi: Likewise.
36256         * doc/posix-functions/uselocale.texi: Likewise.
36257         * doc/posix-functions/isalnum_l.texi: Likewise.
36258         * doc/posix-functions/isalpha_l.texi: Likewise.
36259         * doc/posix-functions/isblank_l.texi: Likewise.
36260         * doc/posix-functions/iscntrl_l.texi: Likewise.
36261         * doc/posix-functions/isdigit_l.texi: Likewise.
36262         * doc/posix-functions/isgraph_l.texi: Likewise.
36263         * doc/posix-functions/islower_l.texi: Likewise.
36264         * doc/posix-functions/isprint_l.texi: Likewise.
36265         * doc/posix-functions/ispunct_l.texi: Likewise.
36266         * doc/posix-functions/isspace_l.texi: Likewise.
36267         * doc/posix-functions/isupper_l.texi: Likewise.
36268         * doc/posix-functions/iswalnum_l.texi: Likewise.
36269         * doc/posix-functions/iswalpha_l.texi: Likewise.
36270         * doc/posix-functions/iswblank_l.texi: Likewise.
36271         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36272         * doc/posix-functions/iswctype_l.texi: Likewise.
36273         * doc/posix-functions/iswdigit_l.texi: Likewise.
36274         * doc/posix-functions/iswgraph_l.texi: Likewise.
36275         * doc/posix-functions/iswlower_l.texi: Likewise.
36276         * doc/posix-functions/iswprint_l.texi: Likewise.
36277         * doc/posix-functions/iswpunct_l.texi: Likewise.
36278         * doc/posix-functions/iswspace_l.texi: Likewise.
36279         * doc/posix-functions/iswupper_l.texi: Likewise.
36280         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36281         * doc/posix-functions/isxdigit_l.texi: Likewise.
36282         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36283         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36284         * doc/posix-functions/strcoll_l.texi: Likewise.
36285         * doc/posix-functions/strfmon_l.texi: Likewise.
36286         * doc/posix-functions/strftime_l.texi: Likewise.
36287         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36288         * doc/posix-functions/strxfrm_l.texi: Likewise.
36289         * doc/posix-functions/tolower_l.texi: Likewise.
36290         * doc/posix-functions/toupper_l.texi: Likewise.
36291         * doc/posix-functions/towctrans_l.texi: Likewise.
36292         * doc/posix-functions/towlower_l.texi: Likewise.
36293         * doc/posix-functions/towupper_l.texi: Likewise.
36294         * doc/posix-functions/wcscoll_l.texi: Likewise.
36295         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36296         * doc/posix-functions/wctrans_l.texi: Likewise.
36297         * doc/posix-functions/wctype_l.texi: Likewise.
36298         * doc/glibc-functions/strptime_l.texi: Likewise.
36299         * doc/glibc-functions/strtod_l.texi: Likewise.
36300         * doc/glibc-functions/strtof_l.texi: Likewise.
36301         * doc/glibc-functions/strtol_l.texi: Likewise.
36302         * doc/glibc-functions/strtold_l.texi: Likewise.
36303         * doc/glibc-functions/strtoll_l.texi: Likewise.
36304         * doc/glibc-functions/strtoul_l.texi: Likewise.
36305         * doc/glibc-functions/strtoull_l.texi: Likewise.
36306         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36307         * doc/glibc-functions/wcstod_l.texi: Likewise.
36308         * doc/glibc-functions/wcstof_l.texi: Likewise.
36309         * doc/glibc-functions/wcstol_l.texi: Likewise.
36310         * doc/glibc-functions/wcstold_l.texi: Likewise.
36311         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36312         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36313         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36314
36315 2009-11-24  Bruno Haible  <bruno@clisp.org>
36316
36317         duplocale: Fix logic bug.
36318         * lib/duplocale.c: Don't include <langinfo.h>.
36319         (_NL_LOCALE_NAME): Remove macro.
36320         (rpl_duplocale): Use setlocale instead of nl_langinfo.
36321         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
36322
36323 2009-11-23  Jim Meyering  <meyering@redhat.com>
36324
36325         test-update-copyright: don't hard-code /usr/bin/perl
36326         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
36327         perl to print the current year.  Gilles Espinasse reported that
36328         the replaced use of perl was hard-coded as /usr/bin/perl.
36329
36330 2009-11-23  Bruno Haible  <bruno@clisp.org>
36331
36332         duplocale: Add support for glibc 2.3.x.
36333         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
36334
36335 2009-11-22  Bruno Haible  <bruno@clisp.org>
36336
36337         vasnprintf: Tiny optimization.
36338         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36339         MacOS X.
36340
36341 2009-11-22  Bruno Haible  <bruno@clisp.org>
36342
36343         Tests for module 'duplocale'.
36344         * modules/duplocale-tests: New file.
36345         * tests/test-duplocale.c: New file.
36346
36347         New module 'duplocale'.
36348         * m4/duplocale.m4: New file.
36349         * lib/locale.in.h (duplocale): New declaration.
36350         * lib/duplocale.c: New file.
36351         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36352         gl_LOCALE_H_DEFAULTS): New macros.
36353         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
36354         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
36355         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
36356         REPLACE_DUPLOCALE.
36357         * modules/duplocale: New file.
36358         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
36359
36360 2009-11-22  Bruno Haible  <bruno@clisp.org>
36361
36362         * modules/locale-tests (configure.ac): Test for newlocale function.
36363         * tests/test-locale.c: When the system has extended locale functions,
36364         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
36365
36366         locale: Make locale_t available when possible.
36367         * lib/locale.in.h: Include <xlocale.h> when it exists.
36368         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
36369         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36370         * modules/locale (Depends-on): Add extensions.
36371         (Makefile.am): Also substitute HAVE_XLOCALE_H.
36372         * doc/posix-headers/locale.texi: Document the problem with locale_t.
36373
36374 2009-11-22  Bruno Haible  <bruno@clisp.org>
36375
36376         Add comments.
36377         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
36378         invocation.
36379         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36380         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36381         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36382
36383 2009-11-22  Bruno Haible  <bruno@clisp.org>
36384
36385         error: account for the possibility of freopen (stdout).
36386         * lib/error.c: Include <unistd.h>.
36387         (flush_stdout): New function, extracted from error and error_at_line.
36388         Determine stdout's fd dynamically.
36389         (error, error_at_line): Invoke flush_stdout.
36390         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
36391         * modules/error (Depends-on): Add unistd.
36392
36393 2009-11-22  Bruno Haible  <bruno@clisp.org>
36394
36395         diffseq: Add comment.
36396         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
36397
36398 2009-11-22  Jim Meyering  <meyering@redhat.com>
36399
36400         c-stack: avoid defining an unused static function
36401         * lib/c-stack.c (find_stack_direction): Do not define this function
36402         when it will not be used.
36403
36404         diffseq: avoid spurious gcc warnings
36405         * lib/diffseq.h (IF_LINT2): Define.
36406         (compareseq): Use it to initialize two members of "part".
36407         This avoids two used-uninitialized warnings.
36408
36409 2009-11-21  Jim Meyering  <meyering@redhat.com>
36410
36411         c-stack: avoid "ignoring return value of `write'" warning
36412         * lib/c-stack.c: Include "ignore-value.h".
36413         (die): Explicitly ignore each write return value.
36414         * modules/c-stack (Depends-on): Add ignore-value.
36415
36416 2009-11-21  Bruno Haible  <bruno@clisp.org>
36417
36418         diffseq: reduce scope of variable 'best'.
36419         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
36420         variable, earlier used for two different purposes.
36421
36422 2009-11-21  Jim Meyering  <meyering@redhat.com>
36423
36424         diffseq: remove useless assignment to "best"
36425         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
36426         assignment.  At that point "best" is already guaranteed to be zero.
36427
36428 2009-11-20  Eric Blake  <ebb9@byu.net>
36429
36430         build: mention ftp redirector in release announcements
36431         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
36432         values that used to come from cfg.mk; mention FTP redirect URL.
36433         * build-aux/announce-gen: Mention the mirror list.
36434         Suggested by Karl Berry.
36435
36436         nanosleep: improve port to mingw
36437         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
36438         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
36439         LIB_NANOSLEEP, but only when needed.
36440         * modules/select (Link): Document LIBSOCKET.
36441         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
36442         enough.
36443
36444         nanosleep: work around cygwin bug
36445         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
36446         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
36447         bug.
36448         (getnow): Delete, not needed.
36449         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
36450         LIB_CLOCK_GETTIME.
36451         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
36452         clock-time, gettime.
36453         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
36454         bug.
36455         * modules/nanosleep-tests: New test.
36456         * tests/test-nanosleep.c: New file.
36457
36458         sleep: work around cygwin bug
36459         * lib/sleep.c (rpl_sleep): Work around the bug.
36460         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
36461         (gl_PREREQ_SLEEP): Delete unused macro.
36462         * modules/sleep (Depends-on): Add verify.
36463         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36464         * modules/unistd (Makefile.am): Substitute witness.
36465         * lib/unistd.in.h (sleep): Update prototype.
36466         * doc/posix-functions/sleep.texi (sleep): Document the bug.
36467         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
36468         * modules/sleep-tests (Depends-on): Check for alarm.
36469
36470 2009-11-20  Jim Meyering  <meyering@redhat.com>
36471
36472         maint.mk: improve sc_prohibit_magic_number_exit
36473         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
36474         so it does not match uses like System.exit(1).
36475         Add comments showing how to correct all offenders.
36476
36477 2009-11-19  Eric Blake  <ebb9@byu.net>
36478
36479         xalloc-die-tests: add missing library
36480         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
36481
36482         test-xvasprintf: silence compiler warnings
36483         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
36484         empty string from gcc.
36485
36486 2009-11-19  Jim Meyering  <meyering@redhat.com>
36487
36488         xfreopen: new module, from coreutils
36489         * modules/xfreopen: New module.
36490         * lib/xfreopen.c: New file.
36491         * lib/xfreopen.h: New file.
36492         * MODULES.html.sh (File stream based Input/Output"): Add it.
36493
36494 2009-11-19  Eric Blake  <ebb9@byu.net>
36495
36496         manywarnings: depend on warnings
36497         * modules/manywarnings (Depends-on): Add warnings.
36498
36499         build: avoid compiler warnings
36500         * lib/select.c (rpl_select): Delete unused variable.
36501         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
36502
36503 2009-11-18  Eric Blake  <ebb9@byu.net>
36504
36505         tests: avoid false negative with --with-packager
36506         * tests/test-version-etc.sh: Discard packager information.
36507         * tests/test-argp-version-etc-1.sh: Likewise.
36508         Reported by Mike Frysinger.
36509
36510         utimens: fix regression on Solaris
36511         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
36512         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
36513         can only change fd timestamps via futimesat.  Instead, use an
36514         additional witness macro to avoid BSD bug.
36515         Reported by Jim Meyering.
36516
36517 2009-11-17  Eric Blake  <ebb9@byu.net>
36518
36519         usleep: use it to simplify tests
36520         * modules/stat-time-tests (Depends-on): Add usleep.
36521         (configure.ac): Drop usleep check.
36522         * modules/chown-tests (Depends-on, configure.ac): Likewise.
36523         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
36524         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
36525         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
36526         * modules/openat-tests (Depends-on, configure.ac): Likewise.
36527         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
36528         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
36529         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
36530         Likewise.
36531         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
36532         * tests/test-lchown.h (nap): Likewise.
36533         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
36534         * tests/test-stat-time.c (nap): Likewise.
36535         * tests/test-utimens-common.h (nap): Update comments.
36536
36537         usleep: new module
36538         * modules/usleep: New file.
36539         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
36540         * lib/usleep.c (usleep): Likewise.
36541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36542         * modules/unistd (Makefile.am): Substitute witnesses.
36543         * lib/unistd.in.h (usleep): Add declaration.
36544         * doc/pastposix-functions/usleep.texi (usleep): Document this.
36545         * MODULES.html.sh (Date and time): Likewise.
36546         * modules/usleep-tests (Depends-on): New test.
36547         * tests/test-usleep.c: New file.
36548
36549         chown: work around OpenBSD bug
36550         * lib/chown.c (rpl_chown): Work around the bug.
36551         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
36552         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
36553         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
36554         * modules/chown (Depends-on): Add stdbool.
36555         * modules/lchown (Depends-on): Likewise.
36556         * doc/posix-functions/chown.texi (chown): Document the bug.
36557         * doc/posix-functions/lchown.texi (lchown): Likewise.
36558         * tests/test-lchown.h (test_chown): Relax test.
36559
36560         mkstemp: avoid conflict with C++ keyword template
36561         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
36562         * lib/mkostemp.c (mkostemp): Likewise.
36563         * lib/mkostemps.c (mkostemps): Likewise.
36564         * lib/mkstemp.c (mkstemp): Likewise.
36565         * lib/mkstemps.c (mkstemps): Likewise.
36566
36567         xalloc-die-tests: optimize
36568         * tests/test-xalloc-die.sh: Reduce number of processes.
36569
36570 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36571
36572         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
36573         patch from ludo@gnu.org (Ludovic Courtès).
36574
36575 2009-11-17  Jim Meyering  <meyering@redhat.com>
36576
36577         version-etc: use proper license string
36578         * modules/version-etc (License): Use LGPL, not LGPLv3+.
36579         * modules/version-etc-fsf: Likewise.
36580
36581 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36582
36583         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
36584         printed to stdout.  Deal with EOL differences.
36585
36586 2009-11-17  Eric Blake  <ebb9@byu.net>
36587
36588         unsetenv: work around Solaris bug
36589         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
36590         * lib/unsetenv.c (rpl_unsetenv): Work around it.
36591         Reported by Jim Meyering.
36592
36593         vasnprintf: avoid compiler warnings
36594         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
36595         variables.
36596         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
36597
36598 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36599
36600         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
36601         settings since xalloc-die is no longer the self test,
36602         xalloc-die.sh is.
36603
36604 2009-11-17  Jim Meyering  <meyering@redhat.com>
36605
36606         test-xalloc-die.sh: make the code agree with the commit log
36607         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
36608         at the end, just in case you happen to have a test-xalloc-die
36609         program in some other PATH directory.
36610
36611         test-xalloc-die.sh: fix a portability bug
36612         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
36613         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
36614         Otherwise, argv[0] (as often seen in diagnostics) would be too
36615         system-dependent, sometimes with, and sometimes without the leading "./".
36616
36617         version-etc-fsf: relax license to LGPLv3+
36618         * modules/version-etc-fsf (License): Relax license.
36619
36620 2009-11-16  Eric Blake  <ebb9@byu.net>
36621
36622         xalloc-die-tests: avoid printing null pointer
36623         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
36624         shell script.
36625         * tests/test-xalloc-die.c (program_name): Declare.
36626         * tests/test-xalloc-die.sh (tmpfiles): New file.
36627
36628         setenv, unsetenv: work around various bugs
36629         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
36630         (setenv) [HAVE_SETENV]: Work around bugs.
36631         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
36632         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
36633         for bugs.
36634         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
36635         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
36636         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
36637         * modules/stdlib (Makefile.am): Update substitutions.
36638         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
36639         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
36640         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36641         * modules/setenv-tests: New test.
36642         * modules/unsetenv-tests: Likewise.
36643         * tests/test-setenv.c: New file.
36644         * tests/test-unsetenv.c: Likewise.
36645
36646 2009-11-16  Jim Meyering  <meyering@redhat.com>
36647
36648         version-etc: relax license to LGPLv3+
36649         * modules/version-etc (License): Relax license.
36650
36651         better AC_REQUIRE expanded-before-required-warning avoidance
36652         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
36653         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
36654         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
36655         which is no longer needed.
36656
36657 2009-11-16  Eric Blake  <ebb9@byu.net>
36658
36659         test-freading: clean up temporary file
36660         * tests/test-freading.c (main): Remove file on success, and use
36661         ASSERT more liberally.
36662         Reported by Jim Meyering.
36663
36664 2009-11-16  Jim Meyering  <meyering@redhat.com>
36665
36666         avoid new AC_REQUIRE expanded-before-required warnings
36667         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
36668         merely using it.
36669         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
36670         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
36671
36672 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36673
36674         * tests/test-xalloc-die.c: New file.
36675         * modules/xalloc-die-tests: New file.
36676         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
36677         XFAIL_TESTS so it can be appended by modules.
36678
36679 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36680
36681         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
36682         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
36683
36684 2009-11-14  Eric Blake  <ebb9@byu.net>
36685
36686         fnmatch: avoid compiler warning
36687         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
36688         to silence compiler warning about mismatch signedness in ?:.
36689         Reported by Robert Millan.
36690
36691         intprops: add double-inclusion guard
36692         * lib/intprops.h: Allow idempotent includes.
36693         Suggested by Bruce Korb.
36694
36695         openat: detect Solaris fchownat bug
36696         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
36697         penalizing glibc chownat when only lchownat is broken.
36698         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
36699         trailing slash bugs.
36700         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
36701         * modules/openat-tests (Files): Include more files.
36702         (Depends-on): Add mgetgroups, sleep, stat-time.
36703         (configure.ac): Add additional checks.
36704         (Makefile.am): Build new test.
36705         * tests/test-fchownat.c: New file.
36706
36707         lchown: detect Solaris and FreeBSD bug
36708         * lib/lchown.c (rpl_lchown): Work around bug.
36709         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
36710         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36711         * modules/unistd (Makefile.am): Populate it.
36712         * lib/unistd.in.h (lchown): Update declaration.
36713         * doc/posix-functions/lchown.texi (lchown): Document the bug.
36714         * modules/lchown-tests: New file.
36715         * tests/test-lchown.h (test_lchown): Likewise.
36716         * tests/test-lchown.c (main): Likewise.
36717
36718         chown: detect Solaris and FreeBSD bug
36719         * lib/chown.c (rpl_chown): Work around bug.
36720         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
36721         (gl_PREREQ_CHOWN): Delete.
36722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36723         * modules/unistd (Makefile.am): Populate it.
36724         * lib/unistd.in.h (chown): Update declaration.
36725         * lib/lchown.c (chown): Update client.
36726         * modules/lchown (Depends-on): Add lstat.
36727         * doc/posix-functions/chown.texi (chown): Document the bug.
36728         * doc/posix-functions/getgroups.texi (getgroups): Document
36729         getgroups pitfall.
36730         * modules/chown-tests: New file.
36731         * tests/test-chown.h (test_chown): Likewise.
36732         * tests/test-chown.c (main): Likewise.
36733
36734 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
36735
36736         gnulib-tool: correctly detect absence of m4 directories
36737         * gnulib-tool: Avoid extra newline on data passed to wc -l.
36738
36739 2009-11-14  Jim Meyering  <meyering@redhat.com>
36740
36741         maint.mk: Prohibit inclusion of "xalloc.h" without use.
36742         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36743
36744 2009-11-14  John W. Eaton  <jwe@gnu.org>
36745
36746         strftime.h: wrap funtion declaration in extern "C" block
36747         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
36748
36749 2009-11-13  Eric Blake  <ebb9@byu.net>
36750
36751         getgroups: avoid compiler warning
36752         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
36753
36754         getgroups: work around FreeBSD bug
36755         * lib/getgroups.c (rpl_getgroups): Work around the bug.
36756         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
36757         * doc/posix-functions/getgroups.texi (getgroups): Document it.
36758         * tests/test-getgroups.c (main): Fix buffer overrun.
36759
36760         getgroups: avoid compilation failure
36761         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
36762         * modules/getgroups (Depends-on): Add stdint.
36763
36764 2009-11-13  Jim Meyering  <meyering@redhat.com>
36765
36766         test-getgroups: avoid compilation failure
36767         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
36768
36769 2009-11-13  Eric Blake  <ebb9@byu.net>
36770
36771         mgetgroups: new module, taken from coreutils
36772         * modules/mgetgroups: New file.
36773         * lib/mgetgroups.h: Likewise.
36774         * lib/mgetgroups.c (mgetgroups): Likewise.
36775         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
36776         * MODULES.html.sh (Users and groups): Mention it.
36777
36778         getgroups: don't expose GETGROUPS_T to user
36779         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
36780         an element at a time if GETGROUPS_T is wrong size.
36781         * lib/getugroups.h (getugroups): Change signature.
36782         * lib/unistd.in.h (getgroups): Likewise.
36783         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
36784         signature needs fixing.
36785         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
36786         AC_TYPE_GETGROUPS.
36787         * modules/group-member (Depends-on): Add getgroups.
36788         * lib/group-member.c (group_info, get_group_info): Use gid_t.
36789         (group_member): Rely on getgroups replacement.
36790         * lib/getugroups.c (getugroups): Use gid_t.
36791         * tests/test-getgroups.c (main): Likewise.
36792         * NEWS: Mention the signature change.
36793         * doc/posix-functions/getgroups.texi (getgroups): Mention the
36794         problem with signature.
36795         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
36796         GETGROUPS_T is still useful for setgroups.
36797
36798         getgroups, getugroups: provide stubs for mingw
36799         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
36800         * lib/getugroups.c (getugroups): Likewise.
36801         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
36802         function.  Modernize replacement scheme.
36803         (gl_PREREQ_GETGROUPS): Delete.
36804         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
36805         * modules/getgroups (configure.ac): Declare witness.
36806         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36807         * modules/unistd (Depends-on): Substitute witness.
36808         * lib/unistd.in.h (getgroups): Declare replacement.
36809
36810         getgroups: avoid calling exit
36811         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
36812         drop xalloc.
36813         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
36814         dependencies.
36815         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
36816         exiting, in the rare case of malloc failure.
36817
36818         getgroups: fix logic error
36819         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
36820         has more than 20 groups.
36821         * modules/getgroups-tests: New test.
36822         * tests/test-getgroups.c: New file.
36823
36824 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36825
36826         * tests/test-base64.c: Improve.
36827
36828 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36829
36830         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
36831         Blake <ebb9@byu.net>.
36832
36833 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36834
36835         * tests/test-xvasprintf.c: Add %s%s related checks.
36836
36837 2009-11-12  Eric Blake  <ebb9@byu.net>
36838
36839         version-etc: match standards.texi style
36840         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
36841         and use <> only for URLs.
36842
36843 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
36844
36845         fts: do not fail on a submount during traversal
36846         * lib/fts.c (fts_build): Read the stat info again after opening
36847         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
36848         Original report at http://bugzilla.redhat.com/501848.
36849
36850 2009-11-12  Jim Meyering  <meyering@redhat.com>
36851
36852         bootstrap: sync from coreutils
36853         * build-aux/bootstrap (bootstrap_epilogue): New function.
36854         Use git_modules_config in one more place.  This make bootstrap's
36855         --gnulib-srcdir option more useful for testing.
36856
36857         bootstrap: generalize autoheader check
36858         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
36859         AC_CONFIG_HEADERS.
36860
36861 2009-11-11  Eric Blake  <ebb9@byu.net>
36862
36863         mkfifoat: use new modules for Solaris and BSD bugs
36864         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
36865         * lib/mkfifoat.c (mknodat): Split...
36866         * lib/mknodat.c (mknodat): ...into new file.
36867         * modules/mkfifoat (Files): Ship new file.
36868         (Depends-on): Add mkfifo, mknod.
36869         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
36870         (Depends-on): Add symlink.
36871         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
36872         redundant with test_mkfifo.h.
36873         (do_mkfifoat, do_mknodat): New helpers.
36874
36875         mknod: new module
36876         * modules/mknod: New file.
36877         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
36878         * lib/mknod.c (mknod): Likewise.
36879         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36880         defaults.
36881         * modules/sys_stat (Makefile.am): Substitute them.
36882         * lib/sys_stat.in.h (mknod): Declare replacement.
36883         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36884         Document it.
36885         * doc/posix-functions/mknod.texi (mknod): Likewise.
36886         * modules/mknod-tests: New test.
36887         * tests/test-mknod.c: Likewise.
36888
36889         mkfifo: new module
36890         * modules/mkfifo: New file.
36891         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
36892         * lib/mkfifo.c (mkfifo): Likewise.
36893         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36894         defaults.
36895         * modules/sys_stat (Makefile.am): Substitute them.
36896         * lib/sys_stat.in.h (mkfifo): Declare replacement.
36897         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36898         Document it.
36899         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
36900         * modules/mkfifo-tests: New test.
36901         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
36902         from test-mkfifoat.c.
36903         * tests/test-mkfifo.c: New file.
36904
36905         readlink: detect FreeBSD bug
36906         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
36907         slash on symlink.
36908         * doc/posix-functions/readlink.texi (readlink): Document the bug.
36909         * tests/test-readlink.h (test_readlink): Enhance test.
36910
36911         symlink: detect FreeBSD bug
36912         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
36913         slash on symlink.
36914         * doc/posix-functions/symlink.texi (symlink): Document the bug.
36915         * tests/test-symlink.h (test_symlink): Enhance test.
36916
36917 2009-11-10  Eric Blake  <ebb9@byu.net>
36918
36919         link: detect FreeBSD bug
36920         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
36921         symlink.
36922         * doc/posix-functions/link.texi (link): Document the bug.
36923         * tests/test-link.h (test_link): Enhance test.
36924         * tests/test-linkat.c (main): Update caller.
36925
36926         unlink, remove: detect FreeBSD bug
36927         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
36928         slash on symlink.
36929         * doc/posix-functions/unlink.texi (unlink): Document the bug.
36930         * doc/posix-functions/remove.texi (remove): Likewise.
36931         * tests/test-unlink.h (test_unlink): Enhance test.
36932         * tests/test-remove.c (main): Likewise.
36933
36934 2009-11-09  Eric Blake  <ebb9@byu.net>
36935
36936         rename: detect FreeBSD bug
36937         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
36938         slash on symlink.
36939         * modules/renameat-tests (Depends-on): Add filenamecat.
36940         * tests/test-rename.h (test_rename): Allow one more errno.
36941         * tests/test-renameat.c (main): Likewise.
36942         * doc/posix-functions/rename.texi (rename): Document the bug.
36943
36944         open: detect FreeBSD bug
36945         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
36946         symlink.
36947         * doc/posix-functions/open.texi (open): Document the bug.
36948         * doc/posix-functions/utimes.texi (utimes): Likewise.
36949         * tests/test-open.h (test_open): Add parameters, and test symlink
36950         handling.
36951         * tests/test-open.c (main): Adjust caller.
36952         * tests/test-fcntl-safer.c (main): Likewise.
36953         * modules/open-tests (Depends-on): Add stdbool, symlink.
36954         * modules/fcntl-safer-tests (Depends-on): Likewise.
36955         * tests/test-openat.c (main): Add test-open tests.
36956
36957         stat: detect FreeBSD bug
36958         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
36959         symlink.
36960         * doc/posix-functions/stat.texi (stat): Document the bug.
36961         * tests/test-stat.h (test_stat_func): Add argument.
36962         * tests/test-stat.c (main): Adjust caller.
36963         * tests/test-fstatat.c (main): Likewise.
36964         * modules/stat-tests (Depends-on): Add stdbool, symlink.
36965         Reported by Jim Meyering.
36966
36967 2009-11-09  James Youngman  <jay@gnu.org>
36968
36969         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
36970         * lib/strftime.c: Correct placement of #include "ignore-value.h".
36971
36972 2009-11-08  Jim Meyering  <meyering@redhat.com>
36973
36974         utimens: remove invalid futimesat call
36975         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
36976         It used the file descriptor of the target file as the DIR_FD
36977         parameter and NULL as the file name.  That caused failure with
36978         errno == EFAULT on FreeBSD-8.0-rc2
36979
36980 2009-11-07  Eric Blake  <ebb9@byu.net>
36981
36982         fflush, freadseek: use fseeko, not fseek
36983         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36984         (clear_ungetc_buffer): Avoid potential problems on large files.
36985         * lib/freadseek.c (freadseek): Likewise.
36986         * modules/freadseek (Depends-on): Add fseeko.
36987         * modules/fseek (configure.ac): Set a witness.
36988         * tests/test-fflush.c (main): Use fseeko.
36989         * tests/test-fpurge.c (fseek): Disable link warning.
36990         * tests/test-freadable.c (fseek): Likewise.
36991         * tests/test-freading.c (fseek): Likewise.
36992         * tests/test-fseeko.c (fseek): Likewise.
36993         * tests/test-ftell.c (fseek): Likewise.
36994         * tests/test-ftello.c (fseek): Likewise.
36995         * tests/test-fwritable.c (fseek): Likewise.
36996         * tests/test-fwriting.c (fseek): Likewise.
36997
36998 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36999
37000         * modules/memchr (Depends-on): Drop getpagesize dependency.
37001
37002 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37003
37004         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37005         Reported by Ludovic Courtès.
37006         * build-aux/pmccabe2html: Improve example usage.
37007         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37008
37009 2009-11-06  Jim Meyering  <meyering@redhat.com>
37010
37011         do-release-commit-and-tag: New module.
37012         Automate the release-commit and tag process.
37013         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37014         * modules/do-release-commit-and-tag: New file.
37015         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37016
37017 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37018
37019         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37020         because test-select.c uses inet_pton.
37021
37022 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37023
37024         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37025         GETADDRINFO_LIB.  Bump serial number.
37026         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37027         Suggested by Eric Blake <ebb9@byu.net>.
37028
37029 2009-11-05  Eric Blake  <ebb9@byu.net>
37030
37031         strtod: detect darwin bug
37032         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37033         Reported by Leo Davis.
37034
37035         freopen-safer: new module
37036         * modules/freopen-safer: New module.
37037         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37038         * lib/freopen-safer.c (freopen_safer): New file.
37039         * lib/stdio-safer.h (freopen_safer): New declaration.
37040         * lib/stdio--.h (freopen): New override.
37041         * MODULES.html.sh (File stream based Input/Output): Mention it.
37042         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37043         freopen-safer module.
37044         * doc/posix-functions/stderr.texi (stderr): Likewise.
37045         * doc/posix-functions/stdin.texi (stdin): Likewise.
37046         * doc/posix-functions/stdout.texi (stdout): Likewise.
37047         * modules/freopen-safer-tests: New test.
37048         * tests/test-reopen-safer.c: New file.
37049
37050 2009-11-05  Jim Meyering  <meyering@redhat.com>
37051
37052         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37053         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37054
37055 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37056
37057         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37058
37059 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37060
37061         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37062
37063 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37064
37065         Fix link error.
37066         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37067         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37068
37069 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37070
37071         * tests/test-func.c: Also test value of __func__.
37072
37073 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37074
37075         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37076         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37077
37078 2009-11-05  Bruno Haible  <bruno@clisp.org>
37079
37080         Fix link error.
37081         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37082         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37083         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37084
37085 2009-11-05  Bruno Haible  <bruno@clisp.org>
37086
37087         Tests for module 'inet_pton'.
37088         * modules/inet_pton-tests: New file.
37089         * tests/test-inet_pton.c: New file.
37090
37091 2009-11-05  Bruno Haible  <bruno@clisp.org>
37092
37093         Tests for module 'inet_ntop'.
37094         * modules/inet_ntop-tests: New file.
37095         * tests/test-inet_ntop.c: New file.
37096
37097 2009-11-04  Eric Blake  <ebb9@byu.net>
37098
37099         stdlib-safer: wrap all mkstemp variants
37100         * modules/mkostemp (configure.ac): Set witness.
37101         * modules/mkostemps (configure.ac): Likewise.
37102         * modules/mkstemps (configure.ac): Likewise.
37103         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37104         (mkstemps_safer): Wrap more functions.
37105         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37106         wrapping.
37107         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37108         (mkstemps_safer): Implement the wrappers.
37109
37110         mkstemps, mkostemps: new modules
37111         * modules/mkostemps: New module.
37112         * modules/mkstemps: Likewise.
37113         * lib/mkostemps.c (mkostemps): New file.
37114         * lib/mkstemps.c (mkstemps): Likewise.
37115         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37116         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37118         * modules/stdlib (Makefile.am): Substitute them.
37119         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37120         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37121         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37122         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37123         * MODULES.html.sh (File system functions): Mention them.
37124
37125         tempname: resync from glibc
37126         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37127         same values for __GT_FILE as glibc.  Abort even when assertions
37128         are disabled.
37129         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37130         match its value otherwise.  Allow idempotent inclusion.
37131         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37132         * lib/mkostemp.c (mkostemp): Likewise.
37133         * lib/mkstemp.c (mkstemp): Likewise.
37134         * lib/tmpfile.c (tmpfile): Likewise.
37135         * NEWS: Document this.
37136
37137         utimens: fix use of futimens on older Linux
37138         * lib/utimens.c (fdutimens): Use updated, rather than original,
37139         timespec to avoid bug in older Linux kernel.
37140         Reported by Simon Josefsson.
37141
37142 2009-11-04  Bruno Haible  <bruno@clisp.org>
37143
37144         Make num_processors more flexible and consistent.
37145         * lib/nproc.h (enum nproc_query): New type.
37146         (num_processors): Add a 'query' argument.
37147         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37148         (num_processors): Add a 'query' argument. Test the value of the
37149         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37150         mingw, count the number of CPUs available for the current process.
37151         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37152         Check for sched_getaffinity and sched_getaffinity_np.
37153         * modules/nproc (Depends-on): Add c-ctype, extensions.
37154         * NEWS: Mention the change.
37155
37156 2009-11-03  Bruno Haible  <bruno@clisp.org>
37157
37158         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37159
37160 2009-11-03  Jim Meyering  <meyering@redhat.com>
37161
37162         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37163         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37164         if it is defined.
37165
37166 2009-11-02  Eric Blake  <ebb9@byu.net>
37167
37168         mktime, timegm: share common declaration
37169         * lib/mktime-internal.h: New file.
37170         * lib/mktime.c: Use it rather than open-coding a declaration.
37171         * lib/timegm.c: Likewise.
37172         * modules/mktime (Files): Ship it.
37173         * modules/timegm (Files): Likewise.
37174         Suggested by Bruno Haible.
37175
37176         test-update-copyright: update test to match script changes
37177         * tests/test-update-copyright.sh: Avoid hard-coding perl
37178         location.  Don't update *.bak created by earlier runs.
37179
37180 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37181             Simon Josefsson  <simon@josefsson.org>
37182             Bruno Haible  <bruno@clisp.org>
37183
37184         Fix link error on Solaris 8.
37185         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37186         also in libnsl. Define also INET_PTON_LIB.
37187         * modules/inet_pton (Link): New section.
37188
37189 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37190             Bruno Haible  <bruno@clisp.org>
37191
37192         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37193         * modules/inet_ntop (Link): New section.
37194         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37195
37196 2009-11-02  Eric Blake  <ebb9@byu.net>
37197
37198         maint: avoid compiler warnings in m4 macros
37199         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37200         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37201
37202 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37203
37204         * m4/pmccabe2html.m4: Remove file.
37205         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37206         function.  Change maintainer.
37207         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37208         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37209         Courtès).
37210
37211 2009-10-31  Eric Blake  <ebb9@byu.net>
37212
37213         fseeko: fix m4 regression
37214         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37215         regression from 2009-10-27.
37216         Reported by Ralf Wildenhues.
37217
37218 2009-10-31  Jim Meyering  <meyering@redhat.com>
37219
37220         inttostr: aesthetics and improved (compile-time) safety
37221         Define inttype_is_signed rather than inttype_is_unsigned,
37222         since the sole use is via "#if inttype_is_signed".
37223         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37224         inttype_is_unsigned.
37225         * lib/offtostr.c (inttype_is_signed): Likewise.
37226         * lib/uinttostr.c (inttype_is_signed): Likewise.
37227         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37228         * lib/inttostr.c (inttostr): Use verify to cross-check the
37229         inttype_is_signed value and the signedness of the actual type.
37230         * modules/inttostr (Depends-on): Add verify.
37231
37232 2009-10-30  Eric Blake  <ebb9@byu.net>
37233
37234         build: avoid compiler warnings
37235         * lib/fchmodat.c (lchmod): Mark unused variables.
37236         * lib/getopt.c (_getopt_initialize): Likewise.
37237         * lib/mktime.c (__mktime_internal): Provide prototype.
37238         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37239         older gcc that do not understand #pragma GCC diagnostic.
37240         * lib/uinttostr.c (inttype_is_unsigned): Define.
37241         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37242
37243 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37244
37245         stat: fix compilation on AIX
37246         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37247         only see struct stat64.
37248
37249 2009-10-30  Eric Blake  <ebb9@byu.net>
37250
37251         exclude: make more robust
37252         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37253         rather than masking a coding bug.
37254         Suggested by Bruno Haible.
37255
37256 2009-10-30  Jim Meyering  <meyering@redhat.com>
37257
37258         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37259         Rather than putting #!/usr/bin/perl on the first line,
37260         start with a variant of what's recommended by "man perlrun" that
37261         invokes the first "perl" program from your shell's search path.
37262         * build-aux/gitlog-to-changelog: Replace #!... as above.
37263         Add a "Local Variables" perl mode setting.
37264         Prompted by a patch from Ludovic Courtès.
37265         Improved by Eric Blake.
37266         * build-aux/useless-if-before-free: Likewise.
37267         * build-aux/announce-gen: Likewise.
37268         * build-aux/update-copyright: Likewise.
37269
37270 2009-10-29  Eric Blake  <ebb9@byu.net>
37271
37272         filenamecat-lgpl: adjust clients
37273         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37274         filenamecat.
37275         * modules/renameat (Depends-on): Likewise.
37276
37277         filenamecat: split into filenamecat-lgpl
37278         * modules/filenamecat-lgpl: New module.
37279         * modules/filenamecat (Files): Move library-safe files into
37280         filenamecat-lgpl.
37281         (Depends-on): Add filenamecat-lgpl.
37282         (configure.ac): Declare witness.
37283         * lib/filenamecat.h (file_name_concat): Only declare when using
37284         GPL module.
37285         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37286         Move...
37287         * lib/filenamecat-lgpl.c: ...into new file.
37288         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37289         (gl_FILE_NAME_CONCAT): Use it.
37290         * MODULES.html.sh (File system functions): Mention new module.
37291
37292         argp: avoid memory leak
37293         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37294         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37295         base_name, since the latter malloc()s and can call exit().
37296         Leak introduced 2006-07-03.
37297
37298         dirname-lgpl: adjust clients that don't need full dirname
37299         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37300         * modules/filenamecat (Depends-on): Likewise.
37301         * modules/linkat (Depends-on): Likewise.
37302         * modules/mkancesdirs (Depends-on): Likewise.
37303         * modules/mkdir (Depends-on): Likewise.
37304         * modules/openat (Depends-on): Likewise.
37305         * modules/savewd (Depends-on): Likewise.
37306         * modules/rename (Depends-on): Likewise.
37307         (License): Relax license.
37308         * modules/mkdir-tests (Depends-on): Drop progname.
37309         (Makefile.am): Delete unneeded LDADD.
37310         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37311
37312         dirname: split into dirname-lgpl
37313         * modules/dirname-lgpl: New module.
37314         * modules/dirname (Files): Move library-safe files into
37315         dirname-lgpl.
37316         (Depends-on): Add dirname-lgpl.
37317         (configure.ac): Declare witness.
37318         * modules/double-slash-root (License): Relax license.
37319         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37320         module.
37321         * lib/dirname.c (dir_len, mdir_name): Move...
37322         * lib/dirname-lgpl.c: ...into new file.
37323         * lib/basename.c (last_component, base_len): Move...
37324         * lib/basename-lgpl.c: ...into new file.
37325         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
37326         (gl_DIRNAME): Use it.
37327         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
37328         Mention new module.
37329         * modules/dirname-tests (Depends-on): Add progname.
37330         * tests/test-dirname.c (program_name): Delete.
37331
37332         mkdir: make safe for libraries
37333         * modules/mkdir (Depends-on): Drop xalloc.
37334         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37335         exit.
37336
37337         tests: avoid some compiler warnings
37338         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37339         literals.
37340         * tests/test-memchr.c (main): Avoid type mismatch.
37341         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37342         * tests/test-base64.c (main): Likewise.
37343         * tests/test-getdelim.c (main): Likewise.
37344         * tests/test-gethostname.c (main): Likewise.
37345         * tests/test-getline.c (main): Likewise.
37346         * tests/test-netinet_in.c (main): Likewise.
37347         * tests/test-select.c (open_server_socket, main): Likewise.
37348         * tests/test-select-stdin.c (main): Likewise.
37349         * tests/test-sockets.c (main): Likewise.
37350         * tests/test-strsignal.c (main): Likewise.
37351         * tests/test-sys_select.c (main): Likewise.
37352         * tests/test-sys_socket.c (main): Likewise.
37353         * tests/test-u64.c (main): Likewise.
37354         * tests/test-xfprintf-posix.c (main): Likewise.
37355         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
37356
37357         sockets: avoid compiler warning
37358         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
37359
37360         maint: detect usage(1) and other suspicious exits
37361         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
37362
37363 2009-10-29  Jim Meyering  <meyering@redhat.com>
37364
37365         timespec: long-to-int truncation could make timespec_cmp malfunction
37366         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
37367         a multiple of 2^32 nanoseconds as no difference.
37368
37369 2009-10-28  Jim Meyering  <meyering@redhat.com>
37370
37371         fprintftime: wrap macro code argument in "do {...} while(0)"
37372         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
37373         cpy macro must be a statement that can be followed by a semicolon.
37374         Now that the else clause contains a comment and is hence longer
37375         than one line, I require curly braces.  That in turn requires
37376         that we wrap this code block in the standard do...while(0).
37377
37378         fprintftime: remove stray semicolon from previous change
37379         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
37380
37381         fprintftime: avoid a warning about ignored fwrite return value
37382         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
37383         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
37384         that is unsafe.
37385         * modules/fprintftime (Depends-on): Add ignore-value.
37386
37387         exclude: avoid an unwarranted warning
37388         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
37389
37390 2009-10-27  Eric Blake  <ebb9@byu.net>
37391
37392         fseek: avoid compilation failure when fflush is replaced
37393         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
37394         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
37395         module is in use.
37396         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
37397         module is not in use; since REPLACE_FSEEK worked otherwise.
37398         (GNULIB_FTELLO): Likewise for ftell.
37399         Reported by Ian Beckwith and others.
37400
37401 2009-10-27  Bruno Haible  <bruno@clisp.org>
37402
37403         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
37404         Reported by Jim Meyering.
37405
37406 2009-10-27  Jim Meyering  <jim@meyering.net>
37407             Bruno Haible  <bruno@clisp.org>
37408
37409         Avoid warning despite dropping the return value of fwrite.
37410         * lib/unicodeio.c: Include ignore-value.h.
37411         (fwrite_success_callback): Explicitly ignore fwrite's return value.
37412         * modules/unicodeio (Depends-on): Add ignore-value.
37413
37414 2009-10-26  Eric Blake  <ebb9@byu.net>
37415
37416         areadlinkat: fix fallback path
37417         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
37418         pointer and zero.
37419
37420 2009-10-22  Pádraig Brady  <P@draigBrady.com>
37421
37422         Use a better IO block size for modern systems
37423         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
37424         * lib/md2.c: Likewise.
37425         * lib/md4.c: Likewise.
37426         * lib/md5.c: Likewise.
37427         * lib/sha1.c: Likewise.
37428         * lib/sha256.c: Likewise.
37429         * lib/sha512.c: Likewise.
37430
37431 2009-10-22  Eric Blake  <ebb9@byu.net>
37432
37433         tests: avoid several compiler warnings
37434         * tests/test-getcwd.c (main): Avoid buffer underflow.
37435         * tests/test-getdate.c (main): String literals are not safe with
37436         putenv, so use setenv.  Declare unused argument.
37437         * modules/getdate-tests (Depends-on): Add setenv.
37438         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
37439         problems with string literals in char *.
37440         * tests/test-hash.c (main): Avoid shadowing declaration.
37441         (insert_new): Treat string literals as char const *.
37442         * tests/test-getopt.h (test_getopt): Likewise.
37443         (getopt_loop): Alter types to minimize casting elsewhere.
37444         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
37445         (test_getopt_long_posix): Likewise.
37446         (do_getopt_long): Add wrapper to minimize casting.
37447         * tests/test-atexit.c (clear_temp_file): Use void.
37448         * tests/test-areadlink-with-size.c (main): Declare unused
37449         arguments.
37450         * tests/test-areadlink.c (main): Likewise.
37451         * tests/test-areadlinkat-with-size.c (main): Likewise.
37452         * tests/test-areadlinkat.c (main): Likewise.
37453         * tests/test-canonicalize-lgpl.c (main): Likewise.
37454         * tests/test-canonicalize.c (main): Likewise.
37455         * tests/test-dirent-safer.c (main): Likewise.
37456         * tests/test-dirname.c (main): Likewise.
37457         * tests/test-dup2.c (main): Likewise.
37458         * tests/test-fchdir.c (main): Likewise.
37459         * tests/test-fcntl-h.c (main): Likewise.
37460         * tests/test-fcntl-safer.c (main): Likewise.
37461         * tests/test-fdopendir.c (main): Likewise.
37462         * tests/test-fdutimensat.c (main): Likewise.
37463         * tests/test-fflush.c (main): Likewise.
37464         * tests/test-filenamecat.c (main): Likewise.
37465         * tests/test-filevercmp.c (main): Likewise.
37466         * tests/test-fopen-safer.c (main): Likewise.
37467         * tests/test-fopen.c (main): Likewise.
37468         * tests/test-fpending.c (main): Likewise.
37469         * tests/test-fpurge.c (main): Likewise.
37470         * tests/test-freading.c (main): Likewise.
37471         * tests/test-fstatat.c (main): Likewise.
37472         * tests/test-fsync.c (main): Likewise.
37473         * tests/test-futimens.c (main): Likewise.
37474         * tests/test-getndelim2.c (main): Likewise.
37475         * tests/test-gettimeofday.c (main): Likewise.
37476         * tests/test-getopt.c (main): Likewise.
37477         * tests/test-i-ring.c (main): Likewise.
37478         * tests/test-inttypes.c (main): Likewise.
37479         * tests/test-link.c (main): Likewise.
37480         * tests/test-lstat.c (main): Likewise.
37481         * tests/test-math.c (main): Likewise.
37482         * tests/test-md5.c (main): Likewise.
37483         * tests/test-memchr2.c (main): Likewise.
37484         * tests/test-memrchr.c (main): Likewise.
37485         * tests/test-mkdir.c (main): Likewise.
37486         * tests/test-mkdirat.c (main): Likewise.
37487         * tests/test-mkfifoat.c (main): Likewise.
37488         * tests/test-open.c (main): Likewise.
37489         * tests/test-openat-safer.c (main): Likewise.
37490         * tests/test-openat.c (main): Likewise.
37491         * tests/test-quotearg.c (main): Likewise.
37492         * tests/test-rawmemchr.c (main): Likewise.
37493         * tests/test-readlink.c (main): Likewise.
37494         * tests/test-remove.c (main): Likewise.
37495         * tests/test-rename.c (main): Likewise.
37496         * tests/test-renameat.c (main): Likewise.
37497         * tests/test-rmdir.c (main): Likewise.
37498         * tests/test-sha1.c (main): Likewise.
37499         * tests/test-signal.c (main): Likewise.
37500         * tests/test-sigaction.c (main): Likewise.
37501         * tests/test-stat.c (main): Likewise.
37502         * tests/test-stat-time.c (main): Likewise.
37503         * tests/test-stddef.c (main): Likewise.
37504         * tests/test-stdint.c (main): Likewise.
37505         * tests/test-stdio.c (main): Likewise.
37506         * tests/test-stdlib.c (main): Likewise.
37507         * tests/test-strchrnul.c (main): Likewise.
37508         * tests/test-strerror.c (main): Likewise.
37509         * tests/test-string.c (main): Likewise.
37510         * tests/test-strtod.c (main): Likewise.
37511         * tests/test-strverscmp.c (main): Likewise.
37512         * tests/test-symlink.c (main): Likewise.
37513         * tests/test-symlinkat.c (main): Likewise.
37514         * tests/test-sys_stat.c (main): Likewise.
37515         * tests/test-sys_time.c (main): Likewise.
37516         * tests/test-time.c (main): Likewise.
37517         * tests/test-unistd.c (main): Likewise.
37518         * tests/test-unlink.c (main): Likewise.
37519         * tests/test-unlinkat.c (main): Likewise.
37520         * tests/test-utimens.c (main): Likewise.
37521         * tests/test-utimensat.c (main): Likewise.
37522         * tests/test-version-etc.c (main): Likewise.
37523         * tests/test-wchar.c (main): Likewise.
37524         * tests/test-wctype.c (main): Likewise.
37525         * tests/test-xprintf-posix.c (main): Likewise.
37526         * tests/test-posixtm.c (main): Likewise.
37527         (STREQ): Delete unused macro.
37528         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
37529         shadowed variables.
37530         * tests/test-memchr.c (main): Likewise.
37531
37532 2009-10-21  Eric Blake  <ebb9@byu.net>
37533
37534         areadlinkat: avoid failure on older glibc
37535         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
37536         rather than mis-comparing 0 against FUNC_RESULT of char*.
37537
37538 2009-10-21  Bruno Haible  <bruno@clisp.org>
37539
37540         * modules/stpncpy (License): Relicense under LGPLv2+.
37541         Reported by David Lutterkort <lutter@redhat.com>.
37542
37543 2009-10-20  Eric Blake  <ebb9@byu.net>
37544
37545         utimensat: work around Solaris 9 bug
37546         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
37547         has trailing slash bugs.
37548         * tests/test-lutimens.h (test_lutimens): Enhance test.
37549         * tests/test-utimens.h (test_utimens): Likewise.
37550         * doc/posix-functions/utime.texi (utime): Enhance documentation.
37551         * doc/posix-functions/utimes.texi (utimes): Likewise.
37552         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37553         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
37554         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
37555         * doc/posix-functions/futimens.texi (futimens): Likewise.
37556
37557         fdutimensat: new module
37558         * modules/fdutimensat: New file.
37559         * lib/fdutimensat.c (fdutimensat): Likewise.
37560         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
37561         * MODULES.html.sh (File system functions): Mention module.
37562         * modules/fdutimensat-tests: New test.
37563         * tests/test-fdutimensat.c: Likewise.
37564
37565         doc: regenerate INSTALL
37566         * doc/INSTALL: Reflect recent autoconf update.
37567         * doc/INSTALL.ISO: Likewise.
37568         * doc/INSTALL.UTF-8: Likewise.
37569
37570 2009-10-20  Pádraig Brady  <P@draigBrady.com>
37571
37572         acl: warn if ACL support is not detected
37573         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
37574
37575 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
37576
37577         * lib/nproc.h: Add extern "C" block for C++.
37578
37579 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
37580             Bruno Haible  <bruno@clisp.org>
37581
37582         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
37583         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
37584         * doc/posix-functions/isalpha.texi: Likewise.
37585         * doc/posix-functions/isblank.texi: Likewise.
37586         * doc/posix-functions/iscntrl.texi: Likewise.
37587         * doc/posix-functions/isdigit.texi: Likewise.
37588         * doc/posix-functions/isgraph.texi: Likewise.
37589         * doc/posix-functions/islower.texi: Likewise.
37590         * doc/posix-functions/isprint.texi: Likewise.
37591         * doc/posix-functions/ispunct.texi: Likewise.
37592         * doc/posix-functions/isspace.texi: Likewise.
37593         * doc/posix-functions/isupper.texi: Likewise.
37594         * doc/posix-functions/isxdigit.texi: Likewise.
37595
37596 2009-10-18  Bruno Haible  <bruno@clisp.org>
37597
37598         Tests for module 'isblank'.
37599         * modules/isblank-tests: New file.
37600         * tests/test-isblank.c: New file.
37601
37602         New module 'isblank'.
37603         * lib/isblank.c: New file.
37604         * m4/isblank.m4: New file.
37605         * modules/isblank: New file.
37606         * doc/posix-functions/isblank.texi: Mention the new module.
37607
37608 2009-10-18  Bruno Haible  <bruno@clisp.org>
37609
37610         New module 'ctype'.
37611         * lib/ctype.in.h: New file.
37612         * m4/ctype.m4: New file.
37613         * modules/ctype: New file.
37614         * doc/posix-headers/ctype.texi: Mention the new module.
37615
37616 2009-10-18  Jim Meyering  <meyering@redhat.com>
37617
37618         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
37619         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
37620         right after its initialization, rather than farther down.
37621         Keeping these in close proximity makes it easier to ensure
37622         that each such variable is initialized.  E.g.,
37623
37624             LIB_CLOCK_GETTIME=
37625             AC_SUBST([LIB_CLOCK_GETTIME])
37626
37627         This change also increments these serial numbers.
37628         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
37629         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37630         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37631
37632 2009-10-18  Bruno Haible  <bruno@clisp.org>
37633
37634         Don't let environment variables perturb build.
37635         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
37636         (gl_PREREQ_GETHRXTIME): ... not here.
37637
37638 2009-10-18  Bruno Haible  <bruno@clisp.org>
37639
37640         Avoid symlink attack in localcharset module.
37641         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
37642         (O_NOFOLLOW): Define fallback.
37643         (get_charset_aliases): Don't open the file if it is a symbolic link.
37644         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
37645         gl_FCNTL_H.
37646         (gl_FCNTL_H): Require it.
37647         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
37648         * modules/localcharset (Files): Add m4/fcntl_h.m4.
37649         Reported by Fergal Glynn <fglynn@veracode.com>.
37650
37651 2009-10-18  Bruno Haible  <bruno@clisp.org>
37652
37653         Implement nproc for mingw.
37654         * lib/nproc.c: Include <windows.h>
37655         (num_processors): On native Windows platforms, try GetSystemInfo.
37656
37657 2009-10-18  Bruno Haible  <bruno@clisp.org>
37658
37659         Implement nproc for IRIX.
37660         * lib/nproc.c: Include <sys/sysmp.h>.
37661         (num_processors): On IRIX systems, try sysmp.
37662         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
37663
37664 2009-10-18  Bruno Haible  <bruno@clisp.org>
37665
37666         Implement nproc for HP-UX.
37667         * lib/nproc.c: Include <sys/pstat.h>
37668         (num_processors): On HP-UX systems, try pstat_getdynamic.
37669         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
37670         pstat_getdynamic.
37671
37672 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
37673             Bruno Haible  <bruno@clisp.org>
37674
37675         Implement nproc for NetBSD, OpenBSD.
37676         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
37677         (ARRAY_SIZE): New macro.
37678         (num_processors): On BSD systems, try sysctl of HW_NCPU.
37679         * m4/nproc.m4: New file.
37680         * modules/nproc (Files): Add m4/nproc.m4.
37681         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
37682         (Makefile.am): Instead, augment lib_SOURCES.
37683
37684 2009-10-18  Bruno Haible  <bruno@clisp.org>
37685
37686         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
37687         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
37688         sys/param.h.
37689
37690 2009-10-16  Eric Blake  <ebb9@byu.net>
37691
37692         utimensat: new module
37693         * modules/utimensat: New file.
37694         * lib/utimensat.c (utimensat): Likewise.
37695         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37696         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
37697         so we can work around Linux bugs.
37698         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37699         * modules/sys_stat (Makefile.am): Substitute them.
37700         * lib/sys_stat.in.h (utimensat): Declare it.
37701         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37702         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37703         * modules/utimensat-tests: New test.
37704         * tests/test-utimensat.c: Likewise.
37705
37706         utimens: let lutimens work on non-symlinks
37707         * lib/utimens.c (lutimens): Fall back to utimens rather than
37708         failing with ENOSYS, when file is not a symlink.
37709         (utimens): Reduce redirection.
37710         * tests/test-lutimens.h (test_lutimens): Update test to cover
37711         non-symlinks.
37712         * tests/test-utimens.h (test_utimens): Update test to cover
37713         symlinks.
37714         * tests/test-utimens.c (main): Update caller.
37715
37716         utimens: cache whether utimensat syscall works
37717         * lib/utimens.c (utimensat_works_really): New cache variable.
37718         (fdutimens, lutimens): Use it to avoid failing syscall.
37719
37720         test-stat-time, test-utimens: improve portability
37721         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
37722         ext4 on alpha, and for cygwin.
37723         * tests/test-utimens-common.h: New file.
37724         (nap): Factor delays into single function.
37725         * tests/test-lutimens.h (test_lutimens): Use new header.
37726         * tests/test-futimens.h (test_futimens): Likewise.
37727         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
37728         timestamps to occur from same machine, as was done previously for
37729         test_utimens.
37730         * modules/utimens-tests (Files): Ship new file.
37731         * modules/futimens-tests (Files): Likewise.
37732         Reported in part by Jim Meyering.
37733
37734         sys_stat: sort replacement declarations
37735         * lib/sys_stat.in.h: Sort declarations.
37736         * lib/futimens.c (futimens): Fix typo.
37737
37738 2009-10-15  Jim Meyering  <meyering@redhat.com>
37739
37740         don't let environment settings perturb build
37741         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
37742         could cause a configure-time and/or build-time malfunction.
37743         Typically, a configure-time function-in-library test is performed
37744         via code like this:
37745
37746           LIB_VAR=
37747           AC_SUBST([LIB_VAR])
37748           prefix_saved_LIBS=$LIBS
37749             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
37750                        [test "$ac_cv_search_FUNC" = "none required" ||
37751                         LIB_VAR=$ac_cv_search_FUNC])
37752           LIBS=$prefix_saved_LIBS
37753
37754         However, in each of the files affected by this change, the LIB_VAR=
37755         initialization was omitted.  Thus, when set in the environment, its
37756         value would propagate into generated Makefiles when FUNC is not found
37757         in LIB_NAME.
37758         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
37759         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37760         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37761
37762 2009-10-14  Eric Blake  <ebb9@byu.net>
37763
37764         fchdir: avoid infinite recursion in mingw
37765         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
37766         recursing.
37767
37768         test-stat-time: port to mingw
37769         * tests/test-stat-time.c (force_unlink): Return a value.
37770         (test_ctime) [W32]: Fix compilation error.
37771         (nap): Don't call usleep with too large an argument.  Use
37772         force_unlink.
37773         * doc/pastposix-functions/usleep.texi (usleep): Document the
37774         portability issue.
37775
37776 2009-10-13  Jim Meyering  <meyering@redhat.com>
37777
37778         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
37779         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
37780         * modules/pipe-filter-ii: Likewise.
37781         * modules/sys_socket-tests: Likewise.
37782         * modules/tsearch-tests: Likewise.
37783         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
37784         (check): Depend on it.
37785
37786 2009-10-12  Eric Blake  <ebb9@byu.net>
37787
37788         utimens-tests: port to NFS file systems
37789         * tests/test-utimens.h (test_utimens): Refactor utimecmp
37790         comparisons to avoid spurious failures from timestamp drift
37791         between NFS machines.
37792
37793 2009-10-12  Eric Blake  <ebb9@byu.net>
37794
37795         stat-time-tests: minor cleanups
37796         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
37797         * tests/test-stat-time.c (nap): Separate assignment from call.
37798         Suggested by Paolo Bonzini and Bruno Haible.
37799
37800         sys_stat: guarantee struct timespec
37801         * lib/sys_stat.in.h (includes): Always include <time.h>
37802         * modules/sys_stat (Depends-on): Add time.
37803         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
37804         mode_t permission values.
37805         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
37806         get at subsecond timestamps.
37807
37808 2009-10-10  Eric Blake  <ebb9@byu.net>
37809
37810         futimens: new module
37811         * modules/futimens: New file.
37812         * lib/futimens.c (futimens): Likewise.
37813         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
37814         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
37815         we can work around Linux bugs.
37816         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37817         * modules/sys_stat (Makefile.am): Substitute them.
37818         * lib/sys_stat.in.h (futimens): Declare it.
37819         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37820         * doc/posix-functions/futimens.texi (futimens): Likewise.
37821         * modules/futimens-tests: New test.
37822         * tests/test-futimens.c: Likewise.
37823
37824         utimens: introduce fdutimens
37825         * lib/utimens.h (fdutimens): New prototype.
37826         * lib/utimens.c (gl_futimens): Move guts...
37827         (fdutimens): ...to new interface.
37828         * tests/test-utimens.c (do_fdutimens): Use it.
37829
37830         utimens: add UTIME_NOW and UTIME_OMIT support
37831         * lib/utimens.c (validate_timespec, update_timespec): New helper
37832         functions.
37833         (gl_futimens, lutimens): Use them.
37834         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
37835         stdbool, sys_stat.
37836         (Link): Mention resulting library dependency.
37837         * modules/utimecmp (Link): Likewise.
37838         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
37839         (Makefile.am): Pick up library dependency.
37840         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
37841         definition.
37842         * tests/test-sys_stat.c: Test the definitions.
37843         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
37844         * NEWS: Document library dependency.
37845
37846         utimecmp: support symlink timestamps
37847         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
37848         hashing when possible.  Use pathconf when available.
37849         (SYSCALL_RESOLUTION): Recognize tighter resolution.
37850         * modules/utimecmp (Depends-on): Add lstat.
37851
37852         utimens: add lutimens interface
37853         * lib/utimens.c (lutimens): New function.
37854         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
37855         * lib/utimens.h (lutimens): Declare new interface.
37856         * tests/test-utimens.c (main): Enhance test.
37857         * tests/test-lutimens.h (test_lutimens): New file.
37858         * modules/utimens-tests (Files): Distribute it.
37859         (Depends-on): Add symlink.
37860         (configure.ac): Check for usleep.
37861
37862         utimens: validate futimens usage
37863         * lib/utimens.c (gl_futimens): Require valid fd up front, using
37864         fewer syscalls on failure later on.  Avoid compiler warning on
37865         mingw.
37866         * modules/utimens (Depends-on): Add dup2.
37867
37868         utimens: add test
37869         * modules/utimens-tests: New test.
37870         * tests/test-utimens.h: New file.
37871         * tests/test-futimens.h: Likewise.
37872         * tests/test-utimens.c: Likewise.
37873
37874         doc: mention timestamp portability issues
37875         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
37876         instead.
37877         * doc/posix-functions/utime.texi (utime): Likewise.
37878         * doc/posix-functions/utimes.texi (utimes): Likewise.
37879         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
37880         instead.
37881         * doc/posix-functions/futimens.texi (futimens): Mention utimens
37882         module.
37883         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37884         Mention weakness with symlink timestamps.
37885         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
37886         to utimensat/futimens instead.
37887         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
37888
37889         test-dup2: enhance test
37890         * tests/test-dup2.c (main): Also check AT_FDCWD.
37891
37892         test-stat-time: avoid more spurious failures
37893         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
37894         xfs; and avoid race if the two timestamps cross quantization edge.
37895
37896         relocatable: prefer 'file system' over 'filesystem'
37897         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
37898         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
37899         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
37900         * doc/relocatable.texi (Enabling Relocatability): Likewise.
37901         * lib/relocatable.c (compute_curr_prefix): Likewise.
37902
37903 2009-10-10  Jim Meyering  <meyering@redhat.com>
37904
37905         stat-time-tests: check for the usleep function
37906         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
37907
37908 2009-10-10  Bruno Haible  <bruno@clisp.org>
37909
37910         * modules/xnanosleep: Put the Link section after the Include section.
37911
37912 2009-10-09  Eric Blake  <ebb9@byu.net>
37913
37914         dup2: work around FreeBSD 6.1 bug
37915         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
37916         * doc/posix-functions/dup2.texi (dup2): Document it.
37917         Reported by Nelson H. F. Beebe and Jim Meyering.
37918
37919         test-stat-time: port to buggy NFS clients
37920         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
37921         (test_ctime): Also skip test if mtime and ctime are skewed.
37922
37923         maint: prefer 'file system' over 'filesystem'
37924         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37925         * doc/posix-functions/lstat.texi (lstat): Likewise.
37926         * lib/file-has-acl.c (file_has_acl): Likewise.
37927         * lib/fwriteerror.c [TEST]: Likewise.
37928         * tests/test-areadlink.h (test_areadlink): Likewise.
37929         * tests/test-areadlinkat-with-size.c (main): Likewise.
37930         * tests/test-areadlinkat.c (main): Likewise.
37931         * tests/test-canonicalize-lgpl.c (main): Likewise.
37932         * tests/test-canonicalize.c (main): Likewise.
37933         * tests/test-fstatat.c (main): Likewise.
37934         * tests/test-linkat.c (main): Likewise.
37935         * tests/test-lstat.h (test_lstat_func): Likewise.
37936         * tests/test-mkdir.h (test_mkdir): Likewise.
37937         * tests/test-readlink.h (test_readlink): Likewise.
37938         * tests/test-remove.c (main): Likewise.
37939         * tests/test-rename.h (test_rename): Likewise.
37940         * tests/test-renameat.c (main): Likewise.
37941         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37942         * tests/test-symlink.h (test_symlink): Likewise.
37943         * tests/test-symlinkat.c (main): Likewise.
37944         * tests/test-unlink.h (test_unlink_func): Likewise.
37945         * tests/test-unlinkat.c (main): Likewise.
37946
37947         maint: make realtime library usage explicit
37948         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
37949         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
37950         * modules/settime (Link): Likewise.
37951         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
37952
37953         test-stat-time: speed up execution
37954         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
37955         warning on mingw.
37956         (nap): New helper function.
37957         (prepare_test): Use it to reduce sleep time.
37958         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
37959         execution.
37960         * modules/stat-time-tests (configure.ac): Check for usleep.
37961
37962 2009-10-09  Jim Meyering  <meyering@redhat.com>
37963
37964         selinux-h: always use getfilecon wrappers
37965         * lib/getfilecon.c: New file.
37966         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
37967         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
37968         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
37969         (fgetfilecon): Provide a stub.
37970         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
37971         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
37972         file unconditionally.
37973         When <selinux/selinux.h> is found, arrange to use wrappers.
37974         * modules/selinux-h (Files): Add getfilecon.c.
37975         (Makefile.am): Substitute include-next-related bits
37976         into the now-always-generated selinux/selinux.h file.
37977         * doc/glibc-functions/lgetfilecon.texi: New file.
37978         * doc/glibc-functions/fgetfilecon.texi: New file.
37979         * doc/glibc-functions/getfilecon.texi: New file.
37980         * doc/glibc-functions/getfilecon-desc.texi: New file.
37981         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
37982         which to pull in the new files.
37983         * MODULES.html.sh (Misc): Add selinux-h.
37984
37985 2009-10-08  Jim Meyering  <meyering@redhat.com>
37986
37987         unistd: fix comment typo
37988         * lib/unistd.in.h (euidaccess): Fix a comment typo.
37989
37990 2009-10-08  Eric Blake  <ebb9@byu.net>
37991
37992         areadlink: use SIZE_MAX consistently
37993         * modules/areadlink (Depends-on): Add stdint.
37994         * modules/areadlink-with-size (Depends-on): Likewise.
37995         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
37996         gives NULL; drop sys/types, since unistd gives size_t; and add
37997         stdint for SIZE_MAX.
37998         (SIZE_MAX): Rely on headers.
37999         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38000         and add stdint.
38001         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38002         (SIZE_MAX): Likewise.
38003         (INITIAL_BUF_SIZE): Turn into enum.
38004         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38005
38006 2009-10-08  Jim Meyering  <meyering@redhat.com>
38007
38008         areadlinkat: avoid compilation failure
38009         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38010         Fix typo in comment.
38011
38012 2009-10-07  Eric Blake  <ebb9@byu.net>
38013
38014         areadlinkat-with-size: new module
38015         * modules/areadlinkat-with-size: New module.
38016         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38017         * lib/areadlink.h (areadlinkat): Declare it.
38018         * MODULES.html.sh (File system functions): Mention it.
38019         * modules/areadlinkat-with-size-tests: New test.
38020         * tests/test-areadlinkat-with-size.c: New file.
38021
38022         xreadlinkat: new module
38023         * modules/xreadlinkat: New module.
38024         * lib/xreadlinkat.c (xreadlinkat): New file.
38025         * lib/xreadlink.h (xreadlinkat): Declare it.
38026         * MODULES.html.sh (File system functions): Mention it.
38027
38028         areadlinkat: new module
38029         * lib/at-func.c (FUNC_FAIL): New define.
38030         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38031         * modules/areadlinkat: New module.
38032         * lib/linkat.c (areadlinkat): Move...
38033         * lib/areadlinkat.c (areadlinkat): ...to new file.
38034         * lib/areadlink.h (areadlinkat): Declare it.
38035         * modules/linkat (Depends-on): Add areadlinkat.
38036         * MODULES.html.sh (File system functions): Mention it.
38037         * modules/areadlinkat-tests: New test.
38038         * tests/test-areadlinkat.c: New file.
38039
38040         areadlink, areadlink-with-size: add tests
38041         * modules/areadlink-tests: New test.
38042         * modules/areadlink-with-size-tests: Likewise.
38043         * tests/test-areadlink.h: New file.
38044         * tests/test-areadlink.c: Likewise.
38045         * tests/test-areadlink-with-size.c: Likewise.
38046
38047         maint: minor cleanups
38048         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38049         _UNUSED_PARAMETER_ instead.
38050         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38051         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38052         * modules/linkat-tests (Files): Distribute test-link.h.
38053
38054         openat, utimens: whitespace cleanup
38055         * lib/openat.c: Prefer space throughout, rather than mix of 8
38056         spaces vs. tabs.
38057         * lib/at-func.c: Likewise.
38058         * lib/utimens.c: Likewise.
38059
38060         openat: avoid using wrong fd
38061         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38062         working directory chooses same fd.
38063         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38064
38065         mkdir, mkdirat: fix cygwin 1.5.x bug
38066         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38067         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38068         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38069         bug.
38070         (gl_PREREQ_MKDIR): Delete unused macro.
38071         * modules/mkdir (Files): Track file rename.
38072         (configure.ac): Update macro name.
38073         * modules/openat (Depends-on): Add mkdir.
38074         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38075
38076         mkdir, mkdirat: add tests
38077         * modules/mkdir-tests: New test.
38078         * tests/test-mkdir.h: New file.
38079         * tests/test-mkdir.c: Likewise.
38080         * tests/test-mkdirat.c: Likewise.
38081         * modules/openat-tests (Files): Add new files.
38082         (Makefile.am): Run new test.
38083
38084 2009-10-06  Eric Blake  <ebb9@byu.net>
38085
38086         doc: tweak *at function documentation
38087         * doc/posix-functions/faccessat.texi (faccessat): Mention
38088         known issue with replacement.
38089         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38090         * doc/posix-functions/linkat.texi (linkat): Likewise.
38091         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38092         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38093         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38094         * doc/posix-functions/renameat.texi (renameat): Likewise.
38095         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38096
38097         openat: fix GNU/Hurd bug in unlinkat
38098         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38099         broken.
38100         * doc/posix-functions/unlink.texi (unlink): Document this.
38101         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38102
38103         fdopendir: fix GNU/Hurd bug
38104         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38105         allowing non-directory fds.
38106         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38107         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38108         * modules/dirent (Makefile.am): Substitute it.
38109         * lib/dirent.in.h (fdopendir): Declare replacement.
38110         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38111         * tests/test-fdopendir.c (main): Test something other than
38112         /dev/null, since on Hurd that behaves like a directory.
38113
38114         test-symlink: port to GNU/Hurd
38115         * tests/test-symlink.h (test_symlink): Relax expected errno.
38116
38117         doc: tweak more cygwin information
38118         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38119         now compatible with glibc.
38120         * doc/posix-functions/getopt.texi (getopt): Likewise.
38121
38122         getopt-gnu: add another test
38123         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38124         guarantee behavior relied on by m4.
38125         * tests/test-getopt.c (main): Use it.
38126         * modules/getopt-posix-tests (Depends-on): Add setenv.
38127         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38128
38129         getopt: fix compilation on darwin
38130         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38131         include.
38132         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38133         Reported by Ludovic Courtès.
38134
38135 2009-10-06  Bruno Haible  <bruno@clisp.org>
38136
38137         * modules/size_max (Description): Discourage its use.
38138         Reported by Simon Josefsson.
38139
38140 2009-10-06  Jim Meyering  <meyering@redhat.com>
38141
38142         linkat: avoid compilation failure
38143         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38144
38145 2009-10-05  Eric Blake  <ebb9@byu.net>
38146
38147         linkat: support Linux 2.6.17
38148         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38149         linkat on Linux, but allow cache variable override.
38150         * lib/linkat.c (rpl_linkat): Define override.
38151         * modules/linkat (Depends-on): Add symlinkat.
38152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38153         * modules/unistd (Makefile.am): Substitute it.
38154         * lib/unistd.in.h (linkat): Declare replacement.
38155         Reported by Pádraig Brady.
38156
38157         quotearg: port test to systems with C.UTF-8 locale
38158         * tests/test-quotearg.c (struct result_strings): Add another
38159         member, differentiating between C.ASCII and C.UTF-8 handling.
38160         (compare_strings): Add parameter.
38161         (main): Adjust all callers.
38162
38163         getopt: avoid clash with FreeBSD _getopt_internal
38164         * lib/getopt.in.h (_getopt_internal): Override the name.
38165         * lib/getopt_int.h (includes): Pick up any overrides.
38166         Reported by Reuben Thomas.
38167
38168         hash: allow C89 compilation
38169         * lib/hash.c (check_tuning): Move declaration before statement.
38170         Reported by Reuben Thomas.
38171
38172 2009-10-05  Karl Berry  <karl@gnu.org>
38173
38174         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38175
38176 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38177             Bruno Haible  <bruno@clisp.org>
38178
38179         * lib/uname.c (uname): Use a table-driven algorithm to compute
38180         Windows NT versions.
38181
38182 2009-10-04  Bruno Haible  <bruno@clisp.org>
38183
38184         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38185         program_invocation_short_name.
38186         * modules/progname (configure.ac): Test for presence of
38187         program_invocation_short_name.
38188         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38189
38190 2009-10-04  Bruno Haible  <bruno@clisp.org>
38191
38192         * lib/progname.c (set_program_name): Fix comment.
38193         Reported by Jim Meyering.
38194
38195 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38196             Bruno Haible  <bruno@clisp.org>
38197
38198         * lib/uname.c: Include <string.h>.
38199         (uname): Do only one call to GetVersionEx in the common case.
38200
38201 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38202             Bruno Haible  <bruno@clisp.org>
38203
38204         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38205         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38206         (uname): Add support for Windows CE and various non-x86 CPU types.
38207
38208 2009-10-03  Bruno Haible  <bruno@clisp.org>
38209
38210         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38211         invocation to tests/configure.ac.
38212         Reported by Ian Beckwith <ianb@erislabs.net>.
38213
38214 2009-10-02  Eric Blake  <ebb9@byu.net>
38215
38216         fchdir: avoid compiler warning
38217         * lib/fchdir.c (canonicalize_file_name)
38218         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38219
38220         test-open: support mingw errno values
38221         * tests/test-open.h (test_open): Relax test.
38222         * tests/test-fopen.h (test_fopen): Likewise.
38223         * tests/test-openat-safer.c (main): Likewise.
38224
38225         open: fix opening directory on mingw
38226         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38227
38228         test-open: on GNU/Hurd, /dev/null is a directory
38229         * tests/test-fopen.h (main): Rename...
38230         (test_fopen): ...to this.  Use a guaranteed non-directory when
38231         confirming open behavior on trailing slash.
38232         * tests/test-openat-safer.c (main): Likewise.
38233         * tests/test-open.h (main): Likewise....
38234         (test_open): ...to this.
38235         * tests/test-fopen.c (main): Adjust caller.
38236         * tests/test-fopen-safer.c (main): Likewise.
38237         * tests/test-open.c (main): Likewise.
38238         * tests/test-fcntl-safer.c (main): Likewise.
38239         Reported by Samuel Thibault.
38240
38241         rename, fchdir: don't ignore chdir failure
38242         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38243         * lib/rename.c (rpl_rename) [W32]: Likewise.
38244         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38245         an empty destination directory if source cannot be renamed,
38246         although there is still possibility for failure.
38247         * doc/posix-functions/rename.texi (rename): Document the race.
38248         Reported by Jim Meyering.
38249
38250         maint: cleanup whitespace in recent commits
38251         * lib/rename.c (rpl_rename): Remove tabs.
38252         * tests/test-link.h (test_link): Likewise.
38253         * lib/fchdir.c (get_name): Likewise.
38254         Reported by Jim Meyering.
38255
38256 2009-10-02  Ben Pfaff  <blp@gnu.org>
38257
38258         relocatable-prog-wrapper: Add missing dependency on
38259         double-slash-root.
38260         * modules/relocatable-prog-wrapper: Add dependency.
38261         Reported by Ian Beckwith <ianb@erislabs.net>.
38262
38263 2009-10-02  Eric Blake  <ebb9@byu.net>
38264
38265         renameat: fix Solaris bugs
38266         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38267         needed fixing.
38268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38269         * modules/stdio (Makefile.am): Substitute it.
38270         * lib/stdio.in.h (renameat): Declare replacement.
38271         * lib/renameat.c (rpl_renameat): Implement fix.
38272
38273         renameat: new module
38274         * modules/renameat: New file.
38275         * lib/renameat.c (renameat): Likewise.
38276         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38277         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38278         * modules/stdio (Makefile.am): Substitute them.
38279         * lib/stdio.in.h (renameat): Declare it.
38280         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38281         * doc/posix-functions/renameat.texi (renameat): Likewise.
38282         * modules/renameat-tests: New test.
38283         * tests/test-renameat.c: Likewise.
38284
38285         rename: fix mingw bugs
38286         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38287         directory overwrite bugs.
38288
38289         rename: fix another cygwin 1.5 bug
38290         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38291         checks.
38292         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38293         unnecessary cygwin workarounds.  Also work around bug with moving
38294         full directory onto an empty one.
38295         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38296
38297         rename-dest-slash: merge into rename module
38298         * modules/rename-dest-slash (Status): Mark obsolete.
38299         (Depends-on): Add rename.
38300         (Files): Let rename do it all.
38301         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38302         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38303         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38304         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38305         * lib/rename.c (rpl_rename): Update comments.
38306
38307         rename: fix cygwin 1.5.x bugs
38308         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38309         * lib/rename.c (rpl_rename): Work around them.
38310         * modules/rename (Depends-on): Add same-inode.
38311
38312         rename: fix Solaris 10 bug
38313         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38314         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38315         was the only bug.
38316
38317         rename: fix Solaris 9 bug
38318         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38319         on non-directory.  Avoid calling exit.
38320         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
38321         strdup.
38322         * modules/rename-tests (Depends-on): Drop lstat.
38323         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38324         (gl_PREREQ_RENAME): Delete unused macro.
38325
38326         rename-dest-slash: fix NetBSD bug
38327         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
38328         links.
38329         * modules/rename-dest-slash (Depends-on): Add same-inode.
38330
38331         rename-tests: new test, exposes several platform bugs
38332         * modules/rename-tests: New file.
38333         * tests/test-rename.h: Likewise.
38334         * tests/test-rename.c: Likewise.
38335         * doc/posix-functions/rename.texi (rename): Improve documentation,
38336         including bugs that will eventually be fixed in gnulib.
38337
38338 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38339
38340         * lib/uname.c: Include <stdlib.h>
38341         (uname): Assume version info is available.
38342
38343 2009-10-02  Jim Meyering  <meyering@redhat.com>
38344
38345         gnu-web-doc-update: correct --help output
38346         * build-aux/gnu-web-doc-update: Make --help output relevant.
38347
38348         gnu-web-doc-update: add standard options
38349         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38350
38351         gnu-web-doc-update: New module.
38352         Use this script to automatically update the on-line web documentation
38353         for your GNU project at http://www.gnu.org/software/$pkg/manual/
38354         * modules/gnu-web-doc-update: New file, from coreutils.
38355         * build-aux/gnu-web-doc-update: New script.
38356
38357 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
38358
38359         link: LoadLibrary is not needed.
38360         * lib/link.c: Use GetModuleHandle.
38361
38362 2009-10-01  Eric Blake  <ebb9@byu.net>
38363
38364         getopt: bump serial number
38365         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
38366         change.
38367
38368         tests: tighten link, rmdir, and remove tests
38369         * tests/test-link.h (includes): No need to use <config.h> here.
38370         Clean up if directory hard link was created, otherwise test for
38371         trailing '.'.
38372         * tests/test-linkat.c (main): Simplify.
38373         * tests/test-remove.c (main): Enhance test for trailing '.'.
38374         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38375
38376 2009-10-01  Jim Meyering  <meyering@redhat.com>
38377
38378         maint.mk: requiring "make major" was annoying, for a "minor" release.
38379         What is intended is "stable", to contrast with alpha and beta,
38380         so require "make stable", not "make major".
38381         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
38382         (get_tool_versions): Likewise.
38383         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
38384
38385 2009-09-30  Ben Pfaff  <blp@gnu.org>
38386
38387         Fix broken build of replacement for Windows tmpfile().
38388         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
38389         flags argument added along with the 'mkostemp' module.
38390
38391 2009-09-28  Bruno Haible  <bruno@clisp.org>
38392
38393         Avoid identifier clash with POSIX function 'remove' defined as a macro.
38394         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
38395         to 'remove_elt'.
38396         (gl_list_remove): Update.
38397         * lib/gl_list.c (gl_list_remove): Update.
38398         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
38399         to 'remove_elt'.
38400         (gl_oset_remove): Update.
38401         * lib/gl_list.c (gl_oset_remove): Update.
38402         Reported by Eric Blake.
38403
38404 2009-09-28  Eric Blake  <ebb9@byu.net>
38405
38406         doc: mention yet more cygwin 1.7 status
38407         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
38408         cygwin.
38409         * doc/glibc-functions/execvpe.texi (execvpe): New file.
38410         * doc/gnulib.texi (Glibc unistd.h): Mention it.
38411
38412         argp: fix test failure
38413         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
38414         that are not upper-case.  Pass correct range to tolower.
38415
38416 2009-09-27  Jim Meyering  <meyering@redhat.com>
38417
38418         test-yesno: work around sparc-dash here-document infelicity
38419         Without this change, the literal \177 byte in a here document
38420         would make dash 0.5.5.1-3 access uninitialized memory.
38421         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
38422         Instead, use a marker, "@", and filter through tr to create the desired
38423         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
38424
38425 2009-09-27  Bruno Haible  <bruno@clisp.org>
38426
38427         Disable untested support for new flavours of ACLs on AIX.
38428         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
38429         progress.
38430         * lib/set-mode-acl.c (qset_acl): Likewise.
38431
38432 2008-12-07  Bruno Haible  <bruno@clisp.org>
38433
38434         Add support for new flavours of ACLs on AIX. (Untested.)
38435         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
38436         (file_has_acl): Add support for newer AIX.
38437         * lib/set-mode-acl.c (qset_acl): Likewise.
38438         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
38439         Rainer Tammer <tammer@tammer.net>.
38440
38441 2009-09-26  Eric Blake  <ebb9@byu.net>
38442
38443         argp: fix compilation of getopt
38444         * lib/getopt.in.h (includes): Use different guard than glibc.
38445         Reported by Sergey Poznyakoff.
38446
38447         doc: mention more cygwin 1.7 status
38448         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
38449         bug.
38450         * doc/posix-functions/execl.texi (execl): Likewise.
38451         * doc/posix-functions/execle.texi (execle): Likewise.
38452         * doc/posix-functions/execlp.texi (execlp): Likewise.
38453         * doc/posix-functions/execv.texi (execv): Likewise.
38454         * doc/posix-functions/execve.texi (execve): Likewise.
38455         * doc/posix-functions/execvp.texi (execvp): Likewise.
38456         * doc/glibc-functions/canonicalize_file_name.texi
38457         (canonicalize_file_name): Cygwin 1.7 now provides this.
38458         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
38459         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
38460         on AT_SYMLINK_NOFOLLOW.
38461
38462 2009-09-24  Eric Blake  <ebb9@byu.net>
38463
38464         test-linkat: make test more robust
38465         * tests/test-linkat.c (main): Avoid collision with EEXIST.
38466
38467         getopt: fix inclusion guards for cygwin
38468         * modules/getopt-posix (Depends-on): Add include-next.
38469         (Makefile.am): Substitute more items in replacement header.
38470         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
38471         <getopt.h>.
38472         * lib/getopt.in.h (includes): Use split inclusion guard, and
38473         prefer <getopt.h> over include <unistd.h> when one is present.
38474         (option): Also override name of 'struct option'.
38475
38476         same-inode: revert prior change; it is not yet ready
38477         * NEWS: Undo mention of this change.
38478         * lib/same-inode.h (same-inode.h): Undo tri-state change.
38479         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38480         * lib/cycle-check.c (cycle_check): Likewise.
38481         * lib/same.c (same_name): Likewise.
38482         * lib/at-func2.c (at_func2): Likewise.
38483
38484 2009-09-23  Eric Blake  <ebb9@byu.net>
38485
38486         linkat: new module
38487         * modules/linkat: New file.
38488         * lib/at-func2.c (at_func2): Likewise.
38489         * lib/linkat.c (linkat): Likewise.
38490         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
38491         * lib/openat-priv.h (at_func2): Add declaration.
38492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38493         * modules/unistd (Makefile.am): Substitute them.
38494         * lib/unistd.in.h (linkat): Declare it.
38495         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38496         * doc/posix-functions/linkat.texi (linkat): Likewise.
38497         * doc/posix-functions/link.texi (link): Tweak wording.
38498         * tests/test-link.c (main): Move guts...
38499         * tests/test-link.h (test_link): ...into new file.
38500         * modules/linkat-tests: New test.
38501         * tests/test-linkat.c: Likewise.
38502         * modules/link-tests (Files): Ship new file.
38503         (Depends-on): Add stdbool.
38504
38505         dirname: add library-safe mdir_name
38506         * lib/dirname.h (mdir_name): New prototype.
38507         * lib/dirname.c (dir_name): Move guts...
38508         (mdir_name): ...to new function that avoids xalloc_die.
38509
38510         fchdir: another mingw fix
38511         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
38512         * lib/fchdir.c (get_name): New helper method; skips canonicalize
38513         on mingw (where it has not yet been ported), and make it optional
38514         elsewhere.
38515         (_gl_register_fd): Use it.
38516
38517         same-inode: make SAME_INODE tri-state, to port to mingw
38518         * NEWS: Mention this change.
38519         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
38520         st_ino always being 0.
38521         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38522         * lib/cycle-check.c (cycle_check): Likewise.
38523         * lib/same.c (same_name): Likewise.
38524
38525         lstat: avoid mingw compilation error
38526         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
38527         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
38528         lstat ourselves.
38529         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
38530         was adequate.
38531         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
38532         the checks for lstat.
38533         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
38534
38535         link: fix test failure on Solaris 9
38536         * lib/link.c (rpl_link): Don't assume link will catch bogus
38537         trailing slash on source.
38538
38539         test-symlinkat: enhance test
38540         * tests/test-readlink.c (main): Move guts...
38541         * tests/test-readlink.h (test_readlink): ...into new file.
38542         * tests/test-symlink.c (main): Move guts...
38543         * tests/test-symlink.h (test_symlink): ...into new file.
38544         * tests/test-symlinkat.c (main): Use new files for further
38545         coverage.
38546         (do_symlink, do_readlink): New helper functions.
38547         * modules/symlink-tests (Files): Ship new file.
38548         (Depends-on): Add stdbool.
38549         * modules/readlink-tests (Files): Ship new file.
38550         (Depends-on): Add stdbool.
38551         * modules/symlinkat-tests (Files): Use new files.
38552
38553 2009-09-23  Eric Blake  <ebb9@byu.net>
38554
38555         readlink: document portability issue with symlink length
38556         * doc/posix-functions/lstat.texi (lstat): Mention that some file
38557         systems have bogus st_size on symlinks, and mention the
38558         areadlink-with-size module.
38559         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38560         * doc/posix-functions/readlink.texi (readlink): Mention the
38561         areadlink module, and ERANGE failure.
38562         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38563         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
38564
38565         readlink: fix Solaris 9 bug with trailing slash
38566         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
38567         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
38568         * doc/posix-functions/readlink.texi (readlink): Document this.
38569         * modules/readlink-tests: New test.
38570         * tests/test-readlink.c: Likewise.
38571
38572         readlink: fix cygwin 1.5.x bug with return type
38573         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
38574         * lib/unistd.in.h (readlink): Use ssize_t.
38575         * lib/readlink.c (readlink): Likewise.
38576         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38577         * modules/unistd (Makefile.am): Substitute it.
38578         * lib/unistd.in.h (readlink): Declare replacement.
38579         * doc/posix-functions/readlink.texi (readlink): Document this.
38580
38581         symlink: use throughout gnulib
38582         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
38583         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
38584         symlink is not used.
38585         * modules/symlinkat (Depends-on): Add symlink.
38586         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38587         * modules/canonicalize-tests (Depends-on): Likewise.
38588         * modules/lstat-tests (Depends-on): Likewise.
38589         * modules/openat-tests (Depends-on): Likewise.
38590         * modules/remove-tests (Depends-on): Likewise.
38591         * modules/rmdir-tests (Depends-on): Likewise.
38592         * modules/unlink-tests (Depends-on): Likewise.
38593         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
38594         * tests/test-canonicalize.c (symlink): Likewise.
38595         * tests/test-fstatat.c (symlink): Likewise.
38596         * tests/test-lstat.c (symlink): Likewise.
38597         * tests/test-remove.c (symlink): Likewise.
38598         * tests/test-rmdir.c (symlink): Likewise.
38599         * tests/test-unlink.c (symlink): Likewise.
38600         * tests/test-unlinkat.c (symlink): Likewise.
38601
38602         symlink: new module, for Solaris 9 bug
38603         * modules/symlink: New file.
38604         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
38605         * lib/symlink.c: Likewise.
38606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38607         * modules/unistd (Makefile.am): Substitute them.
38608         * lib/unistd.in.h (symlink): Declare replacement.
38609         * MODULES.html.sh (File system functions): Mention it.
38610         * doc/posix-functions/symlink.texi (symlink): Likewise.
38611         * modules/symlink-tests: New test.
38612         * tests/test-symlink.c: Likewise.
38613
38614 2009-09-23  Bruno Haible  <bruno@clisp.org>
38615
38616         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
38617         when needed.
38618         Test case: gnulib-tool --import --with-tests atexit inttypes.
38619         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
38620
38621 2009-09-23  Bruno Haible  <bruno@clisp.org>
38622
38623         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
38624         subcommand, not in a subshell.
38625
38626 2009-09-22  Eric Blake  <ebb9@byu.net>
38627
38628         unistd: sort replacement declarations
38629         * lib/unistd.in.h: Sort declarations.
38630
38631         open, openat: minor optimization
38632         * lib/open.c (open): If open succeeded, len is non-zero.
38633         * lib/openat.c (rpl_openat): Likewise.
38634
38635         link-follow: ensure correct result
38636         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
38637         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
38638         distinguish between possible failures.
38639
38640 2009-09-21  Eric Blake  <ebb9@byu.net>
38641
38642         fts: avoid compiler warning
38643         * lib/fts.c (dirent_inode_sort_may_be_useful)
38644         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
38645
38646 2009-09-19  Bruno Haible  <bruno@clisp.org>
38647
38648         * lib/progreloc.c (canonicalize_file_name): New declaration.
38649
38650 2009-09-19  Eric Blake  <ebb9@byu.net>
38651
38652         link: fix quoting
38653         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
38654
38655         openat: fix openat bugs on Solaris 9
38656         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
38657         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
38658         * modules/openat (Depends-on): Add open.
38659         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
38660         * modules/fcntl-h (Makefile.am): Substitute it.
38661         * lib/fcntl.in.h (openat): Declare replacement.
38662         * doc/posix-functions/openat.texi (openat): Document this.
38663
38664         openat: move fstatat and unlinkat into correct files
38665         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
38666         compiled.
38667         * lib/openat.c (fstatat, unlinkat): Move...
38668         * lib/fstatat.c (fstatat): ...into correct files.
38669         * lib/unlinkat.c (unlinkat): Likewise.
38670
38671         openat: fix unlinkat bugs on Solaris 9
38672         * lib/unlinkat.c (unlinkat): New file.
38673         * modules/openat (Depends-on): Add unlink.
38674         (Files): Distribute it.
38675         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
38676         trailing slash behavior is broken.
38677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38678         * modules/unistd (Makefile.am): Substitute it.
38679         * lib/unistd.in.h (unlinkat): Declare replacement.
38680         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
38681
38682         openat: fix fstatat bugs on Solaris 9
38683         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
38684         stat.
38685         * doc/posix-functions/fstatat.texi (fstatat): Document this.
38686
38687         test-unlinkat: enhance test, to expose Solaris 9 bug
38688         * tests/test-unlink.c (main): Factor guts...
38689         * tests/test-unlink.h (test_rmdir_func): ...into new file.
38690         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
38691         * tests/test-rmdir.c (main): Adjust caller.
38692         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
38693         (unlinker): New helper function.
38694         (rmdirat): Enhance check.
38695         * modules/rmdir-tests (Depends-on): Add stdbool.
38696         * modules/unlink-tests (Depends-on): Likewise.
38697         (Files): Add test-unlink.h.
38698         * modules/openat-tests (Files): Likewise.
38699         (Depends-on): Add unlinkdir.
38700
38701         test-fstatat: new test, to expose Solaris 9 bugs
38702         * tests/test-stat.c (main): Factor guts...
38703         * tests/test-stat.h (test_stat_func): ...into new file.
38704         * tests/test-lstat.c (main): Factor guts...
38705         * tests/test-lstat.h (test_lstat_func): ...into new file.
38706         * tests/test-fstatat.c: New file.
38707         * modules/stat-tests (Files): Add test-stat.h.
38708         * modules/lstat-tests (Files): Add test-lstat.h.
38709         (Depends-on): Add stdbool.
38710         * modules/openat-tests (Depends-on): Add pathmax.
38711         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
38712         (Makefile.am): Run new test.
38713
38714         remove: new module, for mingw and Solaris 9 bugs
38715         * modules/remove: New file.
38716         * lib/remove.c: Likewise.
38717         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
38718         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38719         * modules/stdio (Makefile.am): Use them.
38720         * lib/stdio.in.h (remove): Declare replacement.
38721         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38722         * doc/posix-functions/remove.texi (remove): Likewise.
38723         * modules/remove-tests: New test.
38724         * tests/test-remove.c: Likewise.
38725
38726         unlink: new module, for Solaris 9 bug
38727         * modules/unlink: New file.
38728         * lib/unlink.c: Likewise.
38729         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
38730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38731         * modules/unistd (Makefile.am): Use them.
38732         * lib/unistd.in.h (stat): Declare replacement.
38733         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38734         * doc/posix-functions/unlink.texi (unlink): Likewise.
38735         * modules/unlink-tests: New test.
38736         * tests/test-unlink.c: Likewise.
38737
38738         lstat: fix Solaris 9 bug
38739         * lib/lstat.c (lstat): Also check for trailing slash on
38740         non-symlink, non-directories.  Use stat module to simplify logic.
38741         * doc/posix-functions/lstat.texi (lstat): Document it.
38742         * modules/lstat-tests (Depends-on): Add errno, same-inode.
38743         (configure.ac): Check for symlink.
38744         * tests/test-lstat.c (main): Add more tests.
38745
38746         stat: add as dependency to other modules
38747         * modules/chown (Depends-on): Add stat.
38748         * modules/euidaccess (Depends-on): Likewise.
38749         * modules/fchdir (Depends-on): Likewise.
38750         * modules/isdir (Depends-on): Likewise.
38751         * modules/link (Depends-on): Likewise.
38752         * modules/lstat (Depends-on): Likewise.
38753         * modules/mkdir-p (Depends-on): Likewise.
38754         * modules/modechange (Depends-on): Likewise.
38755         * modules/open (Depends-on): Likewise.
38756         * modules/readlink (Depends-on): Likewise.
38757         * modules/same (Depends-on): Likewise.
38758
38759         stat: fix Solaris 9 bug
38760         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
38761         slash.
38762         * lib/stat.c (rpl_stat): Work around it.
38763         * doc/posix-functions/stat.texi (stat): Update documentation.
38764
38765         stat: new module, for mingw bug
38766         * modules/stat: New file.
38767         * lib/stat.c: Likewise.
38768         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38769         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38770         * modules/sys_stat (Makefile.am): Use them.
38771         * lib/sys_stat.in.h (stat): Declare replacement.
38772         * lib/openat.c (fstatat): Deal with lstat and stat being function
38773         macros.
38774         * modules/openat (Depends-on): Add inline.
38775         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38776         * doc/posix-functions/stat.texi (stat): Likewise.
38777         * modules/stat-tests: New test.
38778         * tests/test-stat.c: Likewise.
38779
38780 2009-09-19  Jim Meyering  <meyering@redhat.com>
38781
38782         syntax-check: detect unnecessary inclusion of canonicalize.h
38783         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
38784
38785 2009-09-19  Eric Blake  <ebb9@byu.net>
38786
38787         canonicalize-lgpl: adjust clients to use correct header
38788         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38789         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
38790         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
38791         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
38792         * lib/progreloc.c (includes): Likewise.
38793
38794 2009-09-19  Jim Meyering  <meyering@redhat.com>
38795
38796         test-posixtm.c: correct a comment
38797         * tests/test-posixtm.c: Correct first-line comment.
38798         Spotted by Eric Blake.
38799
38800 2009-09-16  Jim Meyering  <meyering@redhat.com>
38801
38802         posixtm-tests: make T const-correct; add a test case
38803         * tests/test-posixtm.c (T): Declare const.
38804         Add a test for -(2^31+1).
38805         Remove useless can-succeed-only-in-2002 test.
38806
38807         posixtm-tests: adjust the sole failing test
38808         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
38809         expected output matches what mktime now produces.  Cross-checked via
38810         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
38811
38812         posixtm: move #ifdef'd tests into a new module
38813         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
38814         * tests/test-posixtm.c: ... this new file.
38815         * modules/posixtm-tests: New module.
38816
38817 2009-09-19  Eric Blake  <ebb9@byu.net>
38818
38819         openat: simplify use of at-func.c
38820         * lib/at-func.c (includes): Include prerequisites here, to
38821         simplify requirements on client files.
38822         * lib/openat-priv.h: Add double-inclusion guard.
38823         * lib/faccessat.c (includes): Simplify.
38824         * lib/fchmodat.c (includes): Likewise.
38825         * lib/fchownat.c (includes): Likewise.
38826         * lib/mkdirat.c (includes): Likewise.
38827         * lib/mkfifoat.c (includes): Likewise.
38828         * lib/symlinkat.c (includes): Likewise.
38829
38830         openat: allow return of fd 0
38831         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
38832         * modules/save-cwd (Depends-on): Replace fcntl-safer with
38833         unistd-safer.
38834         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
38835         <fcntl.h>; this module does not leak fds.
38836         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
38837         must be allowed to return 0, leaving openat_safer to add the
38838         safety.
38839         (openat_permissive): Avoid writing to just-opened fd 2 if
38840         restoring the current directory fails.
38841         * lib/openat-die.c (openat_restore_fail): Add comment.
38842         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
38843         (save_cwd): Guarantee safe fd, but without use of open_safer.
38844         * tests/test-openat.c: New test.
38845         * modules/openat-tests (Files, Makefile.am): Distribute and build
38846         new file.
38847
38848         relocatable-prog-wrapper: fix build
38849         * modules/relocatable-prog-wrapper (Files): Update name of
38850         canonicalize m4 file, broken on 2009-09-17.
38851         Reported by emad hajjar <aleppos@hotmail.com>.
38852
38853 2009-09-19  Bruno Haible  <bruno@clisp.org>
38854
38855         * lib/safe-alloc.h: Use the standard header with GPL copyright.
38856         * lib/safe-alloc.c: Likewise.
38857         Reported by Ian Beckwith <ianb@erislabs.net>.
38858
38859 2009-09-18  Bruno Haible  <bruno@clisp.org>
38860
38861         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
38862         Reported by <erobles@sensacd.com.mx>.
38863
38864 2009-09-17  Eric Blake  <ebb9@byu.net>
38865
38866         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
38867         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
38868         slashes when checking if last component is missing.
38869         * tests/test-canonicalize.c (main): Test this.
38870
38871         canonicalize, canonicalize-lgpl: honor // if distinct from /
38872         * modules/canonicalize (Files): Add double-slash-root.m4.
38873         * modules/canonicalize-lgpl (Files): Likewise.
38874         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38875         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
38876         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
38877         fallback definition.
38878         (canonicalize_filename_mode): Use it to protect //.
38879         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
38880         (__realpath): Likewise.
38881         * tests/test-canonicalize.c (main): Test this.
38882         * tests/test-canonicalize-lgpl.c (main): Likewise.
38883         * modules/canonicalize-tests (Depends-on): Add same-inode.
38884         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38885
38886         canonicalize-lgpl: fix glibc bug with trailing slash
38887         * m4/canonicalize-lgpl.m4: Move contents...
38888         * m4/canonicalize.m4: ...here.
38889         (gl_CANONICALIZE_LGPL): Factor realpath check...
38890         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
38891         glibc 2.3.5 bug, fixed 2005-04-27.
38892         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
38893         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
38894         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
38895         * modules/canonicalize-lgpl (Files): Manage file rename.
38896         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38897         * modules/stdlib (Makefile.am): Substitute witness.
38898         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
38899         is needed.
38900         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
38901         replacement is required.
38902         * lib/canonicalize.c (canonicalize_file_name): Likewise.
38903         * doc/glibc-functions/canonicalize_file_name.texi
38904         (canonicalize_file_name): Document this.
38905         * doc/posix-functions/realpath.texi (realpath): Likewise.
38906
38907         canonicalize-lgpl: reject non-directory with trailing slash
38908         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
38909         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
38910         catches failures in glibc 2.3.5.
38911         * tests/test-canonicalize.c (main): Likewise.
38912
38913         canonicalize-lgpl: use native realpath if it works
38914         * lib/canonicalize-lgpl.c (realpath): Guard with
38915         FUNC_REALPATH_WORKS.
38916         * lib/stdlib.in.h (realpath): Make declaration optional based on
38917         HAVE_REALPATH.
38918         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
38919         native realpath works.
38920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38921         * modules/stdlib (Makefile.am): Substitute witness.
38922
38923         canonicalize, canonicalize-lgpl: use <stdlib.h>
38924         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
38925         (Include): Mention <stdlib.h>.
38926         (configure.ac): Mention functions we provide.
38927         * modules/canonicalize (configure.ac): Likewise.
38928         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
38929         realpath if canonicalize_file_name is missing.
38930         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
38931         * modules/stdlib (Makefile.am): Substitute witnesses.
38932         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
38933         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
38934         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
38935         * NEWS: Document this.
38936         * doc/glibc-functions/canonicalize_file_name.texi
38937         (canonicalize_file_name): Likewise.
38938         * doc/posix-functions/realpath.texi (realpath): Likewise.
38939         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
38940
38941         test-canonicalize: consolidate into single C program
38942         * tests/test-canonicalize.sh: Delete; move setup into...
38943         * tests/test-canonicalize.c (main): ...the program, making it
38944         easier to run in debugger.  Add some tests.
38945         * modules/canonicalize-tests (Files): Remove unused file.
38946         (Depends-on): Add progname.
38947         (configure.ac, Makefile.am): Simplify.
38948
38949         test-canonicalize-lgpl: consolidate into single C program
38950         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
38951         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
38952         easier to run in debugger.  Add some tests.
38953         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
38954         (configure.ac, Makefile.am): Simplify.
38955
38956         canonicalize: avoid resolvepath
38957         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
38958         unnecessary checks.
38959         * lib/canonicalize.c (includes): Simplify.
38960         (canonicalize_file_name): Drop resolvepath implementation.
38961         * modules/canonicalize (Depends-on): Drop filenamecat.
38962
38963         canonicalize: don't lose errno
38964         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
38965         over calls to free.
38966
38967         canonicalize: simplify errno handling
38968         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
38969         assignment.
38970
38971         canonicalize, canonicalize-lgpl: update module dependencies
38972         * modules/canonicalize (Depends-on): Add extensions, lstat,
38973         pathmax, stdlib.
38974         (Files): Drop pathmax.h.
38975         (configure.ac): Adjust macro name.
38976         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
38977         lstat, stdlib, sys_stat.
38978         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
38979         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
38980         extensions.
38981         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
38982         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
38983         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
38984         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
38985         declaration, if available.
38986         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
38987         we can rely on the readlink module.
38988         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
38989         (includes): Use <unistd.h> unconditionally.
38990
38991 2009-09-17  Eric Blake  <ebb9@byu.net>
38992
38993         maint: make Include sections of modules consistent
38994         * modules/alloca: Use only header name; no need to list #include.
38995         * modules/alloca-opt: Likewise.
38996         * modules/arpa_inet: Likewise.
38997         * modules/canon-host: Likewise.
38998         * modules/configmake: Likewise.
38999         * modules/dirent: Likewise.
39000         * modules/eealloc: Likewise.
39001         * modules/environ: Likewise.
39002         * modules/fchdir: Likewise.
39003         * modules/fcntl: Likewise.
39004         * modules/fcntl-h: Likewise.
39005         * modules/gethrxtime: Likewise.
39006         * modules/gettime: Likewise.
39007         * modules/ignore-value: Likewise.
39008         * modules/inet_ntop: Likewise.
39009         * modules/inet_pton: Likewise.
39010         * modules/inttypes: Likewise.
39011         * modules/isnand-nolibm: Likewise.
39012         * modules/isnanf-nolibm: Likewise.
39013         * modules/mbchar: Likewise.
39014         * modules/mbfile: Likewise.
39015         * modules/mbiter: Likewise.
39016         * modules/mbuiter: Likewise.
39017         * modules/netdb: Likewise.
39018         * modules/netinet_in: Likewise.
39019         * modules/nproc: Likewise.
39020         * modules/pagealign_alloc: Likewise.
39021         * modules/poll: Likewise.
39022         * modules/printf-frexp: Likewise.
39023         * modules/pthread: Likewise.
39024         * modules/putenv: Likewise.
39025         * modules/random_r: Likewise.
39026         * modules/relocatable-prog: Likewise.
39027         * modules/search: Likewise.
39028         * modules/select: Likewise.
39029         * modules/selinux-h: Likewise.
39030         * modules/settime: Likewise.
39031         * modules/signal: Likewise.
39032         * modules/size_max: Likewise.
39033         * modules/socklen: Likewise.
39034         * modules/ssize_t: Likewise.
39035         * modules/stdarg: Likewise.
39036         * modules/stdbool: Likewise.
39037         * modules/stddef: Likewise.
39038         * modules/stdint: Likewise.
39039         * modules/stdio: Likewise.
39040         * modules/stdlib: Likewise.
39041         * modules/string: Likewise.
39042         * modules/strings: Likewise.
39043         * modules/sys_file: Likewise.
39044         * modules/sys_ioctl: Likewise.
39045         * modules/sys_select: Likewise.
39046         * modules/sys_socket: Likewise.
39047         * modules/sys_stat: Likewise.
39048         * modules/sys_time: Likewise.
39049         * modules/sys_times: Likewise.
39050         * modules/sys_utsname: Likewise.
39051         * modules/sys_wait: Likewise.
39052         * modules/sysexits: Likewise.
39053         * modules/time: Likewise.
39054         * modules/times: Likewise.
39055         * modules/tmpfile: Likewise.
39056         * modules/trim: Likewise.
39057         * modules/unistd: Likewise.
39058         * modules/wchar: Likewise.
39059         * modules/wctype: Likewise.
39060
39061 2009-09-17  Bruno Haible  <bruno@clisp.org>
39062
39063         Make getdate.y compile on QNX and NetBSD 5 / i386.
39064         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39065         TIME_T_FITS_IN_LONG_INT.
39066         * lib/getdate.y (long_time_t): New type.
39067         (relative_time): Change type of 'seconds' field to long_time_t.
39068         (get_date): Update types of local variables. Check against overflow
39069         during conversion from long_time_t to time_t.
39070         Reported by Matt Kraai <kraai@ftbfs.org>
39071         and Hasso Tepper <hasso@netbsd.org>.
39072
39073 2009-09-17  Bruno Haible  <bruno@clisp.org>
39074
39075         * modules/COPYING: Update copyright years.
39076         * modules/README: Likeiwse.
39077         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39078         Reported by Ian Beckwith <ianb@erislabs.net>.
39079
39080 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39081
39082         * users.txt: Update references for gnuit package.
39083
39084 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39085
39086         * m4/getdelim.m4: Fix typo in copyright line.
39087
39088 2009-09-17  Bruno Haible  <bruno@clisp.org>
39089
39090         * lib/atoll.c: Use the standard header with GPL copyright.
39091         * lib/argz.in.h: Likewise.
39092         * lib/glob.c: Likewise.
39093         * lib/glob-libc.h: Likewise.
39094         * lib/random_r.c: Likewise.
39095         * lib/siglist.h: Likewise.
39096         * lib/strsignal.c: Likewise.
39097         Reported by Ian Beckwith <ianb@erislabs.net>.
39098
39099 2009-09-17  Eric Blake  <ebb9@byu.net>
39100
39101         rmdir: ensure correct dependency order
39102         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39103
39104 2009-09-17  Bruno Haible  <bruno@clisp.org>
39105
39106         Disable assertion that fails on NetBSD 5 / i386.
39107         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39108         Reported by Sam Steingold <sds@gnu.org>
39109         and Hasso Tepper <hasso@netbsd.org>.
39110
39111 2009-09-16  Eric Blake  <ebb9@byu.net>
39112
39113         unlinkdir: port to mingw
39114         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39115         on which no one can unlink a directory.
39116
39117         stdlib: sort witness names
39118         * modules/stdlib (Makefile.am): Sort replacements.
39119         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39120         * lib/stdlib.in.h: Likewise.
39121
39122         parse-duration-tests: avoid link failure
39123         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39124         LIBINTL.
39125         Reported by Tom G. Christensen.
39126
39127         openat-tests: ensure unlinkat behaves like rmdir
39128         * tests/test-rmdir.c (main): Factor guts...
39129         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39130         * modules/rmdir-tests (Files): Ship new file.
39131         * modules/openat-tests: New test.
39132         * tests/test-unlinkat.c: Likewise.
39133
39134         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39135         * modules/rmdir-errno (Status, Notice): Now obsolete.
39136
39137         rmdir: work around cygwin 1.5.x and mingw bugs
39138         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39139         * lib/rmdir.c (rmdir): Work around it.
39140         * modules/rmdir (Status, Notice): No longer obsolete.
39141         (Files): Add dos.m4.
39142         (Depends-on): Add unistd.
39143         (configure.ac): Set witnesses.
39144         (License): Relax to LGPLv2+.
39145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39146         * modules/unistd (Makefile.am): Substitute witnesses.
39147         * lib/unistd.in.h (rmdir): Declare replacement.
39148         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39149         * modules/rmdir-tests: New tests.
39150         * tests/test-rmdir.c: Likewise.
39151
39152 2009-09-15  Eric Blake  <ebb9@byu.net>
39153
39154         fchdir: improve use of replacement functions
39155         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39156         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39157         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39158         REPLACE_CLOSEDIR.
39159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39160         * modules/sys_stat (Makefile.am): Substitute correct witness.
39161         * modules/dirent (Makefile.am): Likewise.
39162         * modules/unistd (Makefile.am): Likewise.
39163         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39164         * lib/unistd.in.h (dup): Likewise.
39165         * lib/sys_stat.in.h (fstat): Likewise.
39166
39167         maint: ignore gnulib-tool temp files
39168         * .gitignore: Ignore files created during gnulib-tool --test.
39169
39170 2009-09-13  Jim Meyering  <meyering@redhat.com>
39171
39172         posixtm: don't reject a time that specify "60" as the number of seconds
39173         * lib/posixtm.c (posixtime): The code to reject invalid dates
39174         would also reject a time specified with the .60 suffix.
39175         But POSIX allows that, in order to accommodate leap seconds.
39176         So don't reject it.
39177         (main): Adjust tests accordingly.
39178         * modules/posixtm (Depends-on): Add stpcpy.
39179
39180 2009-09-11  Jim Meyering  <meyering@redhat.com>
39181
39182         announce-gen: include [$release_type] in emitted Subject:
39183         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39184         e.g., [stable] in the emitted Subject: line.
39185
39186 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39187
39188         Remove obsolete macros from several modules.
39189         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39190         obsolete Autoconf macros with their modern counterparts.
39191         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39192         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39193         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39194         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39195         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39196         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39197         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39198         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39199         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39200         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39201         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39202         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39203         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39204         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39205         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39206         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39207         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39208         * m4/time_r.m4 (gl_TIME_R): Likewise.
39209         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39210         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39211         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39212
39213         Fix copyright header in build-aux scripts.
39214         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39215         recommendation.
39216         * build-aux/ncftpput-ftp: Likewise.
39217         * build-aux/update-copyright: Likewise.
39218
39219 2009-09-09  Eric Blake  <ebb9@byu.net>
39220
39221         test-link: allow Linux choice of errno
39222         * tests/test-link.c (main): Relax test for alternate error.
39223
39224         strndup: fix improper m4 caching
39225         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39226         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39227         (gl_PREREQ_STRNDUP): Delete.
39228         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39229         * modules/string (Makefile.am): Substitute it.
39230         * lib/string.in.h (strndup): Modernize prototype.
39231
39232         getcwd: port to mingw
39233         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39234         different from the POSIX assumptions made throughout the getcwd
39235         module; fortunately, the mingw getcwd does not need replacement.
39236         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39237         * modules/getcwd-tests: New test.
39238         * tests/test-getcwd.c: Likewise.
39239
39240         link: fix platform bugs
39241         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39242         * lib/link.c (link): Work around them.  Fix related mingw bug.
39243         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39244         * modules/unistd (Makefile.am): Substitute it.
39245         * lib/unistd.in.h (link): Declare replacement.
39246         * doc/posix-functions/link.texi (link): Document this.
39247         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39248
39249         test-link: consolidate into single C program, test more cases
39250         * tests/test-link.sh: Delete.
39251         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39252         at least Cygwin and Solaris.
39253         * modules/link-tests (Files): Remove unused file.
39254         (Depends-on): Add errno, sys_stat.
39255         (Makefile.am): Simplify.
39256
39257 2009-09-08  Bruno Haible  <bruno@clisp.org>
39258
39259         Work around towlower, towupper bug on mingw.
39260         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39261         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39262         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39263         * doc/posix-functions/towupper.texi: Likewise.
39264         Reported by Eric Blake.
39265
39266 2009-09-08  Jim Meyering  <meyering@redhat.com>
39267
39268         build: don't try to run autoheader if we don't use it
39269         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39270         is not used in configure.ac.
39271
39272 2009-09-08  Eric Blake  <ebb9@byu.net>
39273
39274         euidaccess: fix compilation error
39275         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39276
39277         rawmemchr: relax license
39278         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39279         okay.
39280         Reported by Jim Meyering.
39281
39282         mkfifoat: new module
39283         * modules/mkfifoat: New file.
39284         * lib/mkfifoat.c: Likewise.
39285         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39286         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39287         * modules/sys_stat (Makefile.am): Use them.
39288         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39289         * MODULES.html.sh (File system functions): Mention module.
39290         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39291         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39292         * modules/mkfifoat-tests: New test.
39293         * tests/test-mkfifoat.c: Likewise.
39294
39295         strchrnul: relax license
39296         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39297         okay.
39298         Reported by Jim Meyering.
39299
39300 2009-09-08  Eric Blake  <ebb9@byu.net>
39301
39302         fstatat: fix compilation on Solaris
39303         * lib/fstatat.c (includes): Add fcntl.h.
39304         Reported by Pádraig Brady.
39305
39306 2009-09-07  Eric Blake  <ebb9@byu.net>
39307
39308         rename: modernize replacement
39309         * modules/rename (Depends-on): Add stdio.
39310         (configure.ac): Declare witness.
39311         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39312         stdio take care of replacement.
39313         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39314         * modules/stdio (Makefile.am): Substitute them.
39315         * lib/stdio.in.h (rename): Declare replacement.
39316         * lib/rename.c (includes): Allow cross-compilation to non-windows
39317         machines.
39318         * doc/posix-functions/rename.texi (rename): Improve
39319         documentation.
39320
39321         stdio: sort witness names
39322         * modules/stdio (Makefile.am): Sort replacements.
39323         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39324         * lib/stdio.in.h: Likewise.
39325
39326         getcwd: minor cleanups
39327         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
39328         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
39329
39330         openat: provide more convenience names
39331         * modules/faccessat (configure.ac): Add C witness.
39332         * lib/unistd.in.h (readlinkat): Fix typo.
39333         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
39334         convenience wrappers.
39335         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39336         wrappers in syntax checks.
39337
39338 2009-09-06  Eric Blake  <ebb9@byu.net>
39339
39340         doc: fix comments in recent patches
39341         * lib/faccessat.c: Mention correct function.
39342         * lib/fchmodat.c: Likewise.
39343         * lib/fchownat.c: Likewise.
39344         * lib/symlinkat.c: Likewise.
39345         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39346         constants.
39347
39348         faccessat, symlinkat: continue cleanup of previous patch
39349         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39350         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39351         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39353         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
39354         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
39355         set.
39356
39357 2009-09-06  Bruno Haible  <bruno@clisp.org>
39358
39359         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
39360         (fstatat): Declare if GNULIB_FSTATAT is set.
39361         (mkdirat): Declare if GNULIB_MKDIRAT is set.
39362         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
39363         (unlinkat): Declare if GNULIB_UNLINKAT is set.
39364         * modules/fcntl-h (Files): Remove m4/openat.m4.
39365         * modules/sys_stat (Files): Remove m4/openat.m4.
39366         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
39367         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
39368         * modules/unistd (Files): Remove m4/openat.m4.
39369         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
39370         GNULIB_OPENAT.
39371         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
39372         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
39373         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
39374         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
39375         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
39376         gl_OPENAT_DEFAULTS.
39377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
39378         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
39379         Don't require gl_OPENAT_DEFAULTS.
39380         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
39381         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
39382         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
39383         (gl_OPENAT_DEFAULTS): Remove macro.
39384
39385 2009-09-06  Bruno Haible  <bruno@clisp.org>
39386
39387         * modules/openat (configure.ac): Remove unneeded witness.
39388
39389 2009-09-06  Bruno Haible  <bruno@clisp.org>
39390
39391         Set errno to ENOSYS when a function is entirely unsupported.
39392         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
39393         EOPNOTSUPP.
39394         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39395         * modules/chown (Depends-on): Remove errno.
39396
39397 2009-09-06  Bruno Haible  <bruno@clisp.org>
39398
39399         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
39400
39401 2009-09-06  Bruno Haible  <bruno@clisp.org>
39402
39403         * lib/sys_stat.in.h: Fix preprocessor command indentation.
39404
39405 2009-09-06  Ben Pfaff  <blp@gnu.org>
39406             Bruno Haible  <bruno@clisp.org>
39407
39408         Work around a glibc bug in strtok_r.
39409         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
39410         Undefine if UNDEFINE_STRTOK_R is set.
39411         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
39412         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39413         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
39414         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
39415         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
39416         UNDEFINE_STRTOK_R.
39417         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
39418
39419 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
39420
39421         exclude: minor fix
39422         * lib/exclude.c: Include wctype.h
39423
39424 2009-09-06  Akim Demaille  <demaille@gostai.com>
39425
39426         bootstrap: improve error message
39427         * build-aux/bootstrap (find_tool): Upon failure, report the list
39428         of candidates.
39429         Honor the initial value of the envvar.
39430
39431 2009-09-05  Eric Blake  <ebb9@byu.net>
39432
39433         symlinkat: new module
39434         * modules/symlinkat: New file.
39435         * lib/symlinkat.c: Likewise.
39436         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
39437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39438         * modules/unistd (Makefile.am): Use them.
39439         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
39440         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
39441         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
39442         * MODULES.html.sh (File system functions): Mention module.
39443         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39444         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39445         * modules/symlinkat-tests: New test.
39446         * tests/test-symlinkat.c: Likewise.
39447
39448         test-openat-safer: add more checks
39449         * tests/test-openat-safer.c (main): Check more code paths.
39450
39451 2009-09-05  Jim Meyering  <meyering@redhat.com>
39452
39453         syntax-check: detect unnecessary inclusion of openat.h
39454         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
39455
39456 2009-09-05  Bruno Haible  <bruno@clisp.org>
39457
39458         Support towlower, towupper.
39459         * doc/posix-functions/towlower.texi: Mention module wctype.
39460         * doc/posix-functions/towupper.texi: Likewise.
39461         * lib/wctype.in.h (towlower, towupper): New functions.
39462         * tests/test-wctype.c: Include stdio.h, stdlib.h.
39463         (ASSERT): New macro.
39464         (e): New variable.
39465         (main): Test also towlower, towupper. Test WEOF argument.
39466         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39467
39468 2009-09-05  Bruno Haible  <bruno@clisp.org>
39469
39470         Fix conversion behaviour when the input is invalid.
39471         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
39472         mark occurring in first pass of indirect conversion.
39473         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
39474         input.
39475         Found by clang's static analyzer.
39476
39477 2009-09-05  Bruno Haible  <bruno@clisp.org>
39478
39479         * tests/test-striconveh.c (main): Test indirect conversion on platforms
39480         where direct conversion is possible.
39481
39482 2009-09-04  Eric Blake  <ebb9@byu.net>
39483
39484         openat: fail with ENOENT on empty name
39485         * lib/openat-proc.c (openat_proc_name): Special-case the empty
39486         buffer.
39487
39488         link-follow: fix logic bug in prior patch
39489         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
39490         reversed sense of yes and no in prior patch.  Avoid confusing
39491         compilation failure with desired semantics.
39492
39493         link-follow: accomodate mingw and cross-compilation
39494         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
39495         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
39496         cross-compilation results to -1, to make linkat easier to
39497         implement when cross-compiling.  Trivially support mingw.
39498         * modules/link-follow (configure.ac): Call new name.
39499         * NEWS: Mention this.
39500
39501 2009-09-03  Eric Blake  <ebb9@byu.net>
39502
39503         faccessat: compile replacement
39504         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
39505         needed.
39506
39507         fts: fix compilation error
39508         * lib/fts.c (includes): Re-add "openat.h", for
39509         openat_needs_fchdir.
39510
39511         faccessat: new module
39512         * modules/faccessat: New file.
39513         * lib/faccessat.c: Likewise.
39514         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39516         * modules/unistd (Makefile.am): Use it.
39517         * lib/unistd.in.h (faccessat): Declare it.
39518         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
39519         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
39520         * MODULES.html.sh (File system functions): Mention it.
39521         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
39522         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39523
39524         euidaccess: prefer POSIX over non-standard implementation
39525         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
39526         * lib/euidaccess.c (euidaccess): Use it if available.
39527
39528         openat: make template easier to use
39529         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
39530         AT_FUNC_F2 to be undefined.
39531         (VALIDATE_FLAG): New macro; use it to reject bad flags.
39532         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
39533         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
39534         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
39535         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
39536         Likewise.
39537         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
39538         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
39539         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
39540         Likewise.
39541
39542         openat: declare in POSIX headers
39543         * NEWS: Mention this.
39544         * modules/openat (configure.ac): Declare witnesses.
39545         (Depends-on): Add fcntl-h, sys_stat, unistd.
39546         (Include): Mention correct headers.
39547         * modules/fcntl-h (Depends-on): Add link-warning.
39548         (Files): Add openat.m4.
39549         (Makefile.am): Substitute witnesses.
39550         * modules/sys_stat (Files, Makefile.am): Likewise.
39551         * modules/unistd (Files, Makefile.am): Likewise.
39552         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
39553         (gl_OPENAT_DEFAULTS): New macro.
39554         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
39555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
39556         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
39557         (SYS_STAT_H): Remove unused variable.
39558         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
39559         * lib/fcntl--.h (includes): Remove unneeded header.
39560         * lib/openat-safer.c (includes): Likewise.
39561         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
39562         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
39563         appropriate headers.
39564         (__OPENAT_PREFIX): Delete.
39565         * lib/fcntl.in.h (openat): Provide declaration.
39566         (AT_FDCWD): Fix Solaris bug.
39567         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
39568         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
39569         * lib/fchmodat.c (includes):  Adjust to find declaration.
39570         * lib/fchownat.c (includes): Likewise.
39571         * lib/mkdirat.c (includes): Likewise.
39572         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
39573         still visible.
39574
39575 2009-09-02  Eric Blake  <ebb9@byu.net>
39576
39577         errno: use consistently
39578         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
39579         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
39580         * lib/canonicalize.c (ELOOP): Likewise.
39581         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
39582         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
39583         * lib/lchown.c (EOPNOTSUPP): Likewise.
39584         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
39585         * lib/savewd.c (ESTALE): Likewise.
39586         * lib/settime.c (ENOSYS): Likewise.
39587         * lib/utimens.c (ENOSYS): Likewise.
39588         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
39589         * lib/chdir-safer.c (ELOOP): Likewise.
39590         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
39591         * modules/c-stack (Depends-on): Add errno.
39592         * modules/canonicalize (Depends-on): Likewise.
39593         * modules/chdir-safer (Depends-on): Likewise.
39594         * modules/fdopendir (Depends-on): Likewise.
39595         * modules/inet_ntop (Depends-on): Likewise.
39596         * modules/inet_pton (Depends-on): Likewise.
39597         * modules/lchown (Depends-on): Likewise.
39598         * modules/openat (Depends-on): Likewise.
39599         * modules/savewd (Depends-on): Likewise.
39600         * modules/settime (Depends-on): Likewise.
39601         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
39602
39603         fts: avoid leaking fds
39604         * modules/fts (Depends-on): Add cloexec.
39605         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
39606         flag.
39607
39608         fts: make directory fds more robust
39609         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
39610         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
39611
39612         backupfile, chdir-long, fts, savedir: make safer
39613         * lib/backupfile.c (includes): Use "dirent--.h", since
39614         numbered_backup can write to stderr during readdir.
39615         * lib/savedir.c (includes): Likewise.
39616         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
39617         emulation can write to stderr on failure.
39618         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
39619         * lib/getcwd.c: Document why opendir_safer is unused.
39620         * lib/glob.c: Likewise.
39621         * lib/scandir.c: Likewise.
39622         * lib/openat-proc.c: Likewise, for open_safer.
39623         * modules/backupfile (Depends-on): Add dirent-safer.
39624         * modules/savedir (Depends-on): Likewise.
39625         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
39626         * modules/chdir-long (Depends-on): Add openat-safer.
39627
39628         openat-safer: new module
39629         * modules/openat-safer: New file.
39630         * lib/openat-safer.c: Likewise.
39631         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
39632         * lib/fcntl-safer.h (openat_safer): Declare.
39633         * lib/fcntl--.h (openat): Override.
39634         * MODULES.html.sh (File descriptor based I/O): Mention it.
39635         * lib/openat.h: Add double-inclusion guards.
39636         * lib/openat.c (includes): Only include "fcntl-safer.h", not
39637         "fcntl--.h", so we can implement openat.
39638         * modules/openat-safer-tests: New test.
39639         * tests/test-openat-safer.c: New file.
39640
39641         dirent-safer: new module
39642         * modules/dirent-safer: New file.
39643         * lib/dirent--.h: Likewise.
39644         * lib/dirent-safer.h: Likewise.
39645         * lib/opendir-safer.c: Likewise.
39646         * m4/dirent-safer.m4: Likewise.
39647         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
39648         * modules/dirent-safer-tests: New test.
39649         * tests/test-dirent-safer.c: New file.
39650         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
39651
39652         fdopendir: optimize on mingw
39653         * lib/unistd.in.h (_gl_directory_name): New prototype.
39654         * lib/fchdir.c (_gl_directory_name): Implement it.
39655         (fchdir): Use it to simplify implementation.
39656         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
39657         fchdir, when available, to avoid calling [f]chdir().
39658
39659         fdopendir: split into its own module
39660         * lib/openat.c (fdopendir): Move...
39661         * lib/fdopendir.c: ...into new file.
39662         * modules/fdopendir: New module.
39663         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
39664         * modules/openat (Depends-on): Add fdopendir.
39665         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
39666         fdopendir here.
39667         * modules/savedir (Depends-on): Only need fdopendir, not full
39668         openat.
39669         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
39670         * lib/openat.h (fdopendir): Drop prototype.
39671         * lib/dirent.in.h (fdopendir): Provide prototype.
39672         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
39673         * modules/dirent (Makefile.am): Substitute them.
39674         * MODULES.html.sh (File system functions): Mention it.
39675         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
39676         * modules/fdopendir-tests: New file.
39677         * tests/test-fdopendir.c: Likewise.
39678
39679         fchdir: use more consistent macro convention
39680         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
39681         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
39682         REPLACE_FCHDIR, rather than relying on config.h macros.
39683         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
39684         inside a single make-time REPLACE_FCHDIR block, rather than using
39685         the config.h FCHDIR_REPLACEMENT.
39686         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
39687         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
39688         Manage fstat replacement.
39689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
39690         REPLACE_FCHDIR.
39691         * modules/sys_stat (Files): Add m4/unistd_h.m4.
39692         (Makefile.am): Substitute REPLACE_FCHDIR.
39693         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
39694         FCHDIR_REPLACEMENT.
39695         * lib/dup-safer.c (dup_safer): Likewise.
39696         * lib/dup2.c (rpl_dup2): Likewise.
39697         * lib/dup3.c (rpl_dup3): Likewise.
39698         * lib/open.c (rpl_open): Likewise.
39699
39700         fchdir: simplify error handling, and support dup3
39701         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
39702         stdbool, malloc-posix, realloc-posix.
39703         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
39704         (ensure_dirs_slot): Return false on allocation failure.
39705         (rpl_dup2): Delete.
39706         (_gl_register_dup): New function.
39707         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
39708         (_gl_register_fd): Close fd on allocation failure.
39709         * lib/fcntl.in.h (_gl_register_fd): Update signature.
39710         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
39711         prototype.
39712         (rpl_dup2_fchdir): Delete prototype.
39713         * lib/open.c (open): Update caller.
39714         * lib/dup2.c (dup2): Track fchdir metadata.
39715         * lib/dup3.c (dup3): Likewise.
39716         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
39717         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
39718
39719 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39720
39721         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
39722         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
39723         don't pass arguments to AC_OUTPUT.
39724
39725 2009-09-02  Bruno Haible  <bruno@clisp.org>
39726
39727         * modules/mkdtemp (License): Relicense under LGPLv2+.
39728         Reported by Paolo Bonzini.
39729
39730 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39731
39732         Replace uses of obsolete autoconf macros in Jim's modules.
39733         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
39734         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
39735         can evoke a warning from autoconf when run with -Wobsolete
39736         enabled.  They were declared obsolete for good reasons (see
39737         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
39738         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
39739         should not continue using the deprecated macros.
39740         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
39741         obsolete Autoconf macros with modern counterparts.
39742         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
39743         * m4/dos.m4 (gl_AC_DOS): Likewise.
39744         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
39745         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
39746         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
39747         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
39748         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
39749         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
39750         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
39751         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
39752         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
39753         Likewise.
39754         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
39755         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
39756         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
39757         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
39758         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
39759         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
39760
39761 2009-09-01  Eric Blake  <ebb9@byu.net>
39762
39763         fchdir: fix off-by-one bug in previous patch
39764         * lib/fchdir.c (rpl_fstat): Use correct bounds.
39765         (_gl_unregister_fd): Delete useless if.
39766
39767 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
39768
39769         maint.mk: sort the list of syntax-check rules
39770         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
39771         easier to get a sense of progress when the rules are run sequentially
39772         and take a long time.
39773
39774 2009-09-01  Simon Josefsson  <simon@josefsson.org>
39775
39776         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
39777         * modules/netinet_in: Likewise.
39778         * modules/sys_file: Likewise.
39779         * modules/sys_ioctl: Likewise.
39780         * modules/sys_select: Likewise.
39781         * modules/sys_socket: Likewise.
39782         * modules/sys_stat: Likewise.
39783         * modules/sys_time: Likewise.
39784         * modules/sys_times: Likewise.
39785         * modules/sys_utsname: Likewise.
39786         * modules/sys_wait: Likewise.
39787
39788 2009-09-01  Jim Meyering  <meyering@redhat.com>
39789
39790         fts: help ensure that return values are not ignored
39791         * lib/fts_.h (__GNUC_PREREQ): Define.
39792         (__attribute_warn_unused_result__): Define.
39793         (fts_children, fts_close, fts_open, fts_read): Declare with
39794         __attribute_warn_unused_result__.
39795
39796         fts: fts_close now fails also when closing a dir file descriptor fails
39797         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
39798         and propagate to caller, along with errno.
39799
39800         announce-gen: correct formatting in --help output
39801         * build-aux/announce-gen (usage): Move the one-line description in
39802         --help output "up", to where it belongs, just after Usage:.
39803
39804 2009-08-31  Eric Blake  <ebb9@byu.net>
39805
39806         fchdir: port to mingw
39807         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
39808         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
39809         opened, then use a substitute.
39810         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
39811         replacement.
39812         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
39813         (_gl_register_fd): No need to check stat if open already filters
39814         all directories.
39815         (fchdir): Fix error condition to match POSIX.
39816         * modules/fchdir (Depends-on): Add sys_stat.
39817         * doc/posix-functions/open.texi (open): Document the limitation.
39818         * modules/fchdir-tests: New file.
39819         * tests/test-fchdir.c: Likewise.
39820
39821         canonicalize: allow cross-testing from cygwin to mingw
39822         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
39823         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
39824         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
39825         Likewise.
39826         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
39827         target does not support symlinks.
39828         * tests/test-canonicalize-lgpl.sh: Likewise.
39829
39830         chown: avoid compilation warning on mingw
39831         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
39832         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
39833         mingw.
39834         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39835         * modules/chown (Depends-on): Add errno.
39836
39837 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
39838
39839         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
39840         command.
39841
39842 2009-08-31  Jim Meyering  <meyering@redhat.com>
39843
39844         canonicalize: remove useless initialization
39845         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
39846         initialization of local, "end".
39847
39848 2009-08-30  Bruno Haible  <bruno@clisp.org>
39849
39850         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
39851         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
39852         ENOSYS.
39853
39854 2009-08-30  Bruno Haible  <bruno@clisp.org>
39855
39856         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
39857         /usr/xpg4/bin/tr when it exists.
39858         * tests/test-pipe-filter-gi1.sh: Likewise.
39859
39860 2009-08-30  Bruno Haible  <bruno@clisp.org>
39861
39862         Work around deficient /usr/bin/id program on Solaris.
39863         * tests/test-file-has-acl.sh (ID): New variable.
39864         * tests/test-set-mode-acl.sh (ID): Likewise.
39865         * tests/test-copy-acl.sh (ID): Likewise.
39866         * tests/test-copy-file.sh (ID): Likewise.
39867
39868 2009-08-30  Bruno Haible  <bruno@clisp.org>
39869
39870         New module 'xstriconveh'.
39871         * lib/xstriconveh.h: New file.
39872         * lib/xstriconveh.c: New file.
39873         * modules/xstriconveh: New file.
39874
39875 2009-08-30  Bruno Haible  <bruno@clisp.org>
39876
39877         Make it easier to use mem_cd_iconveh.
39878         * lib/striconveh.h (iconveh_t): New type.
39879         (iconveh_open, iconveh_close): New declarations.
39880         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39881         with a single 'const iconveh_t *' argument.
39882         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
39883         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39884         with a single 'const iconveh_t *' argument.
39885         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
39886         * tests/test-striconveh.c (main): Update.
39887         * NEWS: Mention the change.
39888
39889 2009-08-30  Bruno Haible  <bruno@clisp.org>
39890
39891         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
39892         problem.
39893
39894 2009-08-30  Bruno Haible  <bruno@clisp.org>
39895
39896         Work around iconv_open problem on Solaris.
39897         * lib/iconv_open-solaris.gperf: New file.
39898         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
39899         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
39900         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
39901         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
39902         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
39903         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
39904
39905 2009-08-29  Jim Meyering  <meyering@redhat.com>
39906
39907         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
39908         * top/maint.mk (cvs-check): Remove target; it was just an alias
39909         to the better-named vc-diff-check.
39910         (maintainer-distcheck): Remove rule.  It was used only from
39911         the (alpha/beta/major) target, and all of its commands but one
39912         were coreutils-specific.
39913         (vc-dist): Remove rule.
39914         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
39915         Run vc-diff-check, not vc-dist.
39916         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
39917
39918 2009-08-27  Bruno Haible  <bruno@clisp.org>
39919
39920         * tests/test-bitrotate.c (main): Remove test that uses a shift count
39921         of 0.
39922
39923 2009-08-27  Bruno Haible  <bruno@clisp.org>
39924
39925         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
39926         compilers.
39927         * doc/func.texi: Document the SunPRO C bug.
39928
39929 2009-08-27  Bruno Haible  <bruno@clisp.org>
39930
39931         Fix link error on Solaris.
39932         * tests/test-parse-duration.c (xstrdup): Remove function.
39933
39934 2009-08-26  Pádraig Brady  <P@draigbrady.com>
39935
39936         ignore-value: handle pointer types, too
39937         * lib/ignore-value.h (__attribute__): Remove definition.
39938         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
39939         of a more concise and more-often effective "(void) i" statement.
39940         (ignore_ptr): New function to suppress warnings from functions that
39941         return pointers, and to make it explicit that one function doesn't
39942         handle all cases.
39943
39944 2009-08-25  Bruno Haible  <bruno@clisp.org>
39945
39946         dup2: work around a Linux bug.
39947         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
39948         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
39949         * doc/posix-functions/dup2.texi: Mention the Linux bug.
39950         Reported by Simon Josefsson.
39951
39952 2009-08-25  Jim Meyering  <meyering@redhat.com>
39953
39954         libguestfs uses gnulib
39955         * users.txt: Add libguestfs.
39956
39957 2009-08-24  Eric Blake  <ebb9@byu.net>
39958
39959         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
39960         * lib/pipe2.c (includes): Add binary-io.h.
39961         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
39962
39963 2009-08-24  Bruno Haible  <bruno@clisp.org>
39964
39965         Tolerate declared but missing accept4 syscall.
39966         * lib/accept4.c (accept4): Invoke original accept4 function first, if
39967         available.
39968         * lib/sys_socket.in.h (accept4): If the function is already present,
39969         override it.
39970         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
39971         * modules/accept4 (Makefile.am): Compile accept4.c always.
39972         Reported by Paolo Bonzini and Eric Blake.
39973
39974 2009-08-23  Bruno Haible  <bruno@clisp.org>
39975
39976         New module 'accept4'.
39977         * lib/sys_socket.in.h (accept4): New declaration.
39978         * lib/accept4.c: New file.
39979         * m4/accept4.m4: New file.
39980         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39981         GNULIB_ACCEPT4, HAVE_ACCEPT4.
39982         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
39983         HAVE_ACCEPT4.
39984         * modules/accept4: New file.
39985         * doc/glibc-functions/accept4.texi: Mention the new module.
39986
39987 2009-08-24  Jim Meyering  <meyering@redhat.com>
39988
39989         progname: also set global program_invocation_name, when possible
39990         Before this change, a libtool-enabled program that calls glibc's
39991         error function would report the program name as
39992         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
39993         * modules/progname (configure.ac): Check for a declaration of
39994         program_invocation_name.
39995         * lib/progname.c:  Include <errno.h>.
39996         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
39997         Set program_invocation_name.
39998
39999 2009-08-23  Bruno Haible  <bruno@clisp.org>
40000
40001         * lib/dup3.c: Include <string.h>.
40002
40003 2009-08-23  Bruno Haible  <bruno@clisp.org>
40004
40005         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40006         * lib/pipe2.c (pipe2): Likewise.
40007         Suggested by Eric Blake.
40008
40009 2009-08-23  Bruno Haible  <bruno@clisp.org>
40010
40011         Tolerate declared but missing dup3 syscall.
40012         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40013         * lib/unistd.in.h (dup3): If the function is already present,
40014         override it.
40015         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40016         * modules/dup3 (Makefile.am): Compile dup3.c always.
40017         Reported by Paolo Bonzini.
40018
40019 2009-08-23  Bruno Haible  <bruno@clisp.org>
40020
40021         Tolerate declared but missing pipe2 syscall.
40022         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40023         available.
40024         * lib/unistd.in.h (pipe2): If the function is already present,
40025         override it.
40026         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40027         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40028         Reported by Paolo Bonzini.
40029
40030 2009-08-23  Bruno Haible  <bruno@clisp.org>
40031
40032         * lib/pipe2.c (pipe2): Move #ifs inside function.
40033
40034 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40035
40036         quotearg: document limitations of quote_these_too
40037         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40038         those limitations are created.
40039         * lib/quotearg.h (set_char_quoting): Document that digits and
40040         letters that are special after backslash are not permitted.
40041         (quotearg_char): Cross-reference set_char_quoting documentation.
40042
40043 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40044
40045         quotearg: implement custom_quoting_style
40046         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40047         right_quote fields.
40048         (set_custom_quoting): New public function.
40049         (quotearg_buffer_restyled): Add left_quote and right_quote
40050         arguments, handle them very much like locale quoting, and update
40051         all uses.
40052         (quotearg_n_custom): New public function.
40053         (quotearg_n_custom_mem): New public function.
40054         (quotearg_custom): New public function.
40055         (quotearg_custom_mem): New public function.
40056         * lib/quotearg.h: Prototype and document new public functions.
40057         (enum quoting_style): For escape_quoting_style and
40058         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40059         ignored even though they're otherwise like c_quoting_style.
40060         Add custom_quoting_style member and document with comparison to
40061         clocale_quoting_style.
40062         * tests/test-quotearg.c (custom_quotes): New array.
40063         (custom_results): New array.
40064         (main): Extend to test custom quoting.
40065
40066 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40067
40068         quotearg: fix right quote escaping when it's in quote_these_too
40069         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40070         quote, be sure to prepend only one backslash.
40071         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40072         (main): Test it.
40073
40074 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40075
40076         quotearg-tests: test escaping of embedded locale quotes
40077         * tests/test-quotearg.c (struct result_strings): Add member for
40078         new input.
40079         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40080         (inputs): Add new input.
40081         (results_g): Add expected results.
40082         (flag_results): Likewise.
40083         (locale_results): Likewise.
40084         (compare_strings): Check those.
40085
40086 2009-08-23  Bruno Haible  <bruno@clisp.org>
40087
40088         Tests for module 'dup3'.
40089         * modules/dup3-tests: New file.
40090         * tests/test-dup3.c: New file.
40091
40092         New module 'dup3'.
40093         * lib/unistd.in.h (dup3): New declaration.
40094         * lib/dup3.c: New file.
40095         * m4/dup3.m4: New file.
40096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40097         HAVE_DUP3.
40098         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40099         * modules/dup3: New file.
40100         * doc/glibc-functions/dup3.texi: Mention the new module.
40101
40102 2009-08-23  Bruno Haible  <bruno@clisp.org>
40103
40104         Tweak the dup2 test.
40105         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40106         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40107         the test file is still empty. Fix argument order of lseek.
40108
40109 2009-08-23  Bruno Haible  <bruno@clisp.org>
40110
40111         Avoid test link errors when the modules getopt-gnu, gettext are used.
40112         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40113         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40114
40115 2009-08-23  Bruno Haible  <bruno@clisp.org>
40116
40117         Fix getdtablesize() on mingw.
40118         * lib/getdtablesize.c (getdtablesize): Implement differently.
40119         * lib/unistd.in.h (getdtablesize): Improve comment.
40120
40121 2009-08-23  Bruno Haible  <bruno@clisp.org>
40122
40123         New module 'mkostemp'.
40124         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40125         * lib/stdlib.in.h (mksotemp): New declaration.
40126         * lib/mkostemp.c: New file, from glibc with modifications.
40127         * lib/tempname.h (GT_FILE): Remove outdated comment.
40128         (gen_tempname): Add flags argument.
40129         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40130         (__GT_FILE): Map to 1.
40131         (small_open, large_open): Remove macros.
40132         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40133         * lib/mkstemp.c (mkstemp): Update.
40134         * lib/mkdtemp.c (mkdtemp): Likewise.
40135         * m4/mkostemp.m4: New file.
40136         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40137         HAVE_MKOSTEMP.
40138         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40139         HAVE_MKOSTEMP.
40140         * modules/mkostemp: New file, based on modules/mkstemp.
40141         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40142         * NEWS: Mention the change.
40143
40144 2009-08-23  Bruno Haible  <bruno@clisp.org>
40145
40146         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40147         Reported by Eric Blake.
40148
40149 2009-08-23  Bruno Haible  <bruno@clisp.org>
40150
40151         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40152         Reported by Eric Blake.
40153
40154 2009-08-23  Bruno Haible  <bruno@clisp.org>
40155
40156         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40157         * modules/pipe2 (Depends-on): Likewise.
40158
40159 2009-08-23  Eric Blake  <ebb9@byu.net>
40160
40161         fcntl-h: add O_TTY_INIT support
40162         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40163         * tests/test-fcntl-h.c (o): Test it.
40164         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40165
40166         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40167         * modules/fcntl: Move <fcntl.h> header replacement...
40168         * modules/fcntl-h: ...to new name, so as not to collide with
40169         like-named function.
40170         * tests/test-fcntl.c: Rename...
40171         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40172         * modules/fcntl-tests: Rename...
40173         * modules/fcntl-h-tests: ...to this.  Update test file name.
40174         * modules/chdir-long (Depends-on): Update clients.
40175         * modules/chdir-safer (Depends-on): Likewise.
40176         * modules/fcntl-safer (Depends-on): Likewise.
40177         * modules/fts (Depends-on): Likewise.
40178         * modules/mkancesdirs (Depends-on): Likewise.
40179         * modules/mkdir-p (Depends-on): Likewise.
40180         * modules/open (Depends-on): Likewise.
40181         * modules/savewd (Depends-on): Likewise.
40182         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40183         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40184
40185 2009-08-22  Bruno Haible  <bruno@clisp.org>
40186
40187         * modules/binary-io (License): Relicense under LGPL.
40188         * modules/pipe2 (License): Likewise.
40189
40190 2009-08-22  Bruno Haible  <bruno@clisp.org>
40191
40192         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40193         return value.
40194         * lib/pipe-filter-gi.c (filter_init): Likewise.
40195         Reported by Eric Blake.
40196
40197 2009-08-22  Bruno Haible  <bruno@clisp.org>
40198
40199         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40200         * modules/pipe (Depends-on): Add pipe2.
40201
40202 2009-08-22  Bruno Haible  <bruno@clisp.org>
40203
40204         Tests for module 'pipe2'.
40205         * modules/pipe2-tests: New file.
40206         * tests/test-pipe2.c: New file.
40207
40208         New module 'pipe2'.
40209         * lib/unistd.in.h (pipe2): New declaration.
40210         * lib/pipe2.c: New file.
40211         * m4/pipe2.m4: New file.
40212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40213         HAVE_PIPE2.
40214         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40215         * modules/pipe2: New file.
40216         * doc/glibc-functions/pipe2.texi: Mention the new module.
40217
40218 2009-08-22  Bruno Haible  <bruno@clisp.org>
40219
40220         Reference some new glibc functions.
40221         * doc/glibc-functions/accept4.texi: New file.
40222         * doc/glibc-functions/dup3.texi: New file.
40223         * doc/glibc-functions/mkostemp.texi: New file.
40224         * doc/glibc-functions/pipe2.texi: New file.
40225         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40226         (Glibc sys/socket.h): Refer to accept4.
40227         (Glibc unistd.h): Refer to dup3, pipe2.
40228         Reported by Eric Blake.
40229
40230 2009-08-22  Jim Meyering  <meyering@redhat.com>
40231             Bruno Haible  <bruno@clisp.org>
40232
40233         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40234         This makes it so packages using automake-1.11's silent-rules option
40235         can print e.g., a single "GEN    configmake.h" line, rather than
40236         the 30+ statements that perform the job.  If you want to see the
40237         actual commands, you can still run "make V=1".
40238         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40239         so that make output is abbreviated when those variables are defined
40240         appropriately.
40241         * modules/argz: Likewise.
40242         * modules/arpa_inet: Likewise.
40243         * modules/byteswap: Likewise.
40244         * modules/configmake: Likewise.
40245         * modules/dirent: Likewise.
40246         * modules/errno: Likewise.
40247         * modules/fcntl: Likewise.
40248         * modules/float: Likewise.
40249         * modules/fnmatch: Likewise.
40250         * modules/getopt-posix: Likewise.
40251         * modules/glob: Likewise.
40252         * modules/iconv_open: Likewise.
40253         * modules/inttypes: Likewise.
40254         * modules/localcharset: Likewise.
40255         * modules/locale: Likewise.
40256         * modules/math: Likewise.
40257         * modules/netdb: Likewise.
40258         * modules/netinet_in: Likewise.
40259         * modules/poll: Likewise.
40260         * modules/posix_spawnp-tests: Likewise.
40261         * modules/sched: Likewise.
40262         * modules/search: Likewise.
40263         * modules/selinux-h: Likewise.
40264         * modules/signal: Likewise.
40265         * modules/spawn: Likewise.
40266         * modules/stdarg: Likewise.
40267         * modules/stdbool: Likewise.
40268         * modules/stddef: Likewise.
40269         * modules/stdint: Likewise.
40270         * modules/stdio: Likewise.
40271         * modules/stdlib: Likewise.
40272         * modules/string: Likewise.
40273         * modules/strings: Likewise.
40274         * modules/sys_file: Likewise.
40275         * modules/sys_ioctl: Likewise.
40276         * modules/sys_select: Likewise.
40277         * modules/sys_socket: Likewise.
40278         * modules/sys_stat: Likewise.
40279         * modules/sys_time: Likewise.
40280         * modules/sys_times: Likewise.
40281         * modules/sys_utsname: Likewise.
40282         * modules/sys_wait: Likewise.
40283         * modules/sysexits: Likewise.
40284         * modules/time: Likewise.
40285         * modules/unistd: Likewise.
40286         * modules/wchar: Likewise.
40287         * modules/wctype: Likewise.
40288
40289 2009-08-22  Jim Meyering  <meyering@redhat.com>
40290
40291         announce-gen: detect write failure
40292         * build-aux/announce-gen: Add Coda at end.
40293         Remove equivalent-but-more-verbose block at top.
40294
40295 2009-08-19  Akim Demaille  <demaille@gostai.com>
40296
40297         bootstrap: --help to stdout.
40298         * bootstrap (usage): Don't send --help to stderr.
40299         Use a here doc instead of a long string.
40300
40301 2009-08-21  Eric Blake  <ebb9@byu.net>
40302
40303         test-popen-safer: split from test-popen
40304         * tests/test-popen.c (main): Move...
40305         * tests/test-popen.h: ...into new file.
40306         * tests/test-popen-safer2.c: New file.
40307         * modules/popen-tests (Files): Add test-popen.h.
40308         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40309         Suggested by Bruno Haible.
40310
40311         test-fcntl-safer: split from test-open
40312         * tests/test-open.c (main): Move...
40313         * tests/test-open.h: ...into new file.
40314         * tests/test-fcntl-safer.c: New file.
40315         * modules/open-tests (Files): Add test-open.h.
40316         * modules/fcntl-safer-tests: New file.
40317         Suggested by Bruno Haible.
40318
40319         test-fopen-safer: split from test-fopen
40320         * tests/test-fopen.c (main): Move...
40321         * tests/test-fopen.h: ...into new file.
40322         * tests/test-fopen-safer.c: New file.
40323         * modules/fopen-tests (Files): Add test-fopen.h.
40324         * modules/fopen-safer-tests: New file.
40325         Suggested by Bruno Haible.
40326
40327 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40328
40329         popen-safer: test O_CLOEXEC at run-time.
40330         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
40331
40332 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40333
40334         fcntl: move more flags to the header
40335         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40336         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40337         * lib/fcntl.in.h: Do both things here.
40338
40339 2009-08-21  Jim Meyering  <meyering@redhat.com>
40340
40341         consistently remove $@-t before redirecting to it
40342         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40343         * modules/alloca-opt: Likewise.
40344         * modules/byteswap: Likewise.
40345         * modules/fnmatch: Likewise.
40346         * modules/getopt-posix: Likewise.
40347         * modules/glob: Likewise.
40348         * modules/poll: Likewise.
40349         * modules/posix_spawnp-tests: Likewise.
40350         * modules/sys_socket: Likewise.
40351         * modules/sysexits: Likewise.
40352
40353 2009-08-21  Eric Blake  <ebb9@byu.net>
40354
40355         popen: simplify access to original popen
40356         * lib/popen.c (rpl_popen): No need to worry about popen being a
40357         macro.
40358         Reported by Bruno Haible.
40359
40360 2009-08-20  Eric Blake  <ebb9@byu.net>
40361
40362         build: avoid some compiler warnings
40363         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
40364         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
40365         type.
40366         (new_exclude_segment, excluded_file_pattern_p)
40367         (excluded_file_name_p): Reduce scope.
40368         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
40369         old-style declaration.
40370
40371 2009-08-20  Simon Josefsson  <simon@josefsson.org>
40372
40373         * tests/test-exclude1.sh: Handle Windows EOL.
40374         * tests/test-exclude2.sh: Likewise.
40375         * tests/test-exclude3.sh: Likewise.
40376         * tests/test-exclude4.sh: Likewise.
40377         * tests/test-exclude5.sh: Likewise.
40378         * tests/test-exclude6.sh: Likewise.
40379         * tests/test-exclude7.sh: Likewise.
40380
40381 2009-08-19  Akim Demaille  <demaille@gostai.com>
40382
40383         bootstrap: find sha1sum when named gsha1sum.
40384         * bootstrap (find_tool): New.
40385         ($SHA1SUM): New.
40386         Use it.
40387
40388 2009-08-20  Jim Meyering  <meyering@redhat.com>
40389
40390         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
40391         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
40392         expression that converts "." in a file name to "\." in the resulting
40393         regexp.  Start with a dummy statement, so that prior shell variable
40394         definitions are expanded portably.  Reported by Simon Josefsson.
40395
40396 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
40397
40398         Fix polling for writeability of a screen buffer.
40399         * lib/poll.c: Distinguish input and screen buffers for the
40400         Win32 implementation.
40401         * lib/select.c: Likewise.
40402
40403 2009-08-19  Eric Blake  <ebb9@byu.net>
40404
40405         popen-safer: prevent popen from clobbering std descriptors
40406         * modules/popen-safer: New file.
40407         * lib/popen-safer.c: Likewise.
40408         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
40409         * lib/stdio--.h (popen): Provide override.
40410         * lib/stdio-safer.h (popen_safer): Provide declaration.
40411         * tests/test-popen.c (includes): Partially test this.
40412         * modules/popen-safer-tests: New file, for more tests.
40413         * tests/test-popen-safer.c: Likewise.
40414         * MODULES.html.sh (file stream based Input/Output): Mention it.
40415
40416         tests: test some of the *-safer modules
40417         * modules/fopen-safer (Depends-on): Add fopen.
40418         * modules/fcntl-safer (Depends-on): Add fcntl.
40419         * modules/stdlib-safer (Depends-on): Add stdlib.
40420         (configure.ac): Set indicator.
40421         * modules/unistd-safer (configure.ac): Likewise.
40422         * modules/tmpfile-safer (configure.ac): Likewise.
40423         (Depends-on): Add tmpfile.
40424         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
40425         active.
40426         * tests/test-fopen.c (includes): Test safer versions when they are
40427         in use.
40428         * tests/test-open.c (includes): Likewise.
40429
40430         popen: fix cygwin 1.5 bug when stdin closed
40431         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
40432         * modules/popen: New file.
40433         * modules/popen-tests: Likewise.
40434         * tests/test-popen.c: Likewise.
40435         * m4/popen.m4: Likewise.
40436         * lib/popen.c: Likewise.
40437         * lib/stdio.in.h (popen): New declaration.
40438         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
40439         * modules/stdio (Makefile.am): Likewise.
40440         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
40441
40442 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
40443
40444         maint.mk: give full control over update-copyright exclusions
40445         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
40446         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
40447         (update-copyright): Don't force inclusion of top-level
40448         ChangeLog.  Don't force exclusion of all COPYING files, but make
40449         them the default exclusion instead.
40450
40451 2009-08-16  Bruno Haible  <bruno@clisp.org>
40452
40453         Fix test failures on Solaris 10.
40454         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
40455         tests when Solaris iconv() is used.
40456         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40457         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40458         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40459         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40460         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40461
40462 2009-08-16  Bruno Haible  <bruno@clisp.org>
40463
40464         Fix test failures on Solaris 10.
40465         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
40466         'tr' program and pass it as first argument.
40467         * tests/test-pipe-filter-gi1.sh: Likewise.
40468         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
40469         program as first argument.
40470         * tests/test-pipe-filter-gi1.c (main): Likewise.
40471
40472 2009-08-16  Eric Blake  <ebb9@byu.net>
40473
40474         fpurge: fix previous commits
40475         * modules/fpurge (Makefile.am): Make replacement conditional,
40476         partially reverting 2007-04-29 change; missed in previous
40477         attempt.
40478         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
40479         is missing.
40480
40481 2009-08-16  Bruno Haible  <bruno@clisp.org>
40482
40483         Clarify fpurge's effect on the file position.
40484         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
40485         * tests/test-fpurge.c (main): Make a second pass for checking the file
40486         position.
40487
40488 2009-08-16  Bruno Haible  <bruno@clisp.org>
40489
40490         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
40491         declaration of fpurge is missing.
40492         * tests/test-fpurge.c (main): Check that the file has not more contents
40493         than expected. Close the file before removing it.
40494
40495 2009-08-15  Eric Blake  <ebb9@byu.net>
40496
40497         fpurge: don't wrap working cygwin implementation
40498         * lib/fpurge.c (fpurge): Fix comment typo.
40499         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
40500         1.7 to avoid replacement.
40501         * tests/test-fpurge.c (main): Enhance test.
40502
40503 2009-08-15  Eric Blake  <ebb9@byu.net>
40504         and Jim Meyering  <meyering@redhat.com>
40505
40506         test-update-copyright: skip if perl is insufficient
40507         * tests/test-update-copyright.sh: Failure to run maintainer tool
40508         should not cause testsuite failure on cygwin 1.5.
40509
40510 2009-08-14  Eric Blake  <ebb9@byu.net>
40511
40512         doc: mention more functions added in cygwin 1.7.0
40513         * doc/posix-headers/limits.texi (limits.h): Update for recent
40514         cygwin additions.
40515         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
40516         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
40517         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
40518         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
40519         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
40520
40521 2009-08-14  Eric Blake  <ebb9@byu.net>
40522
40523         maint.mk: simplify update-copyright rule
40524         * top/maint.mk (update-copyright-local): Delete, and document how
40525         to do it in cfg.mk instead.
40526         (update-copyright-exclude-regexp): Delete, and document how to do
40527         it in .x-update-copyright instead.
40528         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
40529         exclude ChangeLog.
40530
40531 2009-08-14  Bruno Haible  <bruno@clisp.org>
40532
40533         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
40534
40535 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40536
40537         maint.mk: support update-copyright-env
40538         * top/maint.mk (update-copyright-env): Define place-holder.
40539         (update-copyright): Expand $(update-copyright-env) before
40540         invoking update-copyright.
40541
40542 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40543
40544         update-copyright: implement forced reformatting
40545         * build-aux/update-copyright: Implement and document
40546         UPDATE_COPYRIGHT_FORCE.
40547         * tests/test-update-copyright.sh: Test it.
40548
40549 2009-08-14  Eric Blake  <ebb9@byu.net>
40550         and Bruno Haible  <bruno@clisp.org>
40551
40552         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
40553         * tests/test-locale.c: Revert previous patch related to NULL.
40554         * tests/test-stdio.c: Likewise.
40555         * tests/test-stdlib.c: Likewise.
40556         * tests/test-string.c: Likewise.
40557         * tests/test-unistd.c: Likewise.
40558         * modules/time-tests (Depends-on): Add verify.
40559         * modules/wchar-tests (Depends-on): Likewise.
40560         * tests/test-time.c: Test for NULL compliance.
40561         * tests/test-wchar.c: Likewise.
40562         * modules/locale (Depends-on): Add stddef.
40563         * modules/stdio (Depends-on): Likewise.
40564         * modules/stdlib (Depends-on): Likewise.
40565         * modules/string (Depends-on): Likewise.
40566         * modules/time (Depends-on): Likewise.
40567         * modules/unistd (Depends-on): Likewise.
40568         * modules/wchar (Depends-on): Likewise.
40569         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
40570         * lib/stdlib.in.h (includes): Likewise.
40571         * lib/string.in.h (includes): Likewise.
40572         * lib/time.in.h (includes): Likewise.
40573         * lib/unistd.in.h (includes): Likewise.
40574         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
40575         replaced.
40576         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40577         * m4/stddef_h.m4: New file.
40578         * modules/stddef: Likewise.
40579         * lib/stddef.in.h: Likewise.
40580         * modules/stddef-tests: Likewise.
40581         * tests/test-stddef.c: Likewise.
40582         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
40583         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
40584         * doc/posix-headers/locale.texi (locale.h): Likewise.
40585         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
40586         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
40587         * doc/posix-headers/string.texi (string.h): Likewise.
40588         * doc/posix-headers/time.texi (time.h): Likewise.
40589         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
40590         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
40591
40592 2009-08-14  Eric Blake  <ebb9@byu.net>
40593
40594         doc: improve git diff of texinfo files
40595         * .gitattributes: Add rule for *.texi files, with hint on how to
40596         use it.
40597         Copied from m4, and based on a report by Bruno Haible.
40598
40599 2009-08-14  Bruno Haible  <bruno@clisp.org>
40600
40601         Disable multithread support by default on Cygwin 1.5.x for real.
40602         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
40603
40604 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40605
40606         update-copyright: much ado about intervals
40607         * build-aux/update-copyright: Implement and document
40608         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
40609         of copyright year intervals.
40610         Also, document UPDATE_COPYRIGHT_YEAR.
40611         * tests/test-update-copyright.sh: Test it.
40612
40613         update-copyright: convert 2-digit to 4-digit years
40614         * build-aux/update-copyright: Implement and document.
40615         * tests/test-update-copyright.sh: Update.
40616
40617 2009-08-14  Jim Meyering  <meyering@redhat.com>
40618
40619         test-exclude: avoid coreutils "make check" failure
40620         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
40621         just as in test-argmatch.c.
40622
40623 2009-08-13  Eric Blake  <ebb9@byu.net>
40624
40625         test-dup2: fix bad assumption
40626         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
40627         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
40628
40629         test-version-etc: fix CRLF portability issue
40630         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
40631         recognize \r.
40632         * tests/test-argp-version-etc-1.sh: Likewise.
40633
40634         getopt: update client modules
40635         * modules/argp (Depends-on): Use getopt-gnu.
40636         * modules/git-merge-changelog (Depends-on): Likewise.
40637         * modules/long-options (Depends-on): Likewise.
40638         * modules/xstrtol (Depends-on): Likewise.
40639
40640 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40641
40642         * tests/test-version-etc.sh: Don't fail on different
40643         project/version.  Don't fail on CRLF differences.  Rewrite to use
40644         multiple -e instead of multiple sed forks, suggested by Eric Blake
40645         <ebb9@byu.net>.
40646         * tests/test-argp-version-etc-1.sh: Likewise.
40647
40648 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40649
40650         * tests/test-version-etc.sh: Don't fail on different
40651         project/version.
40652
40653 2009-08-12  Bruno Haible  <bruno@clisp.org>
40654
40655         Tests for modules 'getopt-posix', 'getopt-gnu'.
40656         * modules/getopt-posix-tests: New file.
40657         * tests/test-getopt.c: New file.
40658         * tests/test-getopt.h: New file.
40659         * tests/test-getopt_long.h: New file.
40660
40661         New modules 'getopt-posix', 'getopt-gnu'.
40662         * modules/getopt-gnu: New file, renamed from modules/getopt.
40663         * modules/getopt-posix: New file.
40664         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
40665         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
40666         (gl_GETOPT): Remove macro.
40667         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
40668         Disable the test against BSD systems that declare optreset. Test
40669         against mingw bug. Test against lack of support of optional arguments
40670         on many platforms.
40671         * doc/glibc-headers/getopt.texi: Update module name and list of
40672         relevant platforms.
40673         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
40674         'getopt-gnu' and more portability problems.
40675         * NEWS: Mention the changes.
40676
40677 2009-08-12  Bruno Haible  <bruno@clisp.org>
40678
40679         Ensure that optarg etc. get declared by <unistd.h>.
40680         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
40681         AC_USE_SYSTEM_EXTENSIONS.
40682         * modules/getopt (Depends-on): Add 'extensions'.
40683
40684 2009-08-12  Bruno Haible  <bruno@clisp.org>
40685
40686         Avoid test link errors.
40687         * modules/pipe-filter-ii-tests (Makefile.am): Define
40688         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
40689         * modules/pipe-filter-gi-tests (Makefile.am): Define
40690         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
40691         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40692
40693 2009-08-12  Bruno Haible  <bruno@clisp.org>
40694
40695         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
40696         gl_GETOPT_SUBSTITUTE before.
40697         (gl_GETOPT): Use it.
40698         * m4/argp.m4 (gl_ARGP): Update.
40699         Reported by Sergey Poznyakoff.
40700
40701         * m4/getopt.m4: Reorder macros.
40702         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
40703         (gl_GETOPT_SUBSTITUTE): Remove macro.
40704
40705 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40706
40707         Minor improvement in gitlog-to-changelog
40708
40709         * build-aux/gitlog-to-changelog: New option `--format' makes
40710         output format string configurable.
40711
40712 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40713
40714         Optimize exclude: use hash tables for non-wildcard patterns.
40715
40716         * lib/exclude.c: Include hash.h and mbuiter.h
40717         (struct exclude_pattern, exclude_segment): New data types.
40718         (struct exclude): Rewrite.
40719         (fnmatch_pattern_has_wildcards): New function.
40720         (new_exclude_segment, free_exclude_segment): New functions.
40721         (excluded_file_pattern_p, excluded_file_name_p): New functions.
40722         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
40723         * lib/exclude.h (is_fnmatch_pattern): New prototype.
40724         * modules/exclude: Depend on hash and mbuiter.
40725
40726         * modules/exclude-tests: New file.
40727         * tests/test-exclude.c: New file.
40728         * tests/test-exclude1.sh: New file.
40729         * tests/test-exclude2.sh: New file.
40730         * tests/test-exclude3.sh: New file.
40731         * tests/test-exclude4.sh: New file.
40732         * tests/test-exclude5.sh: New file.
40733         * tests/test-exclude6.sh: New file.
40734         * tests/test-exclude7.sh: New file.
40735
40736 2009-08-12  Bruno Haible  <bruno@clisp.org>
40737
40738         Ensure that getopt() gets declared by <unistd.h>.
40739         * lib/unistd.in.h: Conditionally include getopt.h.
40740         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
40741         Set GNULIB_UNISTD_H_GETOPT.
40742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40743         GNULIB_UNISTD_H_GETOPT.
40744         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
40745
40746 2009-08-12  Bruno Haible  <bruno@clisp.org>
40747
40748         Clarify logic.
40749         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
40750         gl_replace_getopt instead of GETOPT_H.
40751
40752 2009-08-12  Bruno Haible  <bruno@clisp.org>
40753
40754         * m4/getopt.m4: Add comments.
40755
40756 2009-08-12  Bruno Haible  <bruno@clisp.org>
40757
40758         Disable multithread support by default on Cygwin 1.5.x.
40759         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
40760         set gl_use_threads=no if not specified otherwise.
40761
40762 2009-08-11  Bruno Haible  <bruno@clisp.org>
40763
40764         Avoid compilation error on NetBSD 5.0.
40765         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
40766         * tests/test-stdio.c: Likewise.
40767         * tests/test-stdlib.c: Likewise.
40768         * tests/test-string.c: Likewise.
40769         * tests/test-unistd.c: Likewise.
40770         Reported by Greg Troxel <gdt@ir.bbn.com>
40771         at <https://savannah.gnu.org/support/?106973>.
40772
40773 2009-08-11  Bruno Haible  <bruno@clisp.org>
40774
40775         * modules/dup2-tests (Depends-on): Remove close.
40776
40777         Undo 2009-07-19 commit.
40778         * modules/acl-tests (Depends-on): Remove close.
40779         * modules/binary-io-tests (Depends-on): Likewise.
40780         * modules/closein-tests (Depends-on): Likewise.
40781         * modules/flock-tests (Depends-on): Likewise.
40782         * modules/fsync-tests (Depends-on): Likewise.
40783         * modules/lseek-tests (Depends-on): Likewise.
40784         * modules/pipe-tests (Depends-on): Likewise.
40785         * modules/posix_spawn-tests (Depends-on): Likewise.
40786         * modules/posix_spawnp-tests (Depends-on): Likewise.
40787         * modules/stat-time-tests (Depends-on): Likewise.
40788         * modules/yesno-tests (Depends-on): Likewise.
40789
40790 2009-08-10  Bruno Haible  <bruno@clisp.org>
40791
40792         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
40793
40794 2009-08-10  Bruno Haible  <bruno@clisp.org>
40795
40796         Fix a gcc warning.
40797         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
40798
40799 2009-08-10  Bruno Haible  <bruno@clisp.org>
40800
40801         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
40802         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
40803         not only the first time.
40804         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
40805         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
40806         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
40807         is 1, not only the the first time.
40808
40809 2009-08-10  Bruno Haible  <bruno@clisp.org>
40810
40811         Make it possible to use module 'gethostname' without module 'close'.
40812         * lib/unistd.in.h (close): Evoke a link error only if
40813         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
40814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40815         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40816         * modules/unistd (Makefile.am): Substitute
40817         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40818         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
40819         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
40820         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
40821         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40822         * modules/sys_ioctl (Makefile.am): Substitute
40823         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40824         * modules/socket (configure.ac): On native Windows, set
40825         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
40826         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40827         Reported by Sam Steingold <sds@gnu.org>.
40828
40829 2009-08-10  Bruno Haible  <bruno@clisp.org>
40830
40831         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
40832         * modules/ioctl (configure.ac): Likewise.
40833
40834 2009-08-10  Bruno Haible  <bruno@clisp.org>
40835
40836         Avoid collision between gnulib wrapper and libintl wrapper.
40837         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
40838         already defined in intl/printf.c.
40839         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
40840         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
40841
40842 2009-08-09  Bruno Haible  <bruno@clisp.org>
40843
40844         Make <sys/select.h> really self-contained, also on Solaris 10.
40845         * lib/sys_select.in.h: Include <string.h>.
40846         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
40847         Solaris 10 problem.
40848         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
40849         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
40850         Reported by Jim Meyering.
40851
40852 2009-08-09  Bruno Haible  <bruno@clisp.org>
40853
40854         Avoid warnings from 'aclocal' that are due to a use of macro name
40855         AM_XGETTEXT_OPTION that is not defined in automake.
40856         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
40857         automake.
40858         * modules/error (configure.ac): Likewise.
40859         * modules/propername (configure.ac): Likewise.
40860         * modules/vasprintf (configure.ac): Likewise.
40861         * modules/verror (configure.ac): Likewise.
40862         * modules/xprintf (configure.ac): Likewise.
40863         * modules/xvasprintf (configure.ac): Likewise.
40864
40865 2009-08-08  Bruno Haible  <bruno@clisp.org>
40866
40867         Avoid compilation error in C++ mode.
40868         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
40869         Reported by Sam Steingold <sds@gnu.org>.
40870
40871 2009-08-08  Bruno Haible  <bruno@clisp.org>
40872
40873         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
40874         for the various Unix platforms.
40875         * doc/posix-headers/limits.texi: Update platforms list regarding
40876         HOST_NAME_MAX.
40877         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40878
40879 2009-08-07  Jim Meyering  <meyering@redhat.com>
40880
40881         selinux-at: fix typo in a comment
40882         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
40883         Spotted by Paolo Bonzini.
40884
40885         selinux-at: remove redundant m4 code, add documentation
40886         * modules/selinux-at (configure.ac): Remove redundant code.
40887         LIB_SELINUX is already set via the dependent module, selinux-h.
40888         (Include): Add quotes around selinux-at.h.
40889         * lib/selinux-at.h: Add documentation.
40890         Reported by Bruno Haible in
40891         http://marc.info/?l=gnulib-bug&m=124958988300749
40892
40893 2009-08-07  Bruno Haible  <bruno@clisp.org>
40894
40895         Avoid link error on MacOS X 10.3 and 10.4.
40896         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
40897         on non-ELF systems.
40898         * lib/argp-pv.c (argp_program_version): Likewise.
40899         Reported by Simon Josefsson.
40900
40901 2009-08-07  Simon Josefsson  <simon@josefsson.org>
40902
40903         * tests/test-version-etc.sh: Use $EXEEXT.
40904
40905 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
40906
40907         update-copyright: update documentation to point to maint.mk
40908         * build-aux/update-copyright: Here.
40909
40910 2009-08-06  Jim Meyering  <meyering@redhat.com>
40911
40912         maint.mk: support update-copyright-local
40913         * top/maint.mk (update-copyright-local): Define place-holder.
40914         (update-copyright): Depend on $(update-copyright-local).
40915
40916 2009-08-06  Jim Meyering  <meyering@redhat.com>
40917
40918         selinux-at: new module
40919         Initially written for coreutils, this module will soon be
40920         used by findutils, too.
40921         * MODULES.html.sh [Misc]: Add selinux-at.
40922         * lib/selinux-at.h: New file, from coreutils.
40923         * lib/selinux-at.c: Likewise.
40924         * modules/selinux-at: Likewise.
40925         (License): Change from LGPL to GPL, since it depends
40926         on the GPL'd openat module.
40927
40928         doc: update README
40929         * README: Remove references to cogito.
40930         Remove cvs-repo-updating instructions from 2007.
40931         Don't imply that CVS is better if you have limited disk space.
40932
40933 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40934
40935         update-copyright: support C-style comments
40936         * build-aux/update-copyright: Implement and document.
40937         * tests/test-update-copyright.sh: Test.
40938
40939 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40940
40941         update-copyright: support omitted "(C)"
40942         * build-aux/update-copyright: Implement and document.  Also,
40943         allow variable whitespace before "(C)".
40944         * tests/test-update-copyright.sh: Test.
40945
40946 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40947
40948         update-copyright: don't trip on non-FSF copyright statements
40949         * build-aux/update-copyright: Fix so that the first correctly
40950         formatted FSF copyright statement is recognized no matter what
40951         appears before it.  Update documentation.
40952         * tests/test-update-copyright.sh: Test that.
40953
40954 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40955
40956         update-copyright: clean up code a little
40957         * build-aux/update-copyright: Append "_re" to the name of any
40958         variable holding a regular expression.
40959         Replace "old" and "new" with "stmt" in variable names.
40960         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
40961         handled correctly.
40962         Format code more consistently.
40963
40964 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40965
40966         update-copyright-tests: improve portability
40967         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
40968         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
40969
40970 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40971
40972         update-copyright: support @copyright{} and &copy;
40973         * build-aux/update-copyright: Implement and document.
40974         * tests/test-update-copyright.sh: Test.
40975
40976 2009-08-04  Jim Meyering  <meyering@redhat.com>
40977
40978         update-copyright-tests: correctly test EOL=\r\n handling
40979         * tests/test-update-copyright.sh: Put \r at the end of some lines
40980         for the dos-eol tests.  Based on a patch by Joel E. Denny.
40981
40982         maint.mk: make update-copyright exclusion list more configurable
40983         * top/maint.mk (update-copyright): Default to excluding COPYING,
40984         but allow an override, in case someone does want to update that file.
40985
40986         maint.mk: don't update copyright date in COPYING
40987         * top/maint.mk (update-copyright): Exclude COPYING.
40988
40989         maint.mk: add a copyright-updating rule
40990         * top/maint.mk (update-copyright): New rule.
40991         Derived from coreutils/Makefile.am.
40992
40993         update-copyright: rename some variables
40994         * build-aux/update-copyright: Rename a few variables for clarity.
40995         Tweak syntax.  List Joel E. Denny as coauthor.
40996
40997 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40998
40999         update-copyright: fix bug for 2-digit last year and add tests
41000         * build-aux/update-copyright: Fix bug.
41001         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41002         specified.
41003         * modules/update-copyright-tests: New
41004         * tests/test-update-copyright.sh: New.
41005
41006 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41007
41008         update-copyright: handle leading tabs in line prefix
41009         * build-aux/update-copyright: Count leading tabs as 8 spaces
41010         when computing margin.  This helps with the formatting of
41011         ChangeLogs, for example.
41012         Fix documentation a little.
41013
41014 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41015
41016         update-copyright: support EOL=\r\n
41017         * build-aux/update-copyright: Implement that.
41018
41019 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41020
41021         update-copyright: automatically format copyright statements
41022         * build-aux/update-copyright: Implement that.
41023         Also, be a little more predictable and safer by always failing
41024         when the full copyright format is not perfectly recognized as an
41025         unbroken whole.  Discussed at
41026         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41027         Rewrite documentation.
41028
41029 2009-08-03  Bruno Haible  <bruno@clisp.org>
41030
41031         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41032
41033 2009-08-02  Bruno Haible  <bruno@clisp.org>
41034
41035         Tests for module 'uname'.
41036         * modules/uname-tests: New file.
41037         * tests/test-uname.c: New file.
41038
41039         New module 'uname'.
41040         * lib/uname.c: New file.
41041         * m4/uname.m4: New file.
41042         * modules/uname: New file.
41043         * doc/posix-functions/uname.texi: Mention the new module.
41044
41045 2009-08-02  Bruno Haible  <bruno@clisp.org>
41046
41047         Tests for module 'sys_utsname'.
41048         * modules/sys_utsname-tests: New file.
41049         * tests/test-sys_utsname.c: New file.
41050
41051         New module 'sys_utsname'.
41052         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41053         * m4/sys_utsname_h.m4: New file.
41054         * modules/sys_utsname: New file.
41055         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41056
41057 2009-08-02  Bruno Haible  <bruno@clisp.org>
41058
41059         Implicitly initialize the sockets library.
41060         * lib/gethostname.c: Include sockets.h.
41061         (rpl_gethostname): Invoke gl_sockets_startup.
41062         * lib/socket.c: Include sockets.h.
41063         (rpl_socket): Invoke gl_sockets_startup.
41064         * modules/gethostname (Depends-on): Add sockets.
41065         * modules/socket (Depends-on): Likewise.
41066         * tests/test-poll.c: Don't include sockets.h.
41067         (main): Don't invoke gl_sockets_startup.
41068         * tests/test-select.c: Don't include sockets.h.
41069         (main): Don't invoke gl_sockets_startup.
41070
41071 2009-08-02  Bruno Haible  <bruno@clisp.org>
41072
41073         Allow multiple calls to gl_sockets_startup.
41074         * lib/sockets.c (initialized_sockets_version): New variable.
41075         (gl_sockets_startup): Do nothing if already called for this or a higher
41076         version.
41077         (gl_sockets_cleanup): Reset initialized_sockets_version.
41078
41079 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41080
41081         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41082         different project/version.
41083
41084 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41085             Bruno Haible  <bruno@clisp.org>
41086
41087         Tests for module 'pipe-filter-gi'.
41088         * modules/pipe-filter-gi-tests: New file.
41089         * tests/test-pipe-filter-gi1.sh: New file.
41090         * tests/test-pipe-filter-gi1.c: New file.
41091         * tests/test-pipe-filter-gi2.sh: New file.
41092         * tests/test-pipe-filter-gi2-main.c: New file.
41093         * tests/test-pipe-filter-gi2-child.c: New file.
41094
41095         New module 'pipe-filter-gi'.
41096         * lib/pipe-filter-gi.c: New file.
41097         * modules/pipe-filter-gi: New file.
41098
41099 2009-08-02  Bruno Haible  <bruno@clisp.org>
41100             Paolo Bonzini  <bonzini@gnu.org>
41101
41102         Tests for module 'pipe-filter-ii'.
41103         * modules/pipe-filter-ii-tests: New file.
41104         * tests/test-pipe-filter-ii1.sh: New file.
41105         * tests/test-pipe-filter-ii1.c: New file.
41106         * tests/test-pipe-filter-ii2.sh: New file.
41107         * tests/test-pipe-filter-ii2-main.c: New file.
41108         * tests/test-pipe-filter-ii2-child.c: New file.
41109
41110         New module 'pipe-filter-ii'.
41111         * lib/pipe-filter.h: New file.
41112         * lib/pipe-filter-ii.c: New file.
41113         * lib/pipe-filter-aux.h: New file.
41114         * modules/pipe-filter-ii: New file.
41115
41116 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41117
41118         * lib/gc-libgcrypt.c: Change copyright to FSF.
41119         * lib/gc-gnulib.c: Likewise.
41120
41121 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41122
41123         * lib/gethostname.c: Include limits.h.
41124
41125 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41126             Bruno Haible  <bruno@clisp.org>
41127
41128         Ensure HOST_NAME_MAX as part of the gethostname module.
41129         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41130         define also HOST_NAME_MAX.
41131         * tests/test-gethostname.c: Include <limits.h>.
41132         (main): Check also HOST_NAME_MAX.
41133         * doc/posix-headers/limits.texi: Document the mingw problem.
41134
41135 2009-08-02  Bruno Haible  <bruno@clisp.org>
41136
41137         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41138         Add comments.
41139
41140 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41141
41142         * lib/gethostname.c: Add Windows wrapper.
41143         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41144         * modules/gethostname: Depend on sys_socket & errno, for also
41145         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41146         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41147
41148 2009-07-31  Jim Meyering  <meyering@redhat.com>
41149
41150         getloadavg: fix symbol name in comment
41151         * lib/getloadavg.c: Correct a typo I introduced when adding
41152         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41153         Matt Kraai spotted the problem.
41154
41155 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41156
41157         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41158         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41159         code also if ! defined N_NAME_POINTER.
41160         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41161         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41162         but the n_name member is a 12-byte array.
41163
41164 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41165
41166         update-copyright: generalize comment handling
41167         * build-aux/update-copyright: Handle copyright statements
41168         within more comment styles.
41169         Document usage.
41170         Report any file with an external copyright holder or parse failure.
41171
41172 2009-07-29  Jim Meyering  <meyering@redhat.com>
41173
41174         mktime: correct setting of REPLACE_MKTIME
41175         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41176
41177         update-copyright: new module
41178         * modules/update-copyright: New file.
41179         * build-aux/update-copyright: New file.
41180         * MODULES.html.sh (maint+release support): Add update-copyright.
41181
41182 2009-07-27  Bruno Haible  <bruno@clisp.org>
41183
41184         Fix compilation error when <ctime> is used and mktime is replaced.
41185         * lib/time.in.h (mktime): New declaration.
41186         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41187         REPLACE_MKTIME instead of defining mktime in config.h.
41188         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41189         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41190         Reported by Ross McFarland <rwmcfa1@neces.com>.
41191
41192 2009-07-27  Bruno Haible  <bruno@clisp.org>
41193
41194         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41195         Reported by Matt Kraai <mkraai@beckman.com>.
41196
41197 2009-07-25  Jim Meyering  <meyering@redhat.com>
41198
41199         maint.mk: avoid warnings about missing files
41200         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41201         diagnostic when .prev-version does not exist.
41202         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41203         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41204         nonexistent cfg.mk.
41205         Suggestions from Simon Josefsson.
41206
41207 2009-07-25  Bruno Haible  <bruno@clisp.org>
41208
41209         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41210         defined as macros. Needed on QNX 6.4.1.
41211         Reported by Matt Kraai <mkraai@beckman.com>.
41212
41213 2009-07-23  Jim Meyering  <meyering@redhat.com>
41214
41215         maint.mk: invoke "make dist" with a working value of XZ_OPT
41216         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41217
41218 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41219
41220         Make fseeko.c compile on QNX.
41221         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41222
41223 2009-07-22  Peter Simons  <simons@cryp.to>
41224
41225         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41226         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41227         * lib/md4.h: Likewise.
41228         * lib/md5.h: Likewise.
41229         * lib/sha1.h: Likewise.
41230         * lib/sha256.h: Likewise.
41231         * lib/sha512.h: Likewise.
41232
41233         tests-sha1: don't assign literal string to 'char *' variable
41234         * tests/test-sha1.c (main): Declare locals with "const" to match
41235         attributes of the right hand side.
41236
41237 2009-07-21  Eric Blake  <ebb9@byu.net>
41238
41239         dup2: fix more mingw problems
41240         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41241         fd to itself.
41242         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41243         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41244         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41245         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41246         care of mingw bugs.
41247
41248 2009-07-21  Jim Meyering  <meyering@redhat.com>
41249
41250         vc-list-files: avoid failure when /bin/sh is dash
41251         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41252         On some Debian based systems, /bin/sh is a symlink to dash, and running
41253         this command would omit the "/" following each 'tests' prefix:
41254           dash -x build-aux/vc-list-files -C . tests
41255         That is because bash and dash work differently:
41256           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41257           bash ok
41258           dash odd
41259
41260 2009-07-21  Eric Blake  <ebb9@byu.net>
41261
41262         dup2-tests: test previous patch
41263         * modules/dup2-tests: New file.
41264         * tests/test-dup2.c: Likewise.
41265         * tests/test-open.c (main): Avoid unspecified behavior.
41266         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41267         test.
41268
41269         dup2: work around mingw and cygwin 1.5 bug
41270         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41272         * modules/unistd (Makefile.am): Substitute it.
41273         * lib/unistd.in.h (dup2): Declare the replacement.
41274         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41275         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41276         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41277         * modules/execute (Depends-on): Add dup2.
41278         * modules/fseterr (Depends-on): Likewise.
41279         * modules/pipe (Depends-on): Likewise.
41280         * modules/posix_spawn-internal (Depends-on): Likewise.
41281
41282 2009-07-21  Bruno Haible  <bruno@clisp.org>
41283
41284         * modules/.gitattributes: New file.
41285
41286 2009-07-20  Bruno Haible  <bruno@clisp.org>
41287
41288         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41289         (main): Use it.
41290
41291 2009-07-20  Eric Blake  <ebb9@byu.net>
41292
41293         test-pipe: make a bit more robust.
41294         * tests/test-pipe.c (myerr): Allow error messages regardless of
41295         what we do to stderr.
41296         (test_pipe): Rearrange to avoid deadlock.
41297         (child_main): Try a larger read, to ensure we avoided deadlock.
41298         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41299         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41300         if misused.
41301
41302 2009-07-19  Jim Meyering  <meyering@redhat.com>
41303
41304         fts: avoid false-positive cycle-detection
41305         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41306         for each new command line argument.
41307
41308 2009-07-19  Bruno Haible  <bruno@clisp.org>
41309
41310         Fix build error on mingw with the modules sys_select and unistd.
41311         * modules/acl-tests (Depends-on): Add close.
41312         * modules/binary-io-tests (Depends-on): Likewise.
41313         * modules/closein-tests (Depends-on): Likewise.
41314         * modules/flock-tests (Depends-on): Likewise.
41315         * modules/fsync-tests (Depends-on): Likewise.
41316         * modules/lseek-tests (Depends-on): Likewise.
41317         * modules/pipe-tests (Depends-on): Likewise.
41318         * modules/posix_spawn-tests (Depends-on): Likewise.
41319         * modules/posix_spawnp-tests (Depends-on): Likewise.
41320         * modules/stat-time-tests (Depends-on): Likewise.
41321         * modules/yesno-tests (Depends-on): Likewise.
41322
41323 2009-07-19  Bruno Haible  <bruno@clisp.org>
41324
41325         Unify conditionals.
41326         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
41327         macros, not at the compiler macros.
41328         * lib/pipe.c: Likewise.
41329         * lib/execute.c: Likewise.
41330         * lib/spawni.c: Likewise.
41331
41332 2009-07-19  Bruno Haible  <bruno@clisp.org>
41333
41334         Fix handling of closed stdin/stdout/stderr on mingw.
41335         * lib/w32spawn.h: Include unistd.h.
41336         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41337         file descriptor with O_NOINHERIT flag.
41338         (fd_safer_noinherit): New function, based on fd-safer.c.
41339         (dup_safer_noinherit): New function, based on dup-safer.c.
41340         (undup_safer_noinherit): New function.
41341         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41342         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41343         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41344         instead of fd_safer.
41345         * tests/test-pipe.c: Include <windows.h>.
41346         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41347         result.
41348
41349         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41350         from main.
41351         (test_pipe): Pass an extra argument for disambiguation.
41352         (main): Invoke parent_main or child_main.
41353
41354         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
41355         consistently.
41356
41357 2009-07-18  Eric Blake  <ebb9@byu.net>
41358
41359         test-pipe: fix mingw build
41360         * tests/test-pipe.c (main): Avoid fcntl on mingw.
41361
41362 2009-07-18  Bruno Haible  <bruno@clisp.org>
41363
41364         * modules/pipe-tests (Makefile.am): Fix typo.
41365
41366 2009-07-18  Eric Blake  <ebb9@byu.net>
41367
41368         error: fix mingw build
41369         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
41370         Reported by Bruno Haible.
41371
41372         error: avoid undefined use of stdout
41373         * lib/error.c (error, error_at_line): Check that fd 1 is open
41374         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
41375         is handling faults and the close_stdout module wants to report the
41376         detection of closed stdout as an error.
41377
41378 2009-07-17  Eric Blake  <ebb9@byu.net>
41379
41380         pipe: be robust in face of closed fds
41381         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
41382         should cause child to misbehave.
41383         * modules/pipe-tests: New module.
41384         * tests/test-pipe.c: New file.
41385         * tests/test-pipe.sh: New file.
41386         Reported by Akim Demaille.
41387
41388 2009-07-14  Bruno Haible  <bruno@clisp.org>
41389
41390         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
41391         Reported by anonymous kc.
41392
41393 2009-07-07  Jim Meyering  <meyering@redhat.com>
41394
41395         maint.mk: don't look for translatable strings in *.m4 or *.mk
41396         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
41397         when searching for translatable strings.
41398
41399 2009-07-05  Jim Meyering  <meyering@redhat.com>
41400
41401         remove superfluous parentheses in STREQ definition
41402         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
41403         * lib/getugroups.c (STREQ): Likewise.
41404         * lib/fnmatch.c (STREQ): Likewise.
41405         Spotted by Bruno Haible.
41406
41407 2009-07-04  Jim Meyering  <meyering@redhat.com>
41408
41409         argv-iter: new module
41410         * MODULES.html.sh: Add argv-iter.
41411         * lib/argv-iter.c, lib/argv-iter.h: New files.
41412         * modules/argv-iter: New file.
41413         * modules/argv-iter-tests: New file.
41414         * tests/test-argv-iter.c: Test it.
41415
41416 2009-07-04  Bruno Haible  <bruno@clisp.org>
41417
41418         Fix assertion.
41419         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
41420         contains more exact copies of a given entry than file2, leave the extra
41421         copies unpaired rather than aborting.
41422         Reported by Eric Blake.
41423
41424 2009-07-02  Bruno Haible  <bruno@clisp.org>
41425
41426         Speedup git-merge-changelog for git cherry-pick.
41427         * lib/git-merge-changelog.c (struct entries_mapping): New type.
41428         (entries_mapping_get): New function, extracted from compute_mapping.
41429         (entries_mapping_reverse_get): New function.
41430         (compute_mapping): Add a 'full' argument. Return the result in a
41431         'struct entries_mapping'.
41432         (main): Update. Access the mappings through entries_mapping_get.
41433         Reported by Eric Blake.
41434
41435 2009-07-02  Bruno Haible  <bruno@clisp.org>
41436
41437         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
41438         best_i.
41439
41440 2009-07-02  Bruno Haible  <bruno@clisp.org>
41441
41442         Speed up approximate search for matching ChangeLog entries.
41443         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
41444         argument. Call fstrcmp_bounded instead of fstrcmp.
41445         (compute_mapping, try_split_merged_entry, main): Update callers.
41446
41447 2009-07-02  Bruno Haible  <bruno@clisp.org>
41448
41449         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
41450
41451 2009-06-30  Bruno Haible  <bruno@clisp.org>
41452
41453         Reduce the number of uc_is_cased calls.
41454         * lib/unicase.h (casing_suffix_context_t): Add
41455         'first_char_except_ignorable' field.
41456         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
41457         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
41458         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
41459         Update initializer.
41460         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
41461         case-ignorable characters.
41462         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
41463         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
41464         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
41465         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
41466         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
41467
41468 2009-06-30  Bruno Haible  <bruno@clisp.org>
41469
41470         Tests for module 'unicase/ignorable'.
41471         * modules/unicase/ignorable-tests: New file.
41472         * tests/unicase/test-ignorable.c: New file, generated by
41473         gen-uni-tables.
41474
41475         Tests for module 'unicase/cased'.
41476         * modules/unicase/cased-tests: New file.
41477         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
41478         * tests/unicase/test-predicate-part1.h: New file, derived from
41479         tests/unictype/test-predicate-part1.h.
41480         * tests/unicase/test-predicate-part2.h: New file, same as
41481         tests/unictype/test-predicate-part2.h.
41482
41483         Fix evaluation of "Before C" condition of FINAL_SIGMA.
41484         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
41485         (output_casing_properties): New function.
41486         (main): Call it.
41487         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
41488         * lib/unicase/cased.c: Include unictype/bitmap.h.
41489         (uc_is_cased): Define through a bitmap lookup.
41490         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
41491         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
41492         (uc_is_case_ignorable): Define through a bitmap lookup.
41493         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
41494         lib/unictype/bitmap.h.
41495         (Depends-on): Add inline. Clean up.
41496         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
41497         lib/unictype/bitmap.h.
41498         (Depends-on): Add inline. Clean up.
41499         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
41500         recognition.
41501         * tests/unicase/test-u16-tolower.c (main): Likewise.
41502         * tests/unicase/test-u32-tolower.c (main): Likewise.
41503
41504 2009-06-30  Bruno Haible  <bruno@clisp.org>
41505
41506         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
41507         * lib/unicase/u16-casemap.c: Likewise.
41508         * lib/unicase/u32-casemap.c: Likewise.
41509
41510 2009-06-29  Bruno Haible  <bruno@clisp.org>
41511
41512         Define u32_casefold as a wrapper around u32_ct_casefold.
41513         * lib/unicase/u32-casefold.c: Update.
41514         * modules/unicase/u32-casefold (Depends-on): Add
41515         unicase/u32-ct-casefold, unicase/empty-prefix-context,
41516         unicase/empty-suffix-context. Clean up.
41517
41518         Define u16_casefold as a wrapper around u16_ct_casefold.
41519         * lib/unicase/u16-casefold.c: Update.
41520         * modules/unicase/u16-casefold (Depends-on): Add
41521         unicase/u16-ct-casefold, unicase/empty-prefix-context,
41522         unicase/empty-suffix-context. Clean up.
41523
41524         Define u8_casefold as a wrapper around u8_ct_casefold.
41525         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
41526         * lib/unicase/u8-casefold.c: Update.
41527         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
41528         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41529
41530         Define u32_totitle as a wrapper around u32_ct_totitle.
41531         * lib/unicase/u32-totitle.c: Update.
41532         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
41533         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41534
41535         Define u16_totitle as a wrapper around u16_ct_totitle.
41536         * lib/unicase/u16-totitle.c: Update.
41537         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
41538         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41539
41540         Define u8_totitle as a wrapper around u8_ct_totitle.
41541         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
41542         functions.
41543         (FUNC): Delegate to U_CT_TOTITLE.
41544         * lib/unicase/u8-totitle.c: Update.
41545         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
41546         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41547
41548         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
41549         invocation.
41550         * modules/unicase/u32-tolower (Depends-on): Add
41551         unicase/empty-prefix-context, unicase/empty-suffix-context.
41552
41553         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
41554         invocation.
41555         * modules/unicase/u16-tolower (Depends-on): Add
41556         unicase/empty-prefix-context, unicase/empty-suffix-context.
41557
41558         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
41559         * modules/unicase/u8-tolower (Depends-on): Add
41560         unicase/empty-prefix-context, unicase/empty-suffix-context.
41561
41562         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
41563         invocation.
41564         * modules/unicase/u32-toupper (Depends-on): Add
41565         unicase/empty-prefix-context, unicase/empty-suffix-context.
41566
41567         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
41568         invocation.
41569         * modules/unicase/u16-toupper (Depends-on): Add
41570         unicase/empty-prefix-context, unicase/empty-suffix-context.
41571
41572         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
41573         * modules/unicase/u8-toupper (Depends-on): Add
41574         unicase/empty-prefix-context, unicase/empty-suffix-context.
41575
41576         New module 'unicase/u32-ct-casefold'.
41577         * lib/unicase/u32-ct-casefold.c: New file.
41578         * modules/unicase/u32-ct-casefold: New file.
41579
41580         New module 'unicase/u16-ct-casefold'.
41581         * lib/unicase/u16-ct-casefold.c: New file.
41582         * modules/unicase/u16-ct-casefold: New file.
41583
41584         New module 'unicase/u8-ct-casefold'.
41585         * lib/unicase/u8-ct-casefold.c: New file.
41586         * lib/unicase/u-ct-casefold.h: New file, derived from
41587         lib/unicase/u-casefold.h.
41588         * modules/unicase/u8-ct-casefold: New file.
41589
41590         New module 'unicase/u32-ct-totitle'.
41591         * lib/unicase/u32-ct-totitle.c: New file.
41592         * modules/unicase/u32-ct-totitle: New file.
41593
41594         New module 'unicase/u16-ct-totitle'.
41595         * lib/unicase/u16-ct-totitle.c: New file.
41596         * modules/unicase/u16-ct-totitle: New file.
41597
41598         New module 'unicase/u8-ct-totitle'.
41599         * lib/unicase/u8-ct-totitle.c: New file.
41600         * lib/unicase/u-ct-totitle.h: New file, derived from
41601         lib/unicase/u-totitle.h.
41602         * modules/unicase/u8-ct-totitle: New file.
41603
41604         New module 'unicase/u32-ct-tolower'.
41605         * lib/unicase/u32-ct-tolower.c: New file.
41606         * modules/unicase/u32-ct-tolower: New file.
41607
41608         New module 'unicase/u16-ct-tolower'.
41609         * lib/unicase/u16-ct-tolower.c: New file.
41610         * modules/unicase/u16-ct-tolower: New file.
41611
41612         New module 'unicase/u8-ct-tolower'.
41613         * lib/unicase/u8-ct-tolower.c: New file.
41614         * modules/unicase/u8-ct-tolower: New file.
41615
41616         New module 'unicase/u32-ct-toupper'.
41617         * lib/unicase/u32-ct-toupper.c: New file.
41618         * modules/unicase/u32-ct-toupper: New file.
41619
41620         New module 'unicase/u16-ct-toupper'.
41621         * lib/unicase/u16-ct-toupper.c: New file.
41622         * modules/unicase/u16-ct-toupper: New file.
41623
41624         New module 'unicase/u8-ct-toupper'.
41625         * lib/unicase/u8-ct-toupper.c: New file.
41626         * modules/unicase/u8-ct-toupper: New file.
41627
41628         Add context arguments to u*_casemap functions.
41629         * lib/unicase/unicasemap.h: Include unicase.h.
41630         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
41631         suffix_context arguments.
41632         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
41633         functions.
41634         (FUNC): Add prefix_context and suffix_context arguments. Use
41635         uc_is_cased and uc_is_case_ignorable.
41636         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
41637         * lib/unicase/u16-casemap.c: Likewise.
41638         * lib/unicase/u32-casemap.c: Likewise.
41639         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
41640         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41641         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
41642         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41643         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
41644         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41645
41646         New module 'unicase/u32-suffix-context'.
41647         * lib/unicase/u32-suffix-context.c: New file.
41648         * modules/unicase/u32-suffix-context: New file.
41649
41650         New module 'unicase/u16-suffix-context'.
41651         * lib/unicase/u16-suffix-context.c: New file.
41652         * modules/unicase/u16-suffix-context: New file.
41653
41654         New module 'unicase/u8-suffix-context'.
41655         * lib/unicase/u8-suffix-context.c: New file.
41656         * lib/unicase/u-suffix-context.h: New file.
41657         * modules/unicase/u8-suffix-context: New file.
41658
41659         New module 'unicase/empty-suffix-context'.
41660         * lib/unicase/empty-suffix-context.c: New file.
41661         * modules/unicase/empty-suffix-context: New file.
41662
41663         New module 'unicase/u32-prefix-context'.
41664         * lib/unicase/u32-prefix-context.c: New file.
41665         * modules/unicase/u32-prefix-context: New file.
41666
41667         New module 'unicase/u16-prefix-context'.
41668         * lib/unicase/u16-prefix-context.c: New file.
41669         * modules/unicase/u16-prefix-context: New file.
41670
41671         New module 'unicase/u8-prefix-context'.
41672         * lib/unicase/u8-prefix-context.c: New file.
41673         * lib/unicase/u-prefix-context.h: New file.
41674         * lib/unicase/context.h: New file.
41675         * modules/unicase/u8-prefix-context: New file.
41676
41677         New module 'unicase/empty-prefix-context'.
41678         * lib/unicase/empty-prefix-context.c: New file.
41679         * modules/unicase/empty-prefix-context: New file.
41680
41681         New module 'unicase/ignorable'.
41682         * lib/unicase/ignorable.c: New file.
41683         * modules/unicase/ignorable: New file.
41684
41685         New module 'unicase/cased'.
41686         * lib/unicase/caseprop.h: New file.
41687         * lib/unicase/cased.c: New file.
41688         * modules/unicase/cased: New file.
41689
41690         New functions for case mapping of substrings.
41691         * lib/unicase.h (casing_prefix_context_t): New type.
41692         (unicase_empty_prefix_context): New variable.
41693         (u8_casing_prefix_context, u16_casing_prefix_context,
41694         u32_casing_prefix_context, u8_casing_prefixes_context,
41695         u16_casing_prefixes_context, u32_casing_prefixes_context): New
41696         declarations.
41697         (casing_suffix_context_t): New type.
41698         (unicase_empty_suffix_context): New variable.
41699         (u8_casing_suffix_context, u16_casing_suffix_context,
41700         u32_casing_suffix_context, u8_casing_suffixes_context,
41701         u16_casing_suffixes_context, u32_casing_suffixes_context,
41702         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
41703         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
41704         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
41705         declarations.
41706
41707 2009-06-28  Jim Meyering  <meyering@redhat.com>
41708
41709         boostrap: indent only with spaces
41710         * build-aux/bootstrap: Indent only with spaces, never TABs.
41711
41712         bootstrap: split long lines
41713         * build-aux/bootstrap: Keep line length < 80.
41714
41715         bootstrap: sync from coreutils
41716         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
41717         just as autoreconf does.  Verify a list of prerequisite
41718         package-name,version-number pairs if defined in bootstrap.conf.
41719         Refer to README-prereq, if prerequisites are not satisfied.
41720
41721 2009-06-27  Eric Blake  <ebb9@byu.net>
41722
41723         tests: add test for bogus NULL definition
41724         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
41725         * tests/test-stdlib.c: Likewise.
41726         * tests/test-string.c: Likewise.
41727         * tests/test-locale.c: Likewise.
41728         * tests/test-unistd.c: Likewise.
41729         * modules/stdio-tests (Depends-on): Add verify.
41730         * modules/stdlib-tests (Depends-on): Likewise.
41731         * modules/string-tests (Depends-on): Likewise.
41732         * modules/locale-tests (Depends-on): Likewise.
41733         * modules/unistd-tests (Depends-on): Likewise.
41734
41735 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
41736
41737         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
41738         self-explaining comment.
41739         * m4/selinux-selinux-h: Update serial.
41740         (gl_LIBSELINUX): New macro, adding a warning for missing development
41741         packages to code extracted from...
41742         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
41743         Add warning for missing development packages here, too.
41744
41745 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
41746
41747         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
41748
41749 2009-06-25  Eric Blake  <ebb9@byu.net>
41750
41751         version-etc: fix regression
41752         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
41753         gcc.
41754         (version_etc): Use it, to catch bugs with trailing NULL.
41755         * lib/version-etc.c (version_etc_arn): Delete unused argument.
41756         (version_etc_va): Fix logic bug.
41757         * modules/version-etc-tests: Add test.
41758         * tests/test-version-etc.c: New file.
41759         * tests/test-version-etc.sh: Likewise.
41760
41761 2009-06-25  Sam Steingold  <sds@gnu.org>
41762
41763         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
41764         mbtowc declaration.
41765
41766 2009-06-25  Eric Blake  <ebb9@byu.net>
41767
41768         fpurge: migrate into <stdio.h>
41769         * lib/fpurge.h: Delete...
41770         * lib/stdio.in.h (fpurge): ...and declare here, instead.
41771         * lib/fpurge.c (fpurge): Change declaring header.
41772         * modules/fpurge (Files): Drop deleted file.
41773         (Depends-on): Add stdio.
41774         (configure.ac): Set witness.
41775         * modules/stdio (Makefile.am): Support fpurge macros.
41776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41777         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
41778         * lib/fflush.c: Update client.
41779         * tests/test-fpurge.c: Likewise.
41780         * NEWS: Mention the change.
41781
41782 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41783
41784         * lib/argp-version-etc.c (program_authors): Add const
41785         qualifier.
41786         * lib/version-etc.c: Fix typos in the comments.
41787         * modules/argp-version-etc: Depends on version-etc.
41788
41789 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41790
41791         argp-version-etc: new module.
41792
41793         * lib/argp-version-etc.c: New file.
41794         * lib/argp-version-etc.h: New file.
41795         * modules/argp-version-etc: New file.
41796         * modules/argp-version-etc-tests: New file.
41797         * tests/test-argp-version-etc.c: New test.
41798         * tests/test-argp-version-etc-1.sh: New test.
41799
41800 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41801
41802         Provide additional interfaces and documentation for version-etc
41803         module.
41804
41805         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
41806         interfaces.
41807         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
41808         prototypes.
41809
41810 2009-06-24  Bruno Haible  <bruno@clisp.org>
41811
41812         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
41813         HAVE_LIB${NAME} macro.
41814         Reported by Sam Steingold <sds@gnu.org>.
41815
41816 2009-06-23  Simon Josefsson  <simon@josefsson.org>
41817
41818         * modules/hash-tests (test_hash_LDADD): Link to libintl when
41819         needed.
41820
41821 2009-06-21  Bruno Haible  <bruno@clisp.org>
41822
41823         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
41824         work.
41825         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
41826         together with LIB${NAME}, LTLIB${NAME}.
41827         Reported by Sam Steingold <sds@gnu.org>.
41828
41829 2009-06-20  Jim Meyering  <meyering@redhat.com>
41830
41831         tests: make sc_require_test_exit_idiom more generic
41832         * top/maint.mk (Exit_witness_file): New overridable variable.
41833         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
41834         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
41835
41836 2009-06-19  Jim Meyering  <meyering@redhat.com>
41837
41838         hash: reverse order of src/dst parameters in an internal interface
41839         * lib/hash.c (transfer_entries): Reverse order of parameters to
41840         put DST before SRC.  Adjust callers.
41841
41842         tests: test-hash: avoid wholesale duplication
41843         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
41844         Instead, use a loop and add a single conditional.
41845
41846         tests: test-hash: allow seed selection via a command line argument
41847         * tests/test-hash.c (get_seed): New function.
41848         (main): Use it.
41849
41850 2009-06-19  Eric Blake  <ebb9@byu.net>
41851
41852         hash: avoid memory leak on allocation failure
41853         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
41854         failure.  Factor repeated algorithm...
41855         (transfer_entries): ...into new helper routine.
41856         (hash_delete): React to hash_rehash return value.
41857
41858         hash: reduce memory pressure in hash_rehash no-op case
41859         * lib/hash.c (next_prime): Avoid overflow.
41860         (hash_initialize): Factor bucket size computation...
41861         (compute_bucket_size): ...into new helper function.
41862         (hash_rehash): Use new function and open coding to reduce memory
41863         pressure, and avoid a memory leak in USE_OBSTACK code.
41864         Reported by Jim Meyering.
41865
41866 2009-06-18  Eric Blake  <ebb9@byu.net>
41867
41868         hash: make rotation more obvious
41869         * modules/hash (Depends-on): Add bitrotate and stdint.
41870         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
41871         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
41872         (SIZE_MAX): Rely on headers for definition.
41873         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
41874         (raw_hasher): Use rotr_sz.
41875         Suggested by Jim Meyering.
41876
41877         hash: fix memory leak in last patch
41878         * lib/hash.c (hash_rehash): Avoid memory leak.
41879
41880         hash: avoid no-op rehashing
41881         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
41882
41883         hash: provide default callback functions
41884         * lib/hash.c (raw_hasher, raw_comparator): New functions.
41885         (hash_initialize): Use them as defaults.
41886         * tests/test-hash.c (main): Test this.
41887
41888         hash: minor optimization
41889         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
41890         when possible.
41891         (hash_initialize): Document this promise.
41892         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
41893         * tests/test-hash.c (hash_compare_strings): Test this.
41894
41895 2009-06-18  Bruno Haible  <bruno@clisp.org>
41896
41897         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
41898         going to be replaced anyway.
41899
41900 2009-06-18  Bruno Haible  <bruno@clisp.org>
41901
41902         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
41903         in one place.
41904         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
41905         be replaced anyway.
41906
41907 2009-06-18  Eric Blake  <ebb9@byu.net>
41908
41909         hash: check for resize before insertion
41910         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
41911         threshold before insertion, so that a pathological hash_rehash
41912         that fills every bucket can still trigger another rehash.
41913
41914 2009-06-18  Jim Meyering  <meyering@redhat.com>
41915
41916         hash-tests: add a loop around the small tests
41917         * tests/test-hash.c (main): Repeat small tests with selected
41918         small initial table sizes.
41919
41920 2009-06-17  Eric Blake  <ebb9@byu.net>
41921
41922         hash: minor cleanups
41923         * lib/hash.h (hash_entry): Make opaque, by moving...
41924         * lib/hash.c (hash_entry): ...here.
41925         (hash_insert): Clarify restrictions on what can be inserted.
41926         (hash_get_next): Clarify when it is safe to remove an element
41927         during traversal.
41928         (check_tuning): Skip verification when tuning is known safe.
41929         (hash_initialize): Clarify restrictions on tuning.
41930
41931 2009-06-17  Jim Meyering  <jim@meyering.net>
41932         and Eric Blake  <ebb9@byu.net>
41933
41934         hash-tests: new module
41935         * modules/hash-tests: New file.
41936         * tests/test-hash.c: New file.
41937
41938 2009-06-17  Eric Blake  <ebb9@byu.net>
41939
41940         strstr-simple: document new module
41941         * MODULES.html.sh: Document new module.
41942
41943         strstr, strcasestr: replace on platforms with broken memchr
41944         * modules/strstr: Split into...
41945         * modules/strstr-simple: ...new module that does not care about
41946         performance, but does care about glibc bug.
41947         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
41948         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
41949         if platform memchr is broken, per Debian bug 521737.
41950         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
41951         memchr.
41952         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
41953         * doc/posix-functions/strstr.texi (strstr): Document the fix.
41954         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
41955         * modules/mountlist (Depends-on): Add strstr-simple.
41956         * modules/gen-uni-tables (Depends-on): Likewise.
41957         * modules/argz (Depends-on): Add strstr.
41958
41959 2009-06-17  Bruno Haible  <bruno@clisp.org>
41960
41961         * modules/posix_spawn-internal (Depends-on): Add errno.
41962
41963 2009-06-17  Bruno Haible  <bruno@clisp.org>
41964
41965         Define missing ESTALE on Interix 3.5.
41966         * lib/errno.in.h (ESTALE): Assign a value if missing.
41967         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
41968         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
41969         missing.
41970         * doc/posix-headers/errno.texi: Mention the Interix bug.
41971         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
41972
41973 2009-06-15  Eric Blake  <ebb9@byu.net>
41974
41975         memchr, memchr2: add valgrind exception
41976         * lib/memchr.valgrind: New file.
41977         * lib/memchr2.valgrind: New file.
41978         * modules/memchr (Files): Distribute valgrind file.
41979         * modules/memchr2 (Files): Likewise.
41980
41981         docs: memchr is no longer obsolete
41982         * MODULES.html.sh: Move memchr from obsolete to string.h section.
41983         * lib/string.in.h (memchr): Simplify logic.
41984
41985 2009-06-14  Jim Meyering  <meyering@redhat.com>
41986
41987         link-follow: fix the "checking..." message to not mention trailing slash
41988         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
41989         never considered trailing slashes.
41990
41991 2009-06-14  Bruno Haible  <bruno@clisp.org>
41992
41993         * m4/memchr.m4: Mention also the bug on IA-64.
41994         * doc/posix-functions/memchr.texi: Likewise.
41995
41996 2009-06-12  Eric Blake  <ebb9@byu.net>
41997
41998         memchr: detect broken x86_64 and alpha implementations
41999         * modules/memchr-tests (Depends-on): Move mmap detection...
42000         * modules/memchr (Depends-on): ...here.
42001         (configure.ac): Set indicator.
42002         * lib/string.in.h (memchr): Declare replacement.
42003         * modules/string (Makefile.am): Trigger replacement.
42004         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42005         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42006         bugs.
42007         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42008         * modules/getpagesize (License): Relax license.
42009
42010 2009-06-11  Bruno Haible  <bruno@clisp.org>
42011
42012         * lib/idpriv.h: Add more references.
42013
42014 2009-06-08  Bruno Haible  <bruno@clisp.org>
42015
42016         Tests for module 'idpriv-droptemp'.
42017         * modules/idpriv-droptemp-tests: New file.
42018         * tests/test-idpriv-droptemp.sh: New file.
42019         * tests/test-idpriv-droptemp.su.sh: New file.
42020         * tests/test-idpriv-droptemp.c: New file.
42021
42022         New module 'idpriv-droptemp'.
42023         * lib/idpriv-droptemp.c: New file.
42024         * modules/idpriv-droptemp: New file.
42025
42026 2009-06-08  Bruno Haible  <bruno@clisp.org>
42027
42028         Tests for module 'idpriv-drop'.
42029         * modules/idpriv-drop-tests: New file.
42030         * tests/test-idpriv-drop.sh: New file.
42031         * tests/test-idpriv-drop.su.sh: New file.
42032         * tests/test-idpriv-drop.c: New file.
42033
42034         New module 'idpriv-drop'.
42035         * lib/idpriv.h: New file.
42036         * lib-idpriv-drop.c: New file.
42037         * m4/idpriv.m4: New file.
42038         * modules/idpriv-drop: New file.
42039
42040 2009-06-08  Bruno Haible  <bruno@clisp.org>
42041
42042         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42043         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42044         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42045         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42046         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42047         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42048         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42049
42050 2009-06-08  Eric Blake  <ebb9@byu.net>
42051
42052         test-strstr: use memory fence, when possible
42053         * tests/test-strstr.c (main): Use memory fence, in order to be
42054         more likely to trigger Debian bug 521737.
42055         * modules/strstr-tests (Files): Pull in additional files.
42056
42057         memchr: no longer obsolete, for wider field testing
42058         * modules/memchr (Status, Notice): Delete, this module is no
42059         longer obsolete.
42060         * modules/vasnprintf (Depends-on): Add memchr.
42061
42062 2009-06-07  Jim Meyering  <meyering@redhat.com>
42063
42064         hash: declare some functions with the warn_unused_result attribute
42065         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42066
42067 2009-06-07  Bruno Haible  <bruno@clisp.org>
42068
42069         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42070         Reported by Eric Blake.
42071
42072 2009-06-06  Eric Blake  <ebb9@byu.net>
42073
42074         test-alignof: fix typo with long double
42075         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42076         compiler error.
42077
42078 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42079
42080         Escape non-texinfo { and }s.
42081         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42082         markup error.
42083
42084 2009-06-04  Jim Meyering  <meyering@redhat.com>
42085
42086         gitlog-to-changelog: don't infloop on an empty commit log
42087         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42088         Reported by Boris Petersen <transacid@centerim.org>.
42089
42090 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42091
42092         version-etc: extend for packagers
42093         Add three new configure options, intended for packagers:
42094           --with-packager="packager name"
42095           --with-packager-version="packager-specific version"
42096           --with-packager-bug-reports="packager bug reporting"
42097         An example with coreutils:
42098           $ ./configure \
42099             --with-packager=Gentoo \
42100             --with-packager-bug-report=http://bugs.gentoo.org/ \
42101             --with-packager-version="patchset 1.6"
42102           $ ./src/ls --version | head -n2
42103           ls (GNU coreutils) 7.1-dirty
42104           Packaged by Gentoo (patchset 1.6)
42105         Note that the bug reporting info via --help doesn't show up because
42106         coreutils uses its own custom emit_bug_reporting_address() implementation
42107         in src/system.h.  If it didn't, it'd look like:
42108           $ ./src/ls --help | tail -n4
42109           Report bugs to <bug-coreutils@gnu.org>.
42110           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42111           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42112           General help using GNU software: <http://www.gnu.org/gethelp/>.
42113         * lib/version-etc.c: Print new information, if provided.
42114         * m4/version-etc.m4: New file.
42115         * modules/version-etc (Files): Add m4/version-etc.m4.
42116         (configure.ac): Add gl_VERSION_ETC.
42117
42118 2009-05-31  Bruno Haible  <bruno@clisp.org>
42119
42120         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42121         and 'int64_t'.
42122         * modules/alignof-tests (Dependencies): Add stdint.
42123         Reported by Eric Blake.
42124
42125 2009-05-31  Bruno Haible  <bruno@clisp.org>
42126
42127         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42128         restriction due to compiler bugs.
42129         Reported by Eric Blake.
42130
42131 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42132             Bruno Haible  <bruno@clisp.org>
42133
42134         Fix test-alignof failure.
42135         * lib/alignof.h (alignof_slot): New macro.
42136         (alignof_type): New macro, with the same semantics as the previous
42137         'alignof'.
42138         (alignof): Alias to alignof_slot.
42139         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42140         check that the results are usable as constant expressions.
42141
42142 2009-05-31  Bruno Haible  <bruno@clisp.org>
42143
42144         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42145         * tests/test-memchr.c (main): Check that memchr does not read past the
42146         first occurrence of the byte.
42147         * tests/test-strstr.c (main): Update comment.
42148         Suggested by Eric Blake.
42149
42150 2009-05-30  Bruno Haible  <bruno@clisp.org>
42151
42152         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42153         detail how to use dumpbin.
42154         Reported by David Byron <dbyron@dbyron.com>.
42155
42156 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42157
42158         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42159
42160 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42161
42162         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42163
42164 2009-05-28  Bruno Haible  <bruno@clisp.org>
42165
42166         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42167         build-aux/ files.
42168
42169 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42170
42171         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42172
42173 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42174
42175         * gnulib-tool (sed_transform_main_lib_file)
42176         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42177         regexps.
42178
42179 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42180
42181         * tests/test-strstr.c: Add another self-test.
42182         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42183         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42184
42185 2009-05-23  Bruno Haible  <bruno@clisp.org>
42186
42187         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42188         change.
42189
42190 2009-05-21  Bruno Haible  <bruno@clisp.org>
42191
42192         Simplify use of mode_t varargs.
42193         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42194         uses 'mode_t' or 'int'.
42195         * lib/openat.c (openat): Likewise.
42196         * lib/open-safer.c (open_safer): Likewise.
42197         * m4/mode_t.m4: New file.
42198         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42199         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42200         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42201         * modules/open (Files): Add m4/mode_t.m4.
42202         * modules/openat (Files): Likewise.
42203         * modules/fcntl-safer (Files): Likewise.
42204         Suggested by Eric Blake.
42205
42206 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42207
42208         * doc/glibc-functions/fallocate.texi: New file.
42209         * doc/gnulib.texi: Include it.
42210
42211 2009-05-21  Eric Blake  <ebb9@byu.net>
42212             Bruno Haible  <bruno@clisp.org>
42213
42214         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42215         invocations.
42216         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42217
42218 2009-05-21  Eric Blake  <ebb9@byu.net>
42219             Bruno Haible  <bruno@clisp.org>
42220
42221         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42222         include_next. Fix of 2008-11-20 commit.
42223         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42224         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42225         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42226         NEXT_MATH_H.
42227         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42228         instead of NEXT_MATH_H.
42229
42230 2009-05-21  Bruno Haible  <bruno@clisp.org>
42231
42232         Avoid redefinition warnings for SIZE_MAX.
42233         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42234         Reported by Simon Josefsson.
42235
42236 2009-05-21  Bruno Haible  <bruno@clisp.org>
42237
42238         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42239         AC_CACHE_VAL.
42240
42241 2009-05-20  Bruno Haible  <bruno@clisp.org>
42242
42243         Make zeroptr.h work on mingw.
42244         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42245         mprotect.
42246         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42247         * modules/memchr2-tests (configure.ac): Likewise.
42248         * modules/memcmp-tests (configure.ac): Likewise.
42249         * modules/memmem-tests (configure.ac): Likewise.
42250         * modules/memrchr-tests (configure.ac): Likewise.
42251         Reported by Simon Josefsson.
42252
42253 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42254
42255         * tests/test-glob.c: Include string.h for strcmp prototype.
42256
42257 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42258
42259         * modules/getdelim (Depends-on): Add explicit stdint, although it
42260         was implicitly already pulled in via realloc-posix.
42261         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42262
42263 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42264
42265         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42266         G. Christensen" <tgc@jupiterrise.com>.
42267         * m4/sys_socket_h.m4: Check for sa_family_t.
42268         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42269         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42270         * tests/test-sys_socket.c: Check that sa_family_t works.
42271
42272 2009-05-18  Eric Blake  <ebb9@byu.net>
42273
42274         maint.mk: allow gnulib_dir in VPATH build
42275         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42276
42277 2009-05-15  Jim Meyering  <meyering@redhat.com>
42278
42279         maint.mk: Give gnulib_dir a default definition.
42280         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42281         Thus, most packages no longer need to specify this variable in cfg.mk
42282
42283 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42284
42285         rename.m4: fix typos that would make non-mingw cross-configure fail
42286         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42287
42288 2009-05-13  Eric Blake  <ebb9@byu.net>
42289
42290         mmap-anon: avoid out-of-order autoconf expansion
42291         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42292         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42293         * modules/memchr-tests (Depends-on): Add extensions.
42294         * modules/memchr2-tests (Depends-on): Add extensions.
42295         * modules/memcmp-tests (Depends-on): Add extensions.
42296         * modules/memmem-tests (Depends-on): Add extensions.
42297         * modules/memrchr-tests (Depends-on): Add extensions.
42298
42299 2009-05-13  Bruno Haible  <bruno@clisp.org>
42300
42301         Make some tests ISO C 99 compliant.
42302         * tests/zerosize-ptr.h: New file.
42303         * tests/test-memchr.c: Include zerosize-ptr.h.
42304         (main): Use a zero-size object pointer instead of NULL.
42305         * tests/test-memchr2.c: Include zerosize-ptr.h.
42306         (main): Use a zero-size object pointer instead of NULL.
42307         * tests/test-memcmp.c: Include zerosize-ptr.h.
42308         (main): Use a zero-size object pointer instead of NULL.
42309         * tests/test-memmem.c: Include zerosize-ptr.h.
42310         (main): Use a zero-size object pointer instead of NULL.
42311         * tests/test-memrchr.c: Include zerosize-ptr.h.
42312         (main): Use a zero-size object pointer instead of NULL.
42313         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42314         m4/mmap-anon.m4.
42315         (Depends-on): Add getpagesize.
42316         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42317         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42318         m4/mmap-anon.m4.
42319         (Depends-on): Add getpagesize.
42320         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42321         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
42322         m4/mmap-anon.m4.
42323         (Depends-on): Add getpagesize.
42324         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42325         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
42326         m4/mmap-anon.m4.
42327         (Depends-on): Add getpagesize.
42328         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42329         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
42330         m4/mmap-anon.m4.
42331         (Depends-on): Add getpagesize.
42332         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42333
42334 2009-05-12  Bruno Haible  <bruno@clisp.org>
42335
42336         Tests for module 'alignof'.
42337         * modules/alignof-tests: New file.
42338         * tests/test-alignof.c: New file.
42339
42340 2009-05-12  Bruno Haible  <bruno@clisp.org>
42341
42342         Fix alignof macro.
42343         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42344         vendor compilers that are always correct.
42345
42346 2009-05-12  Bruno Haible  <bruno@clisp.org>
42347
42348         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42349         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42350         not whether its fully works.
42351
42352 2009-05-12  Bruno Haible  <bruno@clisp.org>
42353
42354         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
42355
42356 2009-05-12  Jim Meyering  <meyering@redhat.com>
42357
42358         * top/maint.mk: Adjust backslash alignment.
42359
42360 2009-05-11  Simon Josefsson  <simon@josefsson.org>
42361
42362         * top/maint.mk: Make $(srcdir)/build-aux configurable.
42363
42364 2009-05-11  Eric Blake  <ebb9@byu.net>
42365
42366         argp: avoid undefined behavior
42367         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
42368         macros.
42369
42370 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42371
42372         * tests/test-vc-list-files-git.sh: Do git config of user.email and
42373         user.name to prevent git commit from complaining.
42374
42375 2009-05-10  Bruno Haible  <bruno@clisp.org>
42376
42377         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
42378         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
42379         it rewrites every file name only once.
42380         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
42381
42382 2009-05-08  Bruno Haible  <bruno@clisp.org>
42383
42384         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
42385         instead of 'max'.
42386
42387 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42388
42389         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
42390         sockaddr_storage test.
42391
42392 2009-05-07  Simon Josefsson  <simon@josefsson.org>
42393
42394         * modules/sys_socket (Makefile.am): Substitute
42395         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
42396         * m4/sys_socket_h.m4: Check for sockaddr_storage.
42397         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
42398         * tests/test-sys_socket.c: Check sockaddr_storage.
42399
42400 2009-05-08  Bruno Haible  <bruno@clisp.org>
42401
42402         New module 'alignof'.
42403         * lib/alignof.h: New file.
42404         * modules/alignof: New file.
42405
42406 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42407             Bruno Haible  <bruno@clisp.org>
42408
42409         Fix test-file-has-acl on FreeBSD.
42410         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
42411         mask is implicitly added.
42412         * tests/test-file-has-acl.c: Include <signal.h>.
42413         (main): Terminate the test after 5 seconds.
42414         * modules/acl-tests (configure.ac): Check for alarm function.
42415
42416 2009-05-04  Bruno Haible  <bruno@clisp.org>
42417
42418         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
42419         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
42420         * modules/errno (configure.ac): Drop AC_REQUIRE.
42421         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
42422         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
42423
42424 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42425
42426         * modules/glob-tests: New module.
42427         * tests/test-glob.c: Add.
42428
42429 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42430
42431         * modules/fnmatch-tests: New module.
42432         * tests/test-fnmatch.c: Add.
42433
42434 2009-05-04  Eric Blake  <ebb9@byu.net>
42435
42436         maint: make the new no-submodule-changes rule VPATH-safe
42437         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
42438
42439 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42440             Bruno Haible  <bruno@clisp.org>
42441
42442         acl: Fix infinite loop on FreeBSD.
42443         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
42444         of return value from acl_get_entry.
42445         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
42446         Likewise.
42447
42448 2009-05-03  Bruno Haible  <bruno@clisp.org>
42449
42450         * lib/acl-internal.h (acl_entries): Clarify return value.
42451         * lib/acl_entries.c (acl_entries): Likewise.
42452
42453 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42454
42455         Bug fix in acl module.
42456         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
42457
42458 2009-05-03  Bruno Haible  <bruno@clisp.org>
42459
42460         Create gperf-generated file in the source dir, not in the build dir.
42461         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
42462         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
42463         * modules/unicase/locale-language (unicase/locale-languages.h):
42464         Likewise.
42465         * modules/unicase/special-casing (unicase/special-casing-table.h):
42466         Likewise.
42467         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
42468         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
42469         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
42470         Reported by Ralf Wildenhues.
42471
42472 2009-05-03  Bruno Haible  <bruno@clisp.org>
42473
42474         * modules/fnmatch (Description, configure.ac): Taken from
42475         fnmatch-posix.
42476         * modules/fnmatch-posix: Turn into a symbolic reference to the
42477         'fnmatch' module, and deprecate.
42478         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
42479
42480 2009-05-03  Bruno Haible  <bruno@clisp.org>
42481
42482         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
42483         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
42484         Reported by Ralf Wildenhues.
42485
42486 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42487
42488         * m4/fnmatch.m4: Fix fnmatch re-define.
42489
42490 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42491
42492         priv-set: new module and tests; adapt write-any-file
42493         * lib/priv-set.c: New file.
42494         * lib/priv-set.h: New file.
42495         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
42496         * lib/write-any-file.c: Simplify by using priv-set module.
42497         * m4/priv-set.m4: New file.
42498         * modules/priv-set: New file.
42499         * modules/unlinkdir: Add dependency on priv-set module.
42500         * modules/write-any-file: Likewise.
42501
42502         Tests for module 'priv-set'.
42503         * modules/priv-set-tests: New file.
42504         * tests/test-priv-set.c: New file.
42505
42506 2009-05-03  Jim Meyering  <meyering@redhat.com>
42507             Bruno Haible  <bruno@clisp.org>
42508
42509         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
42510         use the converted UTF-8 variant of the name instead.
42511
42512 2009-05-03  Jim Meyering  <meyering@redhat.com>
42513
42514         tests: tighten some getdate tests
42515         * tests/test-getdate.c (main): Tighten tests: require equality,
42516         not just greater than.  Set TZ envvar to UTC0.
42517
42518 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
42519
42520         getdate: correctly interpret "next monday" when run on a Monday
42521         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
42522         that e.g., "next tues" (when run on a tuesday) results in a date
42523         that is one week in the future, and not today's date.
42524         I.e., add a week when the wday is the same as the current one.
42525         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
42526         and earlier by Martin Bernreuther and Jan Minář.
42527         * tests/test-getdate.c (main): Check that "next DAY" is always in
42528         the future and that "last DAY" is always in the past.
42529
42530 2009-05-02  Jim Meyering  <meyering@redhat.com>
42531
42532         build: ensure that a release build fails when a submodule is unclean
42533         * top/maint.mk (no-submodule-changes): New rule.
42534         (alpha beta major): Depend on it.
42535
42536 2009-05-02  Bruno Haible  <bruno@clisp.org>
42537
42538         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
42539         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
42540         shell variable gl_fnmatch_required to detect which variant is
42541         requested.
42542         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
42543         gl_FUNC_FNMATCH_POSIX.
42544         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
42545         exclude fnmatch-posix.
42546
42547 2009-05-02  Bruno Haible  <bruno@clisp.org>
42548
42549         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
42550         * modules/mbsrtowcs (License): Change to LGPLv2+.
42551         * modules/strnlen1 (License): Likewise.
42552         Reported by Simon Josefsson.
42553
42554 2009-05-02  Bruno Haible  <bruno@clisp.org>
42555
42556         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
42557         "cross".
42558         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
42559         gnulib-tool was called with option --source-base=lib.
42560
42561 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42562
42563         Use automake *-local hooks without commands, for extensibility.
42564         * modules/localcharset (Makefile.am): Rename install-exec-local
42565         rule to install-exec-localcharset, and make it a prerequisite of
42566         install-exec-local.  Likewise, rename the uninstall-local rule to
42567         uninstall-localcharset, and make it a prerequisite of the former.
42568
42569 2009-05-01  Bruno Haible  <bruno@clisp.org>
42570
42571         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
42572         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42573         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
42574         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
42575         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
42576         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42577         m4/locale-zh.m4, m4/codeset.m4.
42578
42579         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42580         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
42581         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42582         m4/locale-zh.m4.
42583
42584         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
42585         REPLACE_WCRTOMB if mbstate_t must be replaced.
42586         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
42587         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
42588
42589 2009-05-01  Bruno Haible  <bruno@clisp.org>
42590
42591         Avoid compiler warnings when redefining macros defined by <libintl.h>.
42592         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
42593         dngettext, dcngettext, textdomain, bindtextdomain,
42594         bind_textdomain_codeset): Undefine before redefining.
42595
42596 2009-04-30  Bruno Haible  <bruno@clisp.org>
42597
42598         Fix bug introduced on 2009-04-25.
42599         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
42600         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
42601         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
42602         is defined.
42603         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
42604         is defined.
42605         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
42606         is defined.
42607         Reported by Elbert_Pol <elbert.pol@gmail.com>.
42608
42609 2009-04-28  Bruno Haible  <bruno@clisp.org>
42610
42611         Comment tweaks.
42612         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
42613         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
42614         * lib/unicase.h (u*_casexfrm): Likewise.
42615         Reported by Paolo Bonzini.
42616
42617 2009-04-28  Bruno Haible  <bruno@clisp.org>
42618
42619         Fix a compilation error.
42620         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
42621         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
42622         Reported by Jim Meyering.
42623
42624 2009-04-27  Bruno Haible  <bruno@clisp.org>
42625
42626         New module 'libunistring'.
42627         * modules/libunistring: New file.
42628         * m4/libunistring.m4: New file.
42629         * MODULES.html.sh (Unicode string functions): Add it.
42630
42631 2009-04-27  Eric Blake  <ebb9@byu.net>
42632
42633         maint.mk: allow package-specific header to provide <config.h>
42634         * top/maint.mk (sc_require_config_h): New variable.
42635         (sc_require_config_h, sc_require_config_h_first): Use it.
42636
42637 2009-04-27  Simon Josefsson  <simon@josefsson.org>
42638
42639         * top/maint.mk (sc_avoid_if_before_free): Except
42640         useless-if-before-free script.
42641
42642 2009-04-27  Eric Blake  <ebb9@byu.net>
42643
42644         maintainer-makefile: depend on all required helper scripts
42645         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
42646         useless-if-before-free.
42647         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
42648         version, rather than assuming gnulib checkout is available.
42649         Reported by Simen Josefsson.
42650
42651 2009-04-26  Bruno Haible  <bruno@clisp.org>
42652
42653         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
42654         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
42655         "../" or "..".
42656
42657 2009-04-26  Bruno Haible  <bruno@clisp.org>
42658
42659         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
42660         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
42661         AC_LIB_HAVE_LINKFLAGS.
42662
42663 2009-04-26  Bruno Haible  <bruno@clisp.org>
42664
42665         Simplify calling convention of u*_conv_from_encoding.
42666         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
42667         u32_conv_from_encoding): Expect a resultbuf argument and return the
42668         result directly as a pointer.
42669         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
42670         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
42671         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
42672         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
42673         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
42674         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42675         Update.
42676         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
42677         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
42678         * lib/vasnprintf.c (VASNPRINTF): Update.
42679         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
42680         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
42681         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
42682         * NEWS: Mention the change.
42683
42684 2009-04-26  Bruno Haible  <bruno@clisp.org>
42685
42686         Simplify calling convention of u*_conv_to_encoding.
42687         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
42688         u32_conv_to_encoding): Expect a resultbuf argument and return the
42689         result directly as a pointer.
42690         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42691         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
42692         freeing scaled_offsets if mem_iconveha failed.
42693         * lib/unicase/u-casexfrm.h (FUNC): Update.
42694         * lib/uninorm/u-normxfrm.h (FUNC): Update.
42695         * lib/vasnprintf.c (VASNPRINTF): Update.
42696         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
42697         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
42698         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
42699         * NEWS: Mention the change.
42700
42701 2009-04-26  Bruno Haible  <bruno@clisp.org>
42702
42703         Avoid test failures on AIX and OSF/1.
42704         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
42705         malloc(0).
42706         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42707         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42708         Likewise.
42709         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
42710         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
42711         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
42712         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
42713         * doc/posix-functions/malloc.texi: Document the portability problem
42714         related to malloc(0).
42715
42716 2009-04-26  Bruno Haible  <bruno@clisp.org>
42717
42718         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
42719         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
42720         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
42721
42722 2009-04-25  Bruno Haible  <bruno@clisp.org>
42723
42724         Avoid link error when creating a namespace clean library.
42725         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
42726         as macro with arguments if already defined as an alias.
42727         * lib/signbitf.c (gl_signbitf): Don't undefine.
42728         * lib/signbitd.c (gl_signbitd): Don't undefine.
42729         * lib/signbitl.c (gl_signbitl): Don't undefine.
42730
42731 2009-04-25  Jim Meyering  <meyering@redhat.com>
42732
42733         vc-list-files: fix another quoting bug
42734         * build-aux/vc-list-files: Avoid sed backslash expansion
42735         of pathological directory names.
42736
42737 2009-04-25  Eric Blake  <ebb9@byu.net>
42738
42739         vc-list-files: fix shell quoting error
42740         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
42741         timestamp.
42742
42743 2009-04-25  Jim Meyering  <meyering@redhat.com>
42744
42745         vc-list-files: restore lost functionality with subdir argument
42746         * build-aux/vc-list-files: When given a non-"." sub-directory
42747         argument, substitute the $dir/ prefix back onto each resulting name.
42748         Otherwise, coreutils' root_tests check would fail.
42749
42750 2009-04-24  Eric Blake  <ebb9@byu.net>
42751
42752         vc-list-files: ignore git symlinks
42753         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
42754         than ls-files, to ignore git symlinks.
42755
42756         maint.mk: import improvements from m4
42757         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
42758         (move_if_change): Delete unused macro.
42759         (news-date-check, vc-diff-check): Support VPATH builds.
42760         (announcement): Likewise.  Split --bootstrap-tools list...
42761         (boostrap-tools): ...into separate list, which can be overridden
42762         in cfg.mk.
42763         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
42764         requiring dependency on useless-if-before-free module.
42765         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
42766         Support VPATH builds.
42767
42768 2009-04-24  Jim Meyering  <meyering@redhat.com>
42769
42770         maint.mk: remove coreutils-specific rules and variables
42771         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
42772         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
42773         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
42774
42775         maint.mk: remove obsolete rule
42776         * top/maint.mk (rel-check): Remove rule.
42777         (WGET, WGETFLAGS): Remove now-unused variables.
42778
42779 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42780
42781         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
42782         consistency.
42783
42784         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
42785         '$(PATH_SEPARATOR)' instead of ':'.
42786
42787 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42788
42789         * lib/getopt1.c (main): Use 'const' for static array.
42790
42791 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42792
42793         * top/maint.mk: Sync with coreutils.
42794         * NEWS: Explain incompatibilities.
42795
42796 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42797             Bruno Haible  <bruno@clisp.org>
42798
42799         Fix cross-compilation results.
42800         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
42801         statement, as third argument of AC_TRY_RUN.
42802         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
42803         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
42804         Likewise.
42805         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
42806         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
42807         Likewise.
42808         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
42809         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
42810         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
42811
42812 2009-04-20  Bruno Haible  <bruno@clisp.org>
42813
42814         Avoid test failure on mingw.
42815         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
42816
42817 2009-04-20  Bruno Haible  <bruno@clisp.org>
42818
42819         Avoid compilation error on mingw.
42820         * modules/localename-tests (Depends-on): Add locale.
42821
42822 2009-04-19  Bruno Haible  <bruno@clisp.org>
42823
42824         Support for building a shared library on Windows platforms.
42825         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
42826         (main): Test the presence of UNINORM_NFC here.
42827         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
42828         (main): Test the presence of UNINORM_NFD here.
42829         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
42830         (main): Test the presence of UNINORM_NFKC here.
42831         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
42832         (main): Test the presence of UNINORM_NFKD here.
42833
42834 2009-04-19  Bruno Haible  <bruno@clisp.org>
42835
42836         Avoid a compiler warning.
42837         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
42838         Change type of variable 'sequence'.
42839
42840 2009-04-19  Bruno Haible  <bruno@clisp.org>
42841
42842         * modules/configmake (Makefile.am): When the contents of configmake.h
42843         does not change, arrange to preserve its modification time.
42844
42845 2009-04-17  Simon Josefsson  <simon@josefsson.org>
42846
42847         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
42848         gettext domain.
42849
42850 2009-04-16  Jim Meyering  <meyering@redhat.com>
42851
42852         useless-if-before-free: improve conversion code
42853         * build-aux/useless-if-before-free: Adjust code-in-comment to match
42854         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
42855
42856 2009-04-14  Bruno Haible  <bruno@clisp.org>
42857
42858         * modules/fcntl (Depends-on): Add extensions.
42859         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
42860
42861 2009-04-12  Ben Pfaff  <blp@gnu.org>
42862
42863         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
42864         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
42865
42866 2009-03-20  Ben Pfaff  <blp@gnu.org>
42867
42868         Make rename replace existing destinations on Windows.
42869         * m4/rename.m4: Add test for Mingw.
42870         * lib/rename.c: Add rename replacement that uses MoveFileEx with
42871         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
42872         * doc/posix-functions/rename.texi: Document.
42873
42874 2009-04-10  Bruno Haible  <bruno@clisp.org>
42875
42876         New include file "iconveh.h".
42877         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
42878         * lib/striconveh.h: Include it.
42879         (enum iconv_ilseq_handler): Remove definition.
42880         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
42881         striconveh.h.
42882         * lib/striconveha.c: Include striconveh.h.
42883         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
42884         * modules/striconveh (Files): Add lib/iconveh.h.
42885         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
42886         lib/striconveh.h.
42887
42888 2009-04-10  Bruno Haible  <bruno@clisp.org>
42889
42890         * lib/uniconv.h: Update comment.
42891
42892 2009-04-10  Bruno Haible  <bruno@clisp.org>
42893
42894         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
42895         always.
42896         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
42897         * lib/unistr/u16-mbtouc-aux.c: Likewise.
42898         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
42899         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
42900         "unistring-notinline.h", so that the function gets defined always.
42901         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
42902         * lib/unistr/u8-uctomb.c: Likewise.
42903         * lib/unistr/u16-mbtouc.c: Likewise.
42904         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
42905         * lib/unistr/u16-uctomb.c: Likewise.
42906         * lib/unistr/u32-mbtouc.c: Likewise.
42907         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
42908         * lib/unistr/u32-uctomb.c: Likewise.
42909
42910 2009-04-10  Bruno Haible  <bruno@clisp.org>
42911
42912         Mark 'utime' obsolete.
42913         * modules/utime (Status, Notice): New sections.
42914         Suggested by Jim Meyering.
42915
42916         Fix cross-compile guess for utime test.
42917         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
42918         autoconf.
42919         * doc/posix-functions/utime.texi: Give more precisions.
42920         Reported by Jan <ipif@ymail.com>.
42921
42922 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
42923
42924         filevercmp: correct today's change
42925         * lib/filevercmp.c: Also handle coreutils' test inputs.
42926         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
42927
42928         Fix regression in 'filevercmp' module. Thanks Sven Joachim
42929         for reporting it.
42930         * lib/filevercmp.c: Special handle for "", "." and "..".
42931         * tests/test-filevercmp.c: Enlarge the set suite.
42932
42933 2009-04-07  Jim Meyering  <meyering@redhat.com>
42934
42935         useless-if-before-free: show how to remove braced useless free, too
42936         * build-aux/useless-if-before-free: still only in a comment, though.
42937
42938 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
42939
42940         maint.mk: import changes to syntax-check macros from coreutils
42941         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
42942         Use them in the relevant macros.
42943
42944 2009-04-06  Bruno Haible  <bruno@clisp.org>
42945
42946         Fix unportable use of bit-fields.
42947         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
42948         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
42949         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
42950
42951 2009-04-06  Bruno Haible  <bruno@clisp.org>
42952
42953         Avoid test failures on AIX and OSF/1.
42954         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
42955         that malloc(0) = NULL.
42956         * tests/unicase/test-u8-tolower.c (check): Likewise.
42957         * tests/unicase/test-u8-totitle.c (check): Likewise.
42958         * tests/unicase/test-u8-toupper.c (check): Likewise.
42959         * tests/unicase/test-u16-casefold.c (check): Likewise.
42960         * tests/unicase/test-u16-tolower.c (check): Likewise.
42961         * tests/unicase/test-u16-totitle.c (check): Likewise.
42962         * tests/unicase/test-u16-toupper.c (check): Likewise.
42963         * tests/unicase/test-u32-casefold.c (check): Likewise.
42964         * tests/unicase/test-u32-tolower.c (check): Likewise.
42965         * tests/unicase/test-u32-totitle.c (check): Likewise.
42966         * tests/unicase/test-u32-toupper.c (check): Likewise.
42967         * tests/uninorm/test-u8-nfc.c (check): Likewise.
42968         * tests/uninorm/test-u8-nfd.c (check): Likewise.
42969         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
42970         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
42971         * tests/uninorm/test-u16-nfc.c (check): Likewise.
42972         * tests/uninorm/test-u16-nfd.c (check): Likewise.
42973         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
42974         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
42975         * tests/uninorm/test-u32-nfc.c (check): Likewise.
42976         * tests/uninorm/test-u32-nfd.c (check): Likewise.
42977         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
42978         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
42979
42980 2009-04-05  Bruno Haible  <bruno@clisp.org>
42981
42982         Work around an autoconf limitation.
42983         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
42984         comment line if it would be longer than 3 KB.
42985
42986 2009-04-05  Bruno Haible  <bruno@clisp.org>
42987
42988         Avoid test failure with libiconv-1.13.
42989         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
42990         of the expected test results.
42991
42992 2009-04-05  Bruno Haible  <bruno@clisp.org>
42993
42994         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
42995         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
42996         that it should be installed.
42997
42998 2009-04-05  Bruno Haible  <bruno@clisp.org>
42999
43000         * gnulib-tool: New option --copy-file.
43001         (func_usage): Document it.
43002         (func_dest_tmpfilename): Moved out of func_import.
43003         (func_add_file, func_update_file): New functions, extracted from
43004         func_import.
43005         (func_import): Update.
43006
43007 2009-04-05  Karl Berry  <karl@gnu.org>
43008
43009         * README: prominently mention gnulib-tool.
43010         Rearrange sections so getting the code is near the top.
43011
43012 2009-04-05  Bruno Haible  <bruno@clisp.org>
43013
43014         * lib/unicase.h: Mention u*_cmp2.
43015         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43016         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43017         * lib/unicase/ulc-casecmp.c: Likewise.
43018         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43019         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43020         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43021         unistr/u8-cmp.
43022         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43023         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43024         unistr/u16-cmp.
43025         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43026         unistr/u32-cmp.
43027
43028         * lib/uninorm.h: Mention u*_cmp2.
43029         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43030         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43031         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43032         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43033         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43034         unistr/u8-cmp.
43035         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43036         unistr/u16-cmp.
43037         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43038         unistr/u32-cmp.
43039
43040         New module 'unistr/u32-cmp2'.
43041         * lib/unistr/u32-cmp2.c: New file.
43042         * modules/unistr/u32-cmp2: New file.
43043
43044         New module 'unistr/u16-cmp2'.
43045         * lib/unistr/u16-cmp2.c: New file.
43046         * modules/unistr/u16-cmp2: New file.
43047
43048         New module 'unistr/u8-cmp2'.
43049         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43050         * lib/unistr/u8-cmp2.c: New file.
43051         * lib/unistr/u-cmp2.h: New file.
43052         * modules/unistr/u8-cmp2: New file.
43053
43054 2009-04-05  Bruno Haible  <bruno@clisp.org>
43055
43056         * lib/unictype.h (uc_property_is_valid): New macro.
43057         * tests/unictype/test-pr_byname.c (main): Use it.
43058
43059         * lib/unistr.h: Doc fixes.
43060         * lib/uniconv.h: Doc fixes.
43061         * lib/unictype.h: Doc fixes.
43062
43063 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43064
43065         Port coreutils 7.2 to Solaris 8.
43066
43067         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43068         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43069         for Solaris 8.  This is a bit of a hack, as it means it's the
43070         caller's responsibility to add -lnsl if needed, but most likely it
43071         won't be needed since only getaddrinfo uses this and getaddrinfo
43072         isn't needed on Solaris 8.
43073
43074         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43075         problem to Solaris 8 encountered with coreutils 7.2, which
43076         resulted in a message "fnmatch.c:292: warning: passing argument 4
43077         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43078         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43079
43080 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43081
43082         * m4/ld-version-script.m4: Add FIXME comment.
43083
43084 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43085
43086         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43087         SOVERSION variable.
43088
43089 2009-04-02  Bruno Haible  <bruno@clisp.org>
43090
43091         * Makefile (info, html, dvi, pdf): Combine the rules.
43092         Suggested by Jim Meyering.
43093
43094 2009-04-01  Bruno Haible  <bruno@clisp.org>
43095
43096         * Makefile (info, html, dvi, pdf): New targets.
43097         Reported by Reuben Thomas <rrt@sc3d.org>.
43098
43099 2009-04-01  Bruno Haible  <bruno@clisp.org>
43100
43101         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43102         can be put into PATH.
43103         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43104
43105 2009-04-01  Bruno Haible  <bruno@clisp.org>
43106
43107         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43108
43109 2009-04-01  Bruno Haible  <bruno@clisp.org>
43110
43111         Rename module 'visibility'.
43112         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43113         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43114         * doc/gnulib.texi: Update.
43115         * MODULES.html.sh (Misc): Update.
43116         * NEWS: Mention the change.
43117
43118 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43119
43120         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43121         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43122         Eric Blake <ebb9@byu.net> for review.
43123         * MODULES.html.sh: Add lib-msvc-compat.
43124         * doc/gnulib.texi: Link to new section.
43125         * m4/ld-output-def.m4: New file.
43126         * doc/ld-output-def.texi: New file.
43127
43128 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43129
43130         Rename ld-version-script to lib-symbol-versions.  Suggested by
43131         Bruno Haible <bruno@clisp.org>.
43132         * modules/ld-version-script: Renamed to lib-symbol-versions.
43133         * doc/ld-version-script.texi: Fix module name.
43134         * MODULES.html.sh: Add lib-symbol-versions.
43135
43136 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43137
43138         * modules/u64-tests: New file.
43139         * tests/test-u64.c: New file.
43140
43141 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43142
43143         * MODULES.html.sh: Mention u64.
43144         * modules/u64: New module.
43145         * modules/crypto/sha512: Depend on u64 module instead of providing
43146         u64.h.
43147
43148 2009-03-27  Eric Blake  <ebb9@byu.net>
43149
43150         test-strerror: make debugging EAI_SYSTEM easier
43151         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43152         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43153         failure was EAI_SYSTEM.
43154
43155 2009-03-25  Bruno Haible  <bruno@clisp.org>
43156
43157         Fix a problem with --enable-relocatable on Solaris 7.
43158         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43159         since 2008-02-24.
43160
43161 2009-03-25  Eric Blake  <ebb9@byu.net>
43162
43163         test-sockets: avoid gcc warning
43164         * tests/test-sockets.c (main): Silence compiler warning.
43165
43166 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43167
43168         New modules nproc, pthread, contributed by Glen Lenker.
43169
43170         * MODULES.html.sh: Add pthread, nproc.
43171         * lib/nproc.c: New file.
43172         * lib/nproc.h: New file.
43173         * lib/pthread.in.h: New file.
43174         * m4/pthread.m4: New file.
43175         * modules/nproc: New file.
43176         * modules/pthread: New file.
43177
43178 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43179
43180         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43181         New variable.
43182
43183 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43184
43185         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43186         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43187         * tests/test-filevercmp.c: Add tests for backup suffixes.
43188
43189 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43190
43191         * modules/stdlib (Depends-on): Add stdint, needed when defining
43192         struct random_data on, for example, HP-UX 10.20.  Reported by
43193         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43194
43195 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43196
43197         * lib/readline.c (readline): Call fflush on stdout after printing
43198         prompt.
43199
43200 2009-03-20  Bruno Haible  <bruno@clisp.org>
43201
43202         Remove dependency from 'close' module to -lws2_32 on native Windows.
43203         * lib/close-hook.h: New file.
43204         * lib/close-hook.c: New file.
43205         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43206         w32sock.h.
43207         (_gl_close_fd_maybe_socket): Remove function.
43208         (rpl_close): Invoke execute_all_close_hooks instead of
43209         _gl_close_fd_maybe_socket.
43210         * lib/sockets.c: Include close-hook.h, w32sock.h.
43211         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43212         (close_sockets_hook): New variable.
43213         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43214         (gl_sockets_cleanup): Unregister it.
43215         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43216         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43217         * modules/close-hook: New file.
43218         * modules/close (Files): Remove lib/w32sock.h.
43219         (Depends-on): Add close-hook.
43220         (Link): Remove section.
43221         * modules/sockets (Files): Add lib/w32sock.h.
43222         (Depends-on): Add close-hook.
43223         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43224         invocation.
43225         * NEWS: Mention that LIB_CLOSE is gone.
43226
43227 2009-03-23  Eric Blake  <ebb9@byu.net>
43228
43229         signal-tests: test previous patch
43230         * tests/test-signal.c: New file.
43231         * modules/signal-tests: Likewise.
43232
43233         signal.h: always support 'volatile sig_atomic_t'
43234         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43235         (gl_SIGNAL_H_DEFAULTS): Add a default.
43236         * modules/signal (Makefile.am): Substitute if needed.
43237         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43238         users can blindly add volatile.
43239         * doc/posix-headers/signal.texi (signal.h): Document it.
43240         Reported by Matthew Woehlke.
43241
43242 2009-03-23  Jim Meyering  <meyering@redhat.com>
43243
43244         pathmax: PATH_MAX: use pathconf only when available
43245         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43246         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43247         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43248         This avoids a link failure in a PSP cross-compilation environment
43249         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43250
43251         * lib/vasnprintf.c (divide): Fix typo in comment.
43252
43253 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43254
43255         * gnulib-tool (func_filter_filelist): Fix comment.
43256
43257 2009-03-20  Bruno Haible  <bruno@clisp.org>
43258
43259         Make sockets.h self-contained.
43260         * lib/sockets.c: Include sockets.h first.
43261         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43262
43263 2009-03-19  Eric Blake  <ebb9@byu.net>
43264
43265         doc: mention more functions added in cygwin 1.7.0
43266         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43267         addition.
43268         * doc/posix-functions/log2f.texi: Likewise.
43269
43270 2009-03-19  Jim Meyering  <meyering@redhat.com>
43271
43272         fsusage: avoid syntax error due to statement-before-declaration
43273         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43274         after all declarations.  Reported by Matthew Woehlke in
43275         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43276
43277 2009-03-18  Eric Blake  <ebb9@byu.net>
43278
43279         build-aux/compile: sync from automake
43280         * build-aux/compile: New file, from automake.
43281         * config/srclist.txt: Mention build-aux/compile.
43282
43283 2009-03-17  Bruno Haible  <bruno@clisp.org>
43284
43285         * lib/git-merge-changelog.c: Fix typo in comment.
43286         Reported by Reuben Thomas <rrt@sc3d.org>.
43287
43288 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43289
43290         * m4/regex.m4: update and improve help for
43291         --without-included-regex.
43292
43293 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43294
43295         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43296         failure on missing include files.
43297
43298 2009-03-17  Eric Blake  <ebb9@byu.net>
43299
43300         doc: mention more functions added in cygwin 1.7.0
43301         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43302         addition.
43303         * doc/posix-functions/fwscanf.texi: Likewise.
43304         * doc/posix-functions/swprintf.texi: Likewise.
43305         * doc/posix-functions/swscanf.texi: Likewise.
43306         * doc/posix-functions/vfwprintf.texi: Likewise.
43307         * doc/posix-functions/vfwscanf.texi: Likewise.
43308         * doc/posix-functions/vswprintf.texi: Likewise.
43309         * doc/posix-functions/vswscanf.texi: Likewise.
43310         * doc/posix-functions/vwprintf.texi: Likewise.
43311         * doc/posix-functions/vwscanf.texi: Likewise.
43312         * doc/posix-functions/wcscasecmp.texi: Likewise.
43313         * doc/posix-functions/wcsdup.texi: Likewise.
43314         * doc/posix-functions/wcsftime.texi: Likewise.
43315         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43316         * doc/posix-functions/wprintf.texi: Likewise.
43317         * doc/posix-functions/wscanf.texi: Likewise.
43318         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43319
43320 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43321
43322         maint.mk: really add $(AM_MAKEFLAGS)
43323         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
43324         was inadvertently omitted in the last commit.
43325         Spotted by Bruno Haible.
43326
43327         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
43328         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
43329         $(AM_MAKEFLAGS)' rather than plain `make'.
43330
43331         gnulib-tool: execute $MAKE not make
43332         * gnulib-tool: Default $MAKE to 'make'.
43333         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
43334         than make.  Initialize $MAKE in the do-autobuild script.
43335
43336         gnulib-tool: use $MAKE not make in generated files
43337         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43338         make, in generated files.  Initialize $MAKE in the do-autobuild
43339         script.
43340
43341         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43342
43343         GNUmakefile: disable parallelism only for multiple, recursive targets
43344         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43345         additions in the Makefile.
43346         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43347         by Automake.
43348         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43349         are listed on the command line and at least one of them is
43350         listed in $(ALL_RECURSIVE_TARGETS).
43351
43352 2009-03-14  Bruno Haible  <bruno@clisp.org>
43353
43354         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
43355         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
43356         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
43357         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
43358         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
43359         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
43360         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
43361         unistr/u8-uctomb.
43362         * modules/unistr/u8-strchr (Depends-on): Likewise.
43363         * modules/unistr/u8-strrchr (Depends-on): Likewise.
43364         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
43365         unistr/u16-uctomb.
43366         * modules/unistr/u16-strchr (Depends-on): Likewise.
43367         * modules/unistr/u16-strrchr (Depends-on): Likewise.
43368
43369 2009-03-12  Bruno Haible  <bruno@clisp.org>
43370
43371         Work around select() bug on Interix 3.5.
43372         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
43373         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
43374         * m4/select.m4: New file.
43375         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
43376         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
43377         * modules/select (Files): Add m4/select.m4.
43378         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
43379         * modules/nanosleep (Depends-on): Add select.
43380         * modules/poll (Depends-on): Likewise.
43381         * doc/posix-functions/select.texi: Mention the Interix bug.
43382         Reported by Markus Duft <mduft@gentoo.org>.
43383
43384         * lib/select.c: Renamed from lib/winsock-select.c.
43385         * modules/select (Files): Add lib/select.c, remove
43386         lib/winsock-select.c.
43387         (configure.ac): Update.
43388
43389 2009-03-12  Jim Meyering  <meyering@redhat.com>
43390
43391         avoid gcc warnings about unused macro definitions
43392         * lib/readtokens.c (STREQ): Remove unused definition.
43393         * lib/xmalloc.c (SIZE_MAX): Likewise.
43394         * lib/openat-die.c (N_): Likewise.
43395         * lib/mountlist.c (SIZE_MAX): Remove definition.
43396         Instead, include <stdint.h>.
43397         * lib/readutmp.c: Likewise.
43398         * modules/readutmp (Depends-on): Add stdint.
43399         * modules/mountlist (Depends-on): Add stdint.
43400         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
43401
43402 2009-03-10  Bruno Haible  <bruno@clisp.org>
43403
43404         Tests for module 'mbmemcasecoll'.
43405         * modules/mbmemcasecoll-tests: New file.
43406         * tests/test-mbmemcasecoll1.sh: New file.
43407         * tests/test-mbmemcasecoll2.sh: New file.
43408         * tests/test-mbmemcasecoll3.sh: New file.
43409         * tests/test-mbmemcasecoll.c: New file.
43410
43411         New module 'mbmemcasecoll'.
43412         * lib/mbmemcasecoll.h: New file.
43413         * lib/mbmemcasecoll.c: New file.
43414         * modules/mbmemcasecoll: New file.
43415
43416         * tests/test-mbmemcasecmp.h: New file, extracted from
43417         tests/test-mbmemcasecmp.c.
43418         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
43419         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
43420         (main): Update.
43421         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
43422
43423 2009-03-09  Bruno Haible  <bruno@clisp.org>
43424
43425         Tests for module 'mbmemcasecmp'.
43426         * modules/mbmemcasecmp-tests: New file.
43427         * tests/test-mbmemcasecmp1.sh: New file.
43428         * tests/test-mbmemcasecmp2.sh: New file.
43429         * tests/test-mbmemcasecmp3.sh: New file.
43430         * tests/test-mbmemcasecmp.c: New file.
43431
43432         New module 'mbmemcasecmp'.
43433         * lib/mbmemcasecmp.h: New file.
43434         * lib/mbmemcasecmp.c: New file.
43435         * modules/mbmemcasecmp: New file.
43436
43437 2009-03-09  Bruno Haible  <bruno@clisp.org>
43438
43439         Tests for module 'unicase/ulc-casecoll'.
43440         * modules/unicase/ulc-casecoll-tests: New file.
43441         * tests/unicase/test-ulc-casecoll1.sh: New file.
43442         * tests/unicase/test-ulc-casecoll2.sh: New file.
43443         * tests/unicase/test-ulc-casecoll.c: New file.
43444
43445         New module 'unicase/ulc-casecoll'.
43446         * lib/unicase.h (ulc_casecoll): New declaration.
43447         * lib/unicase/ulc-casecoll.c: New file.
43448         * modules/unicase/ulc-casecoll: New file.
43449
43450         New module 'unicase/ulc-casexfrm'.
43451         * lib/unicase.h (ulc_casexfrm): New declaration.
43452         * lib/unicase/ulc-casexfrm.c: New file.
43453         * modules/unicase/ulc-casexfrm: New file.
43454
43455 2009-03-09  Bruno Haible  <bruno@clisp.org>
43456
43457         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
43458         invocations.
43459
43460         * m4/mbscasecmp.m4: Remove file.
43461         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
43462         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
43463
43464         * m4/mbscasestr.m4: Remove file.
43465         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
43466         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
43467
43468         * m4/mbschr.m4: Remove file.
43469         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
43470         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
43471
43472         * m4/mbscspn.m4: Remove file.
43473         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
43474         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
43475
43476         * m4/mbslen.m4: Remove file.
43477         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
43478         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
43479
43480         * m4/mbsncasecmp.m4: Remove file.
43481         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
43482         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
43483
43484         * m4/mbsnlen.m4: Remove file.
43485         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
43486         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
43487
43488         * m4/mbspbrk.m4: Remove file.
43489         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
43490         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
43491
43492         * m4/mbspcasecmp.m4: Remove file.
43493         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
43494         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
43495
43496         * m4/mbsrchr.m4: Remove file.
43497         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
43498         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
43499
43500         * m4/mbssep.m4: Remove file.
43501         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
43502         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
43503
43504         * m4/mbsspn.m4: Remove file.
43505         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
43506         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
43507
43508         * m4/mbsstr.m4: Remove file.
43509         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
43510         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
43511
43512         * m4/mbstok_r.m4: Remove file.
43513         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
43514         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
43515
43516         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
43517
43518         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
43519         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
43520
43521         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
43522
43523 2009-03-08  Bruno Haible  <bruno@clisp.org>
43524
43525         Tests for module 'unicase/ulc-casecmp'.
43526         * modules/unicase/ulc-casecmp-tests: New file.
43527         * tests/unicase/test-ulc-casecmp1.sh: New file.
43528         * tests/unicase/test-ulc-casecmp2.sh: New file.
43529         * tests/unicase/test-ulc-casecmp.c: New file.
43530
43531         New module 'unicase/ulc-casecmp'.
43532         * lib/unicase.h (ulc_casecmp): New declaration.
43533         * lib/unicase/ulc-casecmp.c: New file.
43534         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
43535         'const SRC_UNIT *'.
43536         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
43537         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
43538         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
43539         * modules/unicase/ulc-casecmp: New file.
43540
43541         Tests for module 'unicase/u32-is-cased'.
43542         * modules/unicase/u32-is-cased-tests: New file.
43543         * tests/unicase/test-u32-is-cased.c: New file.
43544
43545         Tests for module 'unicase/u16-is-cased'.
43546         * modules/unicase/u16-is-cased-tests: New file.
43547         * tests/unicase/test-u16-is-cased.c: New file.
43548
43549         Tests for module 'unicase/u8-is-cased'.
43550         * modules/unicase/u8-is-cased-tests: New file.
43551         * tests/unicase/test-u8-is-cased.c: New file.
43552         * tests/unicase/test-is-cased.h: New file.
43553
43554         New module 'unicase/u32-is-cased'.
43555         * lib/unicase/u32-is-cased.c: New file.
43556         * modules/unicase/u32-is-cased: New file.
43557
43558         New module 'unicase/u16-is-cased'.
43559         * lib/unicase/u16-is-cased.c: New file.
43560         * modules/unicase/u16-is-cased: New file.
43561
43562         New module 'unicase/u8-is-cased'.
43563         * lib/unicase/u8-is-cased.c: New file.
43564         * lib/unicase/u-is-cased.h: New file.
43565         * modules/unicase/u8-is-cased: New file.
43566
43567         Tests for module 'unicase/u32-is-casefolded'.
43568         * modules/unicase/u32-is-casefolded-tests: New file.
43569         * tests/unicase/test-u32-is-casefolded.c: New file.
43570
43571         Tests for module 'unicase/u16-is-casefolded'.
43572         * modules/unicase/u16-is-casefolded-tests: New file.
43573         * tests/unicase/test-u16-is-casefolded.c: New file.
43574
43575         Tests for module 'unicase/u8-is-casefolded'.
43576         * modules/unicase/u8-is-casefolded-tests: New file.
43577         * tests/unicase/test-u8-is-casefolded.c: New file.
43578         * tests/unicase/test-is-casefolded.h: New file.
43579
43580         New module 'unicase/u32-is-casefolded'.
43581         * lib/unicase/u32-is-casefolded.c: New file.
43582         * modules/unicase/u32-is-casefolded: New file.
43583
43584         New module 'unicase/u16-is-casefolded'.
43585         * lib/unicase/u16-is-casefolded.c: New file.
43586         * modules/unicase/u16-is-casefolded: New file.
43587
43588         New module 'unicase/u8-is-casefolded'.
43589         * lib/unicase/u8-is-casefolded.c: New file.
43590         * modules/unicase/u8-is-casefolded: New file.
43591
43592         Tests for module 'unicase/u32-is-titlecase'.
43593         * modules/unicase/u32-is-titlecase-tests: New file.
43594         * tests/unicase/test-u32-is-titlecase.c: New file.
43595
43596         Tests for module 'unicase/u16-is-titlecase'.
43597         * modules/unicase/u16-is-titlecase-tests: New file.
43598         * tests/unicase/test-u16-is-titlecase.c: New file.
43599
43600         Tests for module 'unicase/u8-is-titlecase'.
43601         * modules/unicase/u8-is-titlecase-tests: New file.
43602         * tests/unicase/test-u8-is-titlecase.c: New file.
43603         * tests/unicase/test-is-titlecase.h: New file.
43604
43605         New module 'unicase/u32-is-titlecase'.
43606         * lib/unicase/u32-is-titlecase.c: New file.
43607         * modules/unicase/u32-is-titlecase: New file.
43608
43609         New module 'unicase/u16-is-titlecase'.
43610         * lib/unicase/u16-is-titlecase.c: New file.
43611         * modules/unicase/u16-is-titlecase: New file.
43612
43613         New module 'unicase/u8-is-titlecase'.
43614         * lib/unicase/u8-is-titlecase.c: New file.
43615         * modules/unicase/u8-is-titlecase: New file.
43616
43617         Tests for module 'unicase/u32-is-lowercase'.
43618         * modules/unicase/u32-is-lowercase-tests: New file.
43619         * tests/unicase/test-u32-is-lowercase.c: New file.
43620
43621         Tests for module 'unicase/u16-is-lowercase'.
43622         * modules/unicase/u16-is-lowercase-tests: New file.
43623         * tests/unicase/test-u16-is-lowercase.c: New file.
43624
43625         Tests for module 'unicase/u8-is-lowercase'.
43626         * modules/unicase/u8-is-lowercase-tests: New file.
43627         * tests/unicase/test-u8-is-lowercase.c: New file.
43628         * tests/unicase/test-is-lowercase.h: New file.
43629
43630         New module 'unicase/u32-is-lowercase'.
43631         * lib/unicase/u32-is-lowercase.c: New file.
43632         * modules/unicase/u32-is-lowercase: New file.
43633
43634         New module 'unicase/u16-is-lowercase'.
43635         * lib/unicase/u16-is-lowercase.c: New file.
43636         * modules/unicase/u16-is-lowercase: New file.
43637
43638         New module 'unicase/u8-is-lowercase'.
43639         * lib/unicase/u8-is-lowercase.c: New file.
43640         * modules/unicase/u8-is-lowercase: New file.
43641
43642         Tests for module 'unicase/u32-is-uppercase'.
43643         * modules/unicase/u32-is-uppercase-tests: New file.
43644         * tests/unicase/test-u32-is-uppercase.c: New file.
43645
43646         Tests for module 'unicase/u16-is-uppercase'.
43647         * modules/unicase/u16-is-uppercase-tests: New file.
43648         * tests/unicase/test-u16-is-uppercase.c: New file.
43649
43650         Tests for module 'unicase/u8-is-uppercase'.
43651         * modules/unicase/u8-is-uppercase-tests: New file.
43652         * tests/unicase/test-u8-is-uppercase.c: New file.
43653         * tests/unicase/test-is-uppercase.h: New file.
43654
43655         New module 'unicase/u32-is-uppercase'.
43656         * lib/unicase/u32-is-uppercase.c: New file.
43657         * modules/unicase/u32-is-uppercase: New file.
43658
43659         New module 'unicase/u16-is-uppercase'.
43660         * lib/unicase/u16-is-uppercase.c: New file.
43661         * modules/unicase/u16-is-uppercase: New file.
43662
43663         New module 'unicase/u8-is-uppercase'.
43664         * lib/unicase/u8-is-uppercase.c: New file.
43665         * modules/unicase/u8-is-uppercase: New file.
43666
43667         New module 'unicase/u32-is-invariant'.
43668         * lib/unicase/u32-is-invariant.c: New file.
43669         * modules/unicase/u32-is-invariant: New file.
43670
43671         New module 'unicase/u16-is-invariant'.
43672         * lib/unicase/u16-is-invariant.c: New file.
43673         * modules/unicase/u16-is-invariant: New file.
43674
43675         New module 'unicase/u8-is-invariant'.
43676         * lib/unicase/u8-is-invariant.c: New file.
43677         * lib/unicase/invariant.h: New file.
43678         * lib/unicase/u-is-invariant.h: New file.
43679         * modules/unicase/u8-is-invariant: New file.
43680
43681         Tests for module 'unicase/u32-casecoll'.
43682         * modules/unicase/u32-casecoll-tests: New file.
43683         * tests/unicase/test-u32-casecoll.c: New file.
43684
43685         Tests for module 'unicase/u16-casecoll'.
43686         * modules/unicase/u16-casecoll-tests: New file.
43687         * tests/unicase/test-u16-casecoll.c: New file.
43688
43689         Tests for module 'unicase/u8-casecoll'.
43690         * modules/unicase/u8-casecoll-tests: New file.
43691         * tests/unicase/test-u8-casecoll.c: New file.
43692
43693         New module 'unicase/u32-casecoll'.
43694         * lib/unicase/u32-casecoll.c: New file.
43695         * modules/unicase/u32-casecoll: New file.
43696
43697         New module 'unicase/u16-casecoll'.
43698         * lib/unicase/u16-casecoll.c: New file.
43699         * modules/unicase/u16-casecoll: New file.
43700
43701         New module 'unicase/u8-casecoll'.
43702         * lib/unicase/u8-casecoll.c: New file.
43703         * lib/unicase/u-casecoll.h: New file.
43704         * modules/unicase/u8-casecoll: New file.
43705
43706         New module 'unicase/u32-casexfrm'.
43707         * lib/unicase/u32-casexfrm.c: New file.
43708         * modules/unicase/u32-casexfrm: New file.
43709
43710         New module 'unicase/u16-casexfrm'.
43711         * lib/unicase/u16-casexfrm.c: New file.
43712         * modules/unicase/u16-casexfrm: New file.
43713
43714         New module 'unicase/u8-casexfrm'.
43715         * lib/unicase/u8-casexfrm.c: New file.
43716         * lib/unicase/u-casexfrm.h: New file.
43717         * modules/unicase/u8-casexfrm: New file.
43718
43719         Tests for module 'unicase/u32-casecmp'.
43720         * modules/unicase/u32-casecmp-tests: New file.
43721         * tests/unicase/test-u32-casecmp.c: New file.
43722
43723         Tests for module 'unicase/u16-casecmp'.
43724         * modules/unicase/u16-casecmp-tests: New file.
43725         * tests/unicase/test-u16-casecmp.c: New file.
43726
43727         Tests for module 'unicase/u8-casecmp'.
43728         * modules/unicase/u8-casecmp-tests: New file.
43729         * tests/unicase/test-u8-casecmp.c: New file.
43730         * tests/unicase/test-casecmp.h: New file.
43731
43732         New module 'unicase/u32-casecmp'.
43733         * lib/unicase/u32-casecmp.c: New file.
43734         * modules/unicase/u32-casecmp: New file.
43735
43736         New module 'unicase/u16-casecmp'.
43737         * lib/unicase/u16-casecmp.c: New file.
43738         * modules/unicase/u16-casecmp: New file.
43739
43740         New module 'unicase/u8-casecmp'.
43741         * lib/unicase/u8-casecmp.c: New file.
43742         * lib/unicase/u-casecmp.h: New file.
43743         * modules/unicase/u8-casecmp: New file.
43744
43745         Tests for module 'unicase/u32-casefold'.
43746         * modules/unicase/u32-casefold-tests: New file.
43747         * tests/unicase/test-u32-casefold.c: New file.
43748
43749         Tests for module 'unicase/u16-casefold'.
43750         * modules/unicase/u16-casefold-tests: New file.
43751         * tests/unicase/test-u16-casefold.c: New file.
43752
43753         Tests for module 'unicase/u8-casefold'.
43754         * modules/unicase/u8-casefold-tests: New file.
43755         * tests/unicase/test-u8-casefold.c: New file.
43756
43757         New module 'unicase/u32-casefold'.
43758         * lib/unicase/u32-casefold.c: New file.
43759         * modules/unicase/u32-casefold: New file.
43760
43761         New module 'unicase/u16-casefold'.
43762         * lib/unicase/u16-casefold.c: New file.
43763         * modules/unicase/u16-casefold: New file.
43764
43765         New module 'unicase/u8-casefold'.
43766         * lib/unicase/u8-casefold.c: New file.
43767         * lib/unicase/u-casefold.h: New file.
43768         * modules/unicase/u8-casefold: New file.
43769
43770         New module 'unicase/tocasefold'.
43771         * lib/unicase/casefold.h: New file.
43772         * lib/unicase/tocasefold.c: New file.
43773         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
43774         * modules/unicase/tocasefold: New file.
43775
43776         Tests for module 'unicase/u32-totitle'.
43777         * modules/unicase/u32-totitle-tests: New file.
43778         * tests/unicase/test-u32-totitle.c: New file.
43779
43780         Tests for module 'unicase/u16-totitle'.
43781         * modules/unicase/u16-totitle-tests: New file.
43782         * tests/unicase/test-u16-totitle.c: New file.
43783
43784         Tests for module 'unicase/u8-totitle'.
43785         * modules/unicase/u8-totitle-tests: New file.
43786         * tests/unicase/test-u8-totitle.c: New file.
43787
43788         New module 'unicase/u32-totitle'.
43789         * lib/unicase/u32-totitle.c: New file.
43790         * modules/unicase/u32-totitle: New file.
43791
43792         New module 'unicase/u16-totitle'.
43793         * lib/unicase/u16-totitle.c: New file.
43794         * modules/unicase/u16-totitle: New file.
43795
43796         New module 'unicase/u8-totitle'.
43797         * lib/unicase/u8-totitle.c: New file.
43798         * lib/unicase/u-totitle.h: New file.
43799         * modules/unicase/u8-totitle: New file.
43800
43801         Tests for module 'unicase/u32-tolower'.
43802         * modules/unicase/u32-tolower-tests: New file.
43803         * tests/unicase/test-u32-tolower.c: New file.
43804
43805         Tests for module 'unicase/u16-tolower'.
43806         * modules/unicase/u16-tolower-tests: New file.
43807         * tests/unicase/test-u16-tolower.c: New file.
43808
43809         Tests for module 'unicase/u8-tolower'.
43810         * modules/unicase/u8-tolower-tests: New file.
43811         * tests/unicase/test-u8-tolower.c: New file.
43812
43813         New module 'unicase/u32-tolower'.
43814         * lib/unicase/u32-tolower.c: New file.
43815         * modules/unicase/u32-tolower: New file.
43816
43817         New module 'unicase/u16-tolower'.
43818         * lib/unicase/u16-tolower.c: New file.
43819         * modules/unicase/u16-tolower: New file.
43820
43821         New module 'unicase/u8-tolower'.
43822         * lib/unicase/u8-tolower.c: New file.
43823         * modules/unicase/u8-tolower: New file.
43824
43825         Tests for module 'unicase/u32-toupper'.
43826         * modules/unicase/u32-toupper-tests: New file.
43827         * tests/unicase/test-u32-toupper.c: New file.
43828
43829         Tests for module 'unicase/u16-toupper'.
43830         * modules/unicase/u16-toupper-tests: New file.
43831         * tests/unicase/test-u16-toupper.c: New file.
43832
43833         Tests for module 'unicase/u8-toupper'.
43834         * modules/unicase/u8-toupper-tests: New file.
43835         * tests/unicase/test-u8-toupper.c: New file.
43836
43837         New module 'unicase/u32-toupper'.
43838         * lib/unicase/u32-toupper.c: New file.
43839         * modules/unicase/u32-toupper: New file.
43840
43841         New module 'unicase/u16-toupper'.
43842         * lib/unicase/u16-toupper.c: New file.
43843         * modules/unicase/u16-toupper: New file.
43844
43845         New module 'unicase/u8-toupper'.
43846         * lib/unicase/u8-toupper.c: New file.
43847         * modules/unicase/u8-toupper: New file.
43848
43849         New module 'unicase/u32-casemap'.
43850         * lib/unicase/u32-casemap.c: New file.
43851         * modules/unicase/u32-casemap: New file.
43852
43853         New module 'unicase/u16-casemap'.
43854         * lib/unicase/u16-casemap.c: New file.
43855         * modules/unicase/u16-casemap: New file.
43856
43857         New module 'unicase/u8-casemap'.
43858         * lib/unicase/unicasemap.h: New file.
43859         * lib/unicase/u8-casemap.c: New file.
43860         * lib/unicase/u-casemap.h: New file.
43861         * modules/unicase/u8-casemap: New file.
43862
43863         New module 'unicase/special-casing'.
43864         * lib/unicase/special-casing.h: New file.
43865         * lib/unicase/special-casing.c: New file.
43866         * lib/unicase/special-casing-table.gperf: New file, generated by
43867         gen-uni-tables.c.
43868         * modules/unicase/special-casing: New file.
43869
43870         Tests for module 'unicase/locale-language'.
43871         * modules/unicase/locale-language-tests: New file.
43872         * tests/unicase/test-locale-language.sh: New file.
43873         * tests/unicase/test-locale-language.c: New file.
43874
43875         New module 'unicase/locale-language'.
43876         * lib/unicase/locale-language.c: New file.
43877         * lib/unicase/locale-languages.gperf: New file.
43878         * modules/unicase/locale-language: New file.
43879
43880         Generate more tables for case conversion and case folding.
43881         * lib/gen-uni-tables.c (SCC_*): New enum items.
43882         (struct special_casing_rule): New type.
43883         (casing_rules, num_casing_rules, allocated_casing_rules): New
43884         variables.
43885         (add_casing_rule, fill_casing_rules): New functions.
43886         (struct casefold_rule): New type.
43887         (casefolding_rules, num_casefolding_rules,
43888         allocated_casefolding_rules): New variables.
43889         (fill_casefolding_rules): New function.
43890         (unicode_casefold): New variable.
43891         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
43892         sort_casing_rules, output_casing_rules): New functions.
43893         (main): Accept to more arguments: SpecialCasing.txt and
43894         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
43895         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
43896         Output mapping for casefolding.
43897
43898         * lib/unicase.h: Include stdbool.h, uninorm.h.
43899         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
43900         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
43901         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
43902         arguments.
43903         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
43904         resultp arguments.
43905         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
43906         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
43907         resultp arguments.
43908         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
43909         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
43910         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
43911         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
43912         declarations.
43913         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
43914
43915 2009-03-08  Bruno Haible  <bruno@clisp.org>
43916
43917         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43918         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
43919         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
43920         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43921
43922 2009-03-07  Bruno Haible  <bruno@clisp.org>
43923
43924         Adjust u*_normcmp, u*_normcoll API.
43925         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43926         u16_normcoll, u32_normcoll): Change failure conventions.
43927         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
43928         errno and return -1.
43929         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43930
43931 2009-03-07  Bruno Haible  <bruno@clisp.org>
43932
43933         Tests for module 'uninorm/u32-normcoll'.
43934         * modules/uninorm/u32-normcoll-tests: New file.
43935         * tests/uninorm/test-u32-normcoll.c: New file.
43936
43937         Tests for module 'uninorm/u16-normcoll'.
43938         * modules/uninorm/u16-normcoll-tests: New file.
43939         * tests/uninorm/test-u16-normcoll.c: New file.
43940
43941         Tests for module 'uninorm/u8-normcoll'.
43942         * modules/uninorm/u8-normcoll-tests: New file.
43943         * tests/uninorm/test-u8-normcoll.c: New file.
43944
43945 2009-03-07  Bruno Haible  <bruno@clisp.org>
43946
43947         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
43948         tests/uninorm/test-u32-normcmp.c.
43949         * tests/uninorm/test-u32-normcmp.c: Include it.
43950         (test_nonascii): New function, extracted from main. Add some more
43951         tests.
43952         (main): Invoke test_ascii and test_nonascii.
43953         * modules/uninorm/u32-normcmp-tests (Files): Add
43954         tests/uninorm/test-u32-normcmp.h.
43955         (Depends-on): Remove uninorm/u32-normcmp.
43956
43957         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
43958         tests/uninorm/test-u16-normcmp.c.
43959         * tests/uninorm/test-u16-normcmp.c: Include it.
43960         (test_nonascii): New function, extracted from main. Add some more
43961         tests.
43962         (main): Invoke test_ascii and test_nonascii.
43963         * modules/uninorm/u16-normcmp-tests (Files): Add
43964         tests/uninorm/test-u16-normcmp.h.
43965         (Depends-on): Remove uninorm/u16-normcmp.
43966
43967         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
43968         tests/uninorm/test-u8-normcmp.c.
43969         * tests/uninorm/test-u8-normcmp.c: Include it.
43970         (test_nonascii): New function, extracted from main. Add some more
43971         tests.
43972         (main): Invoke test_ascii and test_nonascii.
43973         * modules/uninorm/u8-normcmp-tests (Files): Add
43974         tests/uninorm/test-u8-normcmp.h.
43975         (Depends-on): Remove uninorm/u8-normcmp.
43976
43977 2009-03-07  Bruno Haible  <bruno@clisp.org>
43978
43979         New module 'uninorm/u32-normcoll'.
43980         * lib/uninorm/u32-normcoll.c: New file.
43981         * modules/uninorm/u32-normcoll: New file.
43982
43983         New module 'uninorm/u16-normcoll'.
43984         * lib/uninorm/u16-normcoll.c: New file.
43985         * modules/uninorm/u16-normcoll: New file.
43986
43987         New module 'uninorm/u8-normcoll'.
43988         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
43989         declarations.
43990         * lib/uninorm/u8-normcoll.c: New file.
43991         * lib/uninorm/u-normcoll.h: New file.
43992         * modules/uninorm/u8-normcoll: New file.
43993
43994         New module 'uninorm/u32-normxfrm'.
43995         * lib/uninorm/u32-normxfrm.c: New file.
43996         * modules/uninorm/u32-normxfrm: New file.
43997
43998         New module 'uninorm/u16-normxfrm'.
43999         * lib/uninorm/u16-normxfrm.c: New file.
44000         * modules/uninorm/u16-normxfrm: New file.
44001
44002         New module 'uninorm/u8-normxfrm'.
44003         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44004         declarations.
44005         * lib/uninorm/u8-normxfrm.c: New file.
44006         * lib/uninorm/u-normxfrm.h: New file.
44007         * modules/uninorm/u8-normxfrm: New file.
44008
44009 2009-03-07  Bruno Haible  <bruno@clisp.org>
44010
44011         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44012         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44013         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44014
44015 2009-03-07  Bruno Haible  <bruno@clisp.org>
44016
44017         New module 'memxfrm'.
44018         * lib/memxfrm.h: New file.
44019         * lib/memxfrm.c: New file.
44020         * modules/memxfrm: New file.
44021
44022 2009-03-07  Bruno Haible  <bruno@clisp.org>
44023
44024         New module 'memcmp2'.
44025         * lib/memcmp2.h: New file.
44026         * lib/memcmp2.c: New file.
44027         * modules/memcmp2: New file.
44028
44029 2009-03-07  Bruno Haible  <bruno@clisp.org>
44030
44031         Tests for module 'uninorm/decomposing-form'.
44032         * modules/uninorm/decomposing-form-tests: New file.
44033         * tests/uninorm/test-decomposing-form.c: New file.
44034
44035         New module 'uninorm/decomposing-form'.
44036         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44037         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44038         Add 'decomposing_variant' field.
44039         * lib/uninorm/decomposing-form.c: New file.
44040         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44041         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44042         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44043         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44044         * modules/uninorm/decomposing-form: New file.
44045         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44046         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44047
44048 2009-03-07  Bruno Haible  <bruno@clisp.org>
44049
44050         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44051         strings.
44052
44053 2009-03-06  Bruno Haible  <bruno@clisp.org>
44054
44055         Tests for module 'uninorm/u32-normcmp'.
44056         * tests/uninorm/test-u32-normcmp.c: New file.
44057         * modules/uninorm/u32-normcmp-tests: New file.
44058
44059         Tests for module 'uninorm/u16-normcmp'.
44060         * tests/uninorm/test-u16-normcmp.c: New file.
44061         * modules/uninorm/u16-normcmp-tests: New file.
44062
44063         Tests for module 'uninorm/u8-normcmp'.
44064         * tests/uninorm/test-u8-normcmp.c: New file.
44065         * modules/uninorm/u8-normcmp-tests: New file.
44066
44067         New module 'uninorm/u32-normcmp'.
44068         * lib/uninorm/u32-normcmp.c: New file.
44069         * modules/uninorm/u32-normcmp: New file.
44070
44071         New module 'uninorm/u16-normcmp'.
44072         * lib/uninorm/u16-normcmp.c: New file.
44073         * modules/uninorm/u16-normcmp: New file.
44074
44075         New module 'uninorm/u8-normcmp'.
44076         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44077         declarations.
44078         * lib/uninorm/u8-normcmp.c: New file.
44079         * lib/uninorm/u-normcmp.h: New file.
44080         * modules/uninorm/u8-normcmp: New file.
44081
44082 2009-03-06  Bruno Haible  <bruno@clisp.org>
44083
44084         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44085         Reported by Eric Blake.
44086
44087 2009-03-06  Eric Blake  <ebb9@byu.net>
44088             Bruno Haible  <bruno@clisp.org>
44089
44090         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44091         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44092         condition.
44093         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44094         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44095         condition.
44096         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44097
44098 2009-03-06  Eric Blake  <ebb9@byu.net>
44099
44100         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44101         to avoid compiler warnings.
44102         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44103
44104 2009-03-05  Bruno Haible  <bruno@clisp.org>
44105
44106         * tests/test-ftell.c (main): Disable test beyond end of file on
44107         FreeMiNT.
44108         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44109
44110 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44111
44112         * lib/filevercmp.c: Move hidden files up in ordering.
44113         * tests/test-filevercmp.c: Add tests for hidden files.
44114
44115 2009-03-04  Bruno Haible  <bruno@clisp.org>
44116
44117         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44118         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44119         AM_CFLAGS.
44120         Reported by Simon Josefsson.
44121
44122 2009-03-03  Bruno Haible  <bruno@clisp.org>
44123
44124         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44125         Reported by Simon Josefsson.
44126
44127         * doc/ld-version-script.texi: Update node reference.
44128
44129 2009-03-03  Bruno Haible  <bruno@clisp.org>
44130
44131         * modules/visibility (License): Change to 'unlimited'.
44132         Suggested by Simon Josefsson.
44133
44134 2009-03-03  Jim Meyering  <meyering@redhat.com>
44135
44136         unlinkdir: cannot_unlink_dir may modify process state
44137         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44138         it's neither thread-safe nor appropriate for use in a library.
44139
44140 2009-03-03  Eric Blake  <ebb9@byu.net>
44141
44142         test-closein: silence test under Darwin
44143         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44144         care if it dies from EPIPE or EBADF.
44145
44146 2009-03-03  Bruno Haible  <bruno@clisp.org>
44147
44148         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44149         earlier.
44150         * doc/visibility.texi: Fix @node and @section.
44151
44152 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44153
44154         * doc/gnulib.texi: Link to sections for ld version script and
44155         visibility.
44156         * doc/visibility.texi: Add @node and @section.
44157         * modules/ld-version-script: New module.
44158         * m4/ld-version-script.m4: New file.
44159         * doc/ld-version-script.texi: New file.
44160
44161 2009-03-02  David Lutterkort  <lutter@redhat.com>
44162
44163         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44164         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44165
44166 2009-03-02  Bruno Haible  <bruno@clisp.org>
44167
44168         * doc/visibility.texi: Mention libtool's -export-symbols option.
44169
44170 2009-03-02  Jim Meyering  <meyering@redhat.com>
44171
44172         announce-gen: new option: --no-print-checksums
44173         * build-aux/announce-gen (usage): Describe it.
44174         (print_checksums): Print a newline here, not in the [*] footnote.
44175         (main): Honor it.
44176
44177 2009-03-01  Bruno Haible  <bruno@clisp.org>
44178
44179         Use socklen_t in the native Windows replacements prototypes.
44180         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44181         instead of 'int'.
44182         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44183         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44184         * modules/getsockopt (Depends-on): Add socklen.
44185         * modules/setsockopt (Depends-on): Add socklen.
44186
44187 2009-03-01  Bruno Haible  <bruno@clisp.org>
44188
44189         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44190         least 4.2.
44191
44192 2009-03-01  Eric Blake  <ebb9@byu.net>
44193             Bruno Haible  <bruno@clisp.org>
44194
44195         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44196         error messages.
44197         * lib/wait-process.c (wait_subprocess): Omit error message about
44198         deadly signal sent to the child of termsigp != NULL.
44199
44200 2009-03-01  Eric Blake  <ebb9@byu.net>
44201
44202         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44203
44204 2009-03-01  Bruno Haible  <bruno@clisp.org>
44205
44206         Avoid a gcc warning.
44207         * tests/test-sched.c (b): Make global.
44208         Reported by Eric Blake.
44209
44210 2009-01-19  Martin Lambers  <marlam@marlam.de>
44211
44212         Provide POSIX semantics for socket timeout options on W32.
44213         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44214         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44215         * modules/setsockopt: Depend on sys_time module for struct timeval.
44216         * modules/getsockopt: Depend on sys_time module for struct timeval.
44217
44218 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44219
44220         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44221         __USE_GNU, for consistency with netdb.in.h.
44222         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44223
44224 2009-03-01  Bruno Haible  <bruno@clisp.org>
44225
44226         More support for FreeMiNT.
44227         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44228         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44229
44230 2009-03-01  Bruno Haible  <bruno@clisp.org>
44231
44232         More support for FreeMiNT.
44233         * lib/fpurge.c (fpurge): Correct last commit.
44234         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44235
44236 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44237
44238         Fix unportable awk script in vc-list-files.
44239         * build-aux/vc-list-files: In the replacement awk script, use
44240         substr with a second argument of 1, not zero.
44241         Report by Simon Josefsson.
44242
44243 2009-02-28  Bruno Haible  <bruno@clisp.org>
44244
44245         More support for FreeMiNT.
44246         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44247         to FreeMiNT today.
44248         * lib/fwriting.c (fwriting): Likewise.
44249         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44250
44251 2009-02-28  Bruno Haible  <bruno@clisp.org>
44252
44253         * tests/test-freadseek.c (main): Disable test beyond end of file on
44254         FreeMiNT.
44255         * tests/test-ftello.c (main): Likewise.
44256         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44257
44258 2009-02-28  Bruno Haible  <bruno@clisp.org>
44259
44260         Add tentative support for FreeMiNT.
44261         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44262         * lib/fpurge.c (fpurge): Likewise.
44263         * lib/freadable.c (freadable): Likewise.
44264         * lib/freading.c (freading): Likewise.
44265         * lib/freadptr.c (freadptr): Likewise.
44266         * lib/freadseek.c (freadptrinc): Likewise.
44267         * lib/fseeko.c (rpl_fseeko): Likewise.
44268         * lib/fseterr.c (fseterr): Likewise.
44269         * lib/fwritable.c (fwritable): Likewise.
44270         * lib/fwriting.c (fwriting): Likewise.
44271         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44272         Hourihane.
44273         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44274
44275 2009-02-28  Bruno Haible  <bruno@clisp.org>
44276
44277         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44278         SIGCHLD.
44279         Reported by Jim Meyering.
44280
44281 2009-02-28  Bruno Haible  <bruno@clisp.org>
44282
44283         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44284         Mention the results of these tests on various platforms.
44285         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44286         order.
44287         * doc/posix-functions/printf.texi: Likewise.
44288         * doc/posix-functions/snprintf.texi: Likewise.
44289         * doc/posix-functions/sprintf.texi: Likewise.
44290         * doc/posix-functions/vfprintf.texi: Likewise.
44291         * doc/posix-functions/vprintf.texi: Likewise.
44292         * doc/posix-functions/vsnprintf.texi: Likewise.
44293         * doc/posix-functions/vsprintf.texi: Likewise.
44294         * doc/glibc-functions/obstack_printf.texi: Likewise.
44295         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44296
44297 2009-02-28  Bruno Haible  <bruno@clisp.org>
44298
44299         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44300         Reported by Loïc Minier <lool@dooz.org>.
44301
44302 2009-02-27  Bruno Haible  <bruno@clisp.org>
44303
44304         * gnulib-tool (func_import): Make the sed expression used to create the
44305         sed script for updating the .gitignore file POSIX compliant.
44306         Reported by Eric Blake.
44307
44308 2009-02-27  Bruno Haible  <bruno@clisp.org>
44309
44310         * gnulib-tool (sed): Don't alias as "sed --posix".
44311         Reported by Eric Blake.
44312
44313 2009-02-27  Bruno Haible  <bruno@clisp.org>
44314
44315         Avoid test link errors.
44316         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44317         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44318         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44319         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44320         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44321
44322 2009-02-27  Bruno Haible  <bruno@clisp.org>
44323
44324         Avoid spurious "(cached)" in configure output.
44325         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
44326         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
44327         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44328         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44329         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44330         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44331         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44332         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44333         Reported by Eric Blake.
44334
44335 2009-02-27  Eric Blake  <ebb9@byu.net>
44336
44337         printf: fix regression in previous patch
44338         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44339
44340 2009-02-27  Bruno Haible  <bruno@clisp.org>
44341
44342         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44343         value.
44344         * lib/stdint.in.h: Likewise.
44345         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44346
44347 2009-02-27  Eric Blake  <ebb9@byu.net>
44348
44349         doc: mention more functions added in cygwin 1.7.0
44350         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44351         addition.
44352         * doc/posix-functions/open_wmemstream.texi: Likewise.
44353         * doc/posix-functions/wcsnlen.texi: Likewise.
44354         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44355         * doc/posix-functions/wcstod.texi: Likewise.
44356         * doc/posix-functions/wcstof.texi: Likewise.
44357         * doc/posix-functions/wcstoimax.texi: Likewise.
44358         * doc/posix-functions/wcstok.texi: Likewise.
44359         * doc/posix-functions/wcstoumax.texi: Likewise.
44360
44361         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
44362         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
44363         * doc/posix-functions/fprintf.texi: Update.
44364         * doc/posix-functions/printf.texi: Update.
44365         * doc/posix-functions/snprintf.texi: Update.
44366         * doc/posix-functions/sprintf.texi: Update.
44367         * doc/posix-functions/vfprintf.texi: Update.
44368         * doc/posix-functions/vprintf.texi: Update.
44369         * doc/posix-functions/vsnprintf.texi: Update.
44370         * doc/posix-functions/vsprintf.texi: Update.
44371         * doc/glibc-functions/obstack_printf.texi: Update.
44372         * doc/glibc-functions/obstack_vprintf.texi: Update.
44373
44374 2009-02-26  Eric Blake  <ebb9@byu.net>
44375
44376         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
44377         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
44378         compilation bug by using runtime conversion.
44379         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
44380         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
44381         * modules/ceill-tests (Files): Use nan.h.
44382         * modules/floorl-tests (Files): Likewise.
44383         * modules/frexpl-tests (Files): Likewise.
44384         * modules/isnanl-tests (Files): Likewise.
44385         * modules/ldexpl-tests (Files): Likewise.
44386         * modules/roundl-tests (Files): Likewise.
44387         * modules/truncl-tests (Files): Likewise.
44388         * tests/test-ceill.c (main): Use a working NaN.
44389         * tests/test-floorl.c (main): Likewise.
44390         * tests/test-frexpl.c (main): Likewise.
44391         * tests/test-isnan.c (test_long_double): Likewise.
44392         * tests/test-isnanl.h (main): Likewise.
44393         * tests/test-ldexpl.h (main): Likewise.
44394         * tests/test-roundl.h (main): Likewise.
44395         * tests/test-truncl.h (main): Likewise.
44396         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
44397
44398 2009-02-26  Eric Blake  <ebb9@byu.net>
44399             Bruno Haible  <bruno@clisp.org>
44400
44401         Work around a *printf bug with %ls on Solaris.
44402         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
44403         precision is specified, sprintf stops converting the wide string
44404         argument when the number of bytes that have been produced by this
44405         conversion equals or exceeds the precision.
44406         * doc/posix-functions/fprintf.texi: Update.
44407         * doc/posix-functions/printf.texi: Update.
44408         * doc/posix-functions/snprintf.texi: Update.
44409         * doc/posix-functions/sprintf.texi: Update.
44410         * doc/posix-functions/vfprintf.texi: Update.
44411         * doc/posix-functions/vprintf.texi: Update.
44412         * doc/posix-functions/vsnprintf.texi: Update.
44413         * doc/posix-functions/vsprintf.texi: Update.
44414         * doc/glibc-functions/obstack_printf.texi: Update.
44415         * doc/glibc-functions/obstack_vprintf.texi: Update.
44416
44417 2009-02-26  Eric Blake  <ebb9@byu.net>
44418
44419         stdlib: favor compiler check of random.h
44420         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
44421         to avoid an ObjC random.h installed by Swarm.
44422
44423 2009-02-26  Bruno Haible  <bruno@clisp.org>
44424
44425         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
44426         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
44427         Reported by Gary V. Vaughan <gary@gnu.org>.
44428
44429 2009-02-26  Bruno Haible  <bruno@clisp.org>
44430
44431         Fix *printf behaviour regarding the %ls directive.
44432         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
44433         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
44434         NEED_PRINTF_DIRECTIVE_LS.
44435         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
44436         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44437         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44438         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
44439         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
44440         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
44441         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44442         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44443         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44444         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44445         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44446         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
44447         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44448         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44449         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44450         * doc/posix-functions/fprintf.texi: Update.
44451         * doc/posix-functions/printf.texi: Update.
44452         * doc/posix-functions/snprintf.texi: Update.
44453         * doc/posix-functions/sprintf.texi: Update.
44454         * doc/posix-functions/vfprintf.texi: Update.
44455         * doc/posix-functions/vprintf.texi: Update.
44456         * doc/posix-functions/vsnprintf.texi: Update.
44457         * doc/posix-functions/vsprintf.texi: Update.
44458         * doc/glibc-functions/obstack_printf.texi: Update.
44459         * doc/glibc-functions/obstack_vprintf.texi: Update.
44460         Reported by Eric Blake.
44461
44462 2009-02-25  Bruno Haible  <bruno@clisp.org>
44463
44464         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
44465         with known value.
44466         Reported by Gary V. Vaughan <gary@gnu.org>.
44467
44468 2009-02-25  Bruno Haible  <bruno@clisp.org>
44469
44470         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
44471         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
44472         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
44473         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
44474         Reported by Gary V. Vaughan <gary@gnu.org>.
44475
44476 2009-02-25  Bruno Haible  <bruno@clisp.org>
44477
44478         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
44479         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
44480         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
44481         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
44482         Reported by Gary V. Vaughan <gary@gnu.org>.
44483
44484 2009-02-25  Eric Blake  <ebb9@byu.net>
44485
44486         tests: skip fseek/ftell tests if ungetc is broken
44487         * m4/ungetc.m4: New file.
44488         * modules/fseek-tests: Split test, so ungetc dependency is
44489         separate from rest of test.
44490         * modules/fseeko-tests: Likewise.
44491         * modules/ftell-tests: Likewise.
44492         * modules/ftello-tests: Likewise.
44493         * tests/test-fseek.c (main): Isolate ungetc dependency.
44494         * tests/test-fseeko.c (main): Likewise.
44495         * tests/test-ftell.c (main): Likewise.
44496         * tests/test-ftello.c (main): Likewise.
44497         * tests/test-fseek2.sh: New file.
44498         * tests/test-fseeko2.sh: Likewise.
44499         * tests/test-ftell2.sh: Likewise.
44500         * tests/test-ftello2.sh: Likewise.
44501
44502 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
44503
44504         test-getaddrinfo: fix usage of skip return code 77
44505         * tests/test-gettaddrinfo.c: Return skip code 77 only
44506         for first occurance of skip (4x77 is not 77)
44507
44508 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
44509
44510         strtod: avoid C99 decl-after-statement
44511         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
44512
44513 2009-02-24  Eric Blake  <ebb9@byu.net>
44514
44515         strtod: detect HP-UX 11.31 bug
44516         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
44517         Reported by Gary V. Vaughan.
44518
44519 2009-02-23  Bruno Haible  <bruno@clisp.org>
44520
44521         Fix invalid read past end of memory block.
44522         * lib/vasnprintf.c (DCHAR_SET): Define.
44523         (local_wcslen): Define only when needed.
44524         (local_strnlen, local_wcsnlen): New functions.
44525         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
44526         directives that involve a conversion ourselves.
44527         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
44528         wcsnlen, mbrtowc, wcrtomb.
44529         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
44530         * tests/test-vasprintf-posix.c (test_function): Likewise.
44531         * tests/test-snprintf-posix.h (test_function): Likewise.
44532         * tests/test-sprintf-posix.h (test_function): Likewise.
44533         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44534
44535 2009-02-22  Bruno Haible  <bruno@clisp.org>
44536
44537         Implement new clarified decomposition of Hangul syllables.
44538         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
44539         of type LTV, return only a pairwise decomposition.
44540         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
44541         Likewise.
44542         * tests/uninorm/test-decomposition.c (main): Updated expected result.
44543         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
44544         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
44545
44546 2009-02-22  Bruno Haible  <bruno@clisp.org>
44547
44548         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
44549         zero-length results and shrink excess allocated memory.
44550         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
44551         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
44552         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
44553         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
44554         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
44555         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
44556         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
44557         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
44558         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
44559         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
44560         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
44561         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
44562
44563 2009-02-21  Bruno Haible  <bruno@clisp.org>
44564
44565         * doc/gnulib.texi: Include safe-alloc.texi earlier.
44566         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
44567         spaces after a period. Put a space between a macro name and its
44568         argument list. Trivial rewordings.
44569         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
44570         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
44571         (main): Return 0 explicitly.
44572
44573 2009-02-21  Bruno Haible  <bruno@clisp.org>
44574
44575         Tests for module 'uninorm/filter'.
44576         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
44577         * modules/uninorm/filter-tests: New file.
44578
44579         New module 'uninorm/filter'.
44580         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
44581         uninorm_filter_flush, uninorm_filter_free): New declarations.
44582         * lib/uninorm/uninorm-filter.c: New file.
44583         * modules/uninorm/filter: New file.
44584
44585 2009-02-21  Bruno Haible  <bruno@clisp.org>
44586
44587         Tests for module 'uninorm/nfkc'.
44588         * tests/uninorm/test-nfkc.c: New file.
44589         * tests/uninorm/test-u8-nfkc.c: New file.
44590         * tests/uninorm/test-u16-nfkc.c: New file.
44591         * tests/uninorm/test-u32-nfkc.c: New file.
44592         * tests/uninorm/test-u32-nfkc-big.sh: New file.
44593         * tests/uninorm/test-u32-nfkc-big.c: New file.
44594         * modules/uninorm/nfkc-tests: New file.
44595
44596         New module 'uninorm/nfkc'.
44597         * lib/uninorm/nfkc.c: New file.
44598         * modules/uninorm/nfkc: New file.
44599
44600         Tests for module 'uninorm/nfkd'.
44601         * tests/uninorm/test-nfkd.c: New file.
44602         * tests/uninorm/test-u8-nfkd.c: New file.
44603         * tests/uninorm/test-u16-nfkd.c: New file.
44604         * tests/uninorm/test-u32-nfkd.c: New file.
44605         * tests/uninorm/test-u32-nfkd-big.sh: New file.
44606         * tests/uninorm/test-u32-nfkd-big.c: New file.
44607         * modules/uninorm/nfkd-tests: New file.
44608
44609         New module 'uninorm/nfkd'.
44610         * lib/uninorm/nfkd.c: New file.
44611         * modules/uninorm/nfkd: New file.
44612
44613         Tests for module 'uninorm/nfc'.
44614         * tests/uninorm/test-nfc.c: New file.
44615         * tests/uninorm/test-u8-nfc.c: New file.
44616         * tests/uninorm/test-u16-nfc.c: New file.
44617         * tests/uninorm/test-u32-nfc.c: New file.
44618         * tests/uninorm/test-u32-nfc-big.sh: New file.
44619         * tests/uninorm/test-u32-nfc-big.c: New file.
44620         * modules/uninorm/nfc-tests: New file.
44621
44622         New module 'uninorm/nfc'.
44623         * lib/uninorm/nfc.c: New file.
44624         * modules/uninorm/nfc: New file.
44625
44626         Tests for module 'uninorm/nfd'.
44627         * tests/uninorm/test-nfd.c: New file.
44628         * tests/uninorm/test-u8-nfd.c: New file.
44629         * tests/uninorm/test-u16-nfd.c: New file.
44630         * tests/uninorm/test-u32-nfd.c: New file.
44631         * tests/uninorm/test-u32-nfd-big.sh: New file.
44632         * tests/uninorm/test-u32-nfd-big.c: New file.
44633         * tests/uninorm/test-u32-normalize-big.h: New file.
44634         * tests/uninorm/test-u32-normalize-big.c: New file.
44635         * tests/uninorm/NormalizationTest.txt: New file, created from
44636         Unicode 5.1.0 NormalizationTest.txt.
44637         * modules/uninorm/nfd-tests: New file.
44638
44639         New module 'uninorm/nfd'.
44640         * lib/uninorm/nfd.c: New file.
44641         * modules/uninorm/nfd: New file.
44642
44643         New module 'uninorm/u32-normalize'.
44644         * lib/uninorm/u32-normalize.c: New file.
44645         * modules/uninorm/u32-normalize: New file.
44646
44647         New module 'uninorm/u16-normalize'.
44648         * lib/uninorm/u16-normalize.c: New file.
44649         * modules/uninorm/u16-normalize: New file.
44650
44651         New module 'uninorm/u8-normalize'.
44652         * lib/uninorm/u8-normalize.c: New file.
44653         * lib/uninorm/normalize-internal.h: New file.
44654         * lib/uninorm/u-normalize-internal.h: New file.
44655         * modules/uninorm/u8-normalize: New file.
44656
44657         New module 'uninorm/decompose-internal'.
44658         * lib/uninorm/decompose-internal.c: New file.
44659         * modules/uninorm/decompose-internal: New file.
44660
44661         Tests for module 'uninorm/composition'.
44662         * tests/uninorm/test-composition.c: New file.
44663         * modules/uninorm/composition-tests: New file.
44664
44665         New module 'uninorm/composition'.
44666         * lib/uninorm/composition.c: New file.
44667         * lib/uninorm/composition-table.gperf: New file, generated by
44668         gen-uni-tables.
44669         * modules/uninorm/composition: New file.
44670
44671         Tests for module 'uninorm/compat-decomposition'.
44672         * tests/uninorm/test-compat-decomposition.c: New file.
44673         * modules/uninorm/compat-decomposition-tests: New file.
44674
44675         New module 'uninorm/compat-decomposition'.
44676         * lib/uninorm/decompose-internal.h: New file.
44677         * lib/uninorm/compat-decomposition.c: New file.
44678         * modules/uninorm/compat-decomposition: New file.
44679
44680         Tests for module 'uninorm/canonical-decomposition'.
44681         * tests/uninorm/test-canonical-decomposition.c: New file.
44682         * modules/uninorm/canonical-decomposition-tests: New file.
44683
44684         New module 'uninorm/canonical-decomposition'.
44685         * lib/uninorm/canonical-decomposition.c: New file.
44686         * modules/uninorm/canonical-decomposition: New file.
44687
44688         Tests for module 'uninorm/decomposition'.
44689         * tests/uninorm/test-decomposition.c: New file.
44690         * modules/uninorm/decomposition-tests: New file.
44691
44692         New module 'uninorm/decomposition'.
44693         * lib/uninorm/decomposition.c: New file.
44694         * modules/uninorm/decomposition: New file.
44695
44696         New module 'uninorm/decomposition-table'.
44697         * lib/uninorm/decomposition-table.h: New file.
44698         * lib/uninorm/decomposition-table.c: New file.
44699         * lib/uninorm/decomposition-table1.h: New file, generated by
44700         gen-uni-tables.
44701         * lib/uninorm/decomposition-table2.h: New file, generated by
44702         gen-uni-tables.
44703         * modules/uninorm/decomposition-table: New file.
44704
44705         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
44706         (UC_DECOMP_*): New enumeration items.
44707         (get_decomposition): New function.
44708         (struct decomp_table): New type.
44709         (output_decomposition, output_decomposition_tables): New functions.
44710         (unicode_composition_exclusions): New variable.
44711         (fill_composition_exclusions, debug_output_composition_tables): New
44712         functions.
44713         (main): Accept one more argument. Invoke fill_composition_exclusions.
44714         Output decomposition and composition tables.
44715
44716         New module 'uninorm/base'.
44717         * lib/uninorm.h: New file.
44718         * lib/unictype.h: Update comment.
44719         * modules/uninorm/base: New file.
44720
44721 2009-02-21  David Lutterkort  <lutter@redhat.com>
44722
44723         Tests for module 'safe-alloc'.
44724         * tests/test-safe-alloc.c: New file.
44725         * modules/safe-alloc-tests: New file.
44726
44727         New module 'safe-alloc'.
44728         * lib/safe-alloc.h: New file.
44729         * lib/safe-alloc.c: New file.
44730         * m4/safe-alloc.m4: New file.
44731         * modules/safe-alloc: New file.
44732         * doc/safe-alloc.texi: New file.
44733         * doc/gnulib.texi: Include it.
44734         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
44735         safe-alloc.
44736
44737 2009-02-18  Bruno Haible  <bruno@clisp.org>
44738
44739         Fix link error on non-glibc systems.
44740         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
44741         variable.
44742         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44743
44744 2009-02-18  Jim Meyering  <meyering@redhat.com>
44745
44746         fts: avoid used-uninitialized error due to recent change
44747         * lib/fts.c (fts_read): Guard uses of the new member,
44748         parent->fts_n_dirs_remaining, since it's not relevant for
44749         the parent of a directory specified on the command-line.
44750
44751 2009-02-17  James Youngman  <jay@gnu.org>
44752             Bruno Haible  <bruno@clisp.org>
44753
44754         * m4/include_next.m4: Reformulate comment.
44755
44756 2009-02-16  Jim Meyering  <meyering@redhat.com>
44757
44758         fts: add #if guards so that the fts_lgpl module still builds
44759         * lib/fts.c: Guard just-added hash-table-using parts with
44760         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
44761         Reported by Simon Josefsson.
44762
44763 2009-02-15  Bruno Haible  <bruno@clisp.org>
44764
44765         * modules/array-mergesort-tests: New file.
44766         * tests/test-array-mergesort.c: New file.
44767
44768         New module 'array-mergesort'.
44769         * modules/array-mergesort: New file.
44770         * lib/array-mergesort.h: New file.
44771
44772 2009-02-15  Bruno Haible  <bruno@clisp.org>
44773
44774         Fix 2009-02-07 commit.
44775         * lib/gen-uni-tables.c (output_predicate, output_category,
44776         output_combclass, output_bidi_category, output_decimal_digit,
44777         output_digit, output_numeric, output_mirror, output_scripts,
44778         output_ident_category, output_simple_mapping): Fix format directives.
44779         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
44780
44781 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
44782
44783         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
44784         fixes are available from IBM.
44785
44786 2009-02-13  Jim Meyering  <meyering@redhat.com>
44787
44788         fts: arrange not to stat non-directories in more cases
44789         This makes GNU find (when it doesn't need to stat each file)
44790         *much* more efficient at traversing reiserfs file systems.
44791         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
44792         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
44793         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
44794         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
44795         (leaf_optimization_applies): New function.
44796         (LCO_hash, LCO_compare): New helper functions.
44797         (link_count_optimize_ok): New function.
44798         (fts_stat): Initialize new member (if dir).
44799         (fts_read): Decrement parent's fts_n_dirs_remaining count if
44800         we've just stat'ed a directory.  Skip the stat call when possible.
44801         ---
44802         Note this AFS-related exchange:
44803         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
44804         and note find's pioctl call in find/fstype.c.
44805         But that is necessary only if you want to enable the
44806         optimization for AFS, and for now, I don't.
44807
44808         fts: move a function definition "up" (no semantic change)
44809         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
44810         "up" to precede upcoming use of a related function.
44811
44812 2009-02-11  Jim Meyering  <meyering@redhat.com>
44813
44814         fts: correct internal computation of nlinks (optimization-related)
44815         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
44816         whether the current entry is a directory, so don't test it.
44817
44818 2009-02-10  Bruno Haible  <bruno@clisp.org>
44819
44820         Tests for module 'uniwbrk/ulc-wordbreaks'.
44821         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
44822         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
44823         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
44824
44825         Tests for module 'uniwbrk/u32-wordbreaks'.
44826         * modules/uniwbrk/u32-wordbreaks-tests: New file.
44827         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
44828
44829         Tests for module 'uniwbrk/u16-wordbreaks'.
44830         * modules/uniwbrk/u16-wordbreaks-tests: New file.
44831         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
44832
44833         Tests for module 'uniwbrk/u8-wordbreaks'.
44834         * modules/uniwbrk/u8-wordbreaks-tests: New file.
44835         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
44836
44837 2009-02-10  Bruno Haible  <bruno@clisp.org>
44838
44839         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
44840         property.
44841         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
44842         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
44843         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
44844
44845 2009-02-10  Simon Josefsson  <simon@josefsson.org>
44846
44847         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
44848         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
44849
44850 2009-02-10  Bruno Haible  <bruno@clisp.org>
44851
44852         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
44853         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
44854         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
44855         * lib/unilbrk/u8-possible-linebreaks.c: Update.
44856         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
44857         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
44858
44859 2009-02-09  Simon Josefsson  <simon@josefsson.org>
44860
44861         * lib/sockets.h (gl_fd_to_handle): New function.
44862
44863         * tests/test-sockets.c: Call gl_fd_to_handle.
44864
44865 2009-02-09  Bruno Haible  <bruno@clisp.org>
44866
44867         * doc/havelib.texi: Document the conventions on bi-arch systems.
44868
44869 2009-02-08  Bruno Haible  <bruno@clisp.org>
44870
44871         Document the AC_LIB_LINKFLAGS macro.
44872         * doc/havelib.texi: New file, mostly written on 2005-05-24.
44873         * doc/gnulib.texi: Include it.
44874
44875 2009-02-08  Bruno Haible  <bruno@clisp.org>
44876
44877         Fix wrong order of sections, compared to TOC.
44878         * doc/gnulib.texi: Include relocatable-maint.texi after the
44879         "Regular expressions" node, not before.
44880
44881 2009-02-08  Bruno Haible  <bruno@clisp.org>
44882
44883         Tests for module 'unicase/totitle'.
44884         * modules/unicase/totitle-tests: New file.
44885
44886         Tests for module 'unicase/tolower'.
44887         * modules/unicase/tolower-tests: New file.
44888
44889         Tests for module 'unicase/toupper'.
44890         * modules/unicase/toupper-tests: New file.
44891         * tests/unicase/test-mapping-part1.h: New file.
44892         * tests/unicase/test-mapping-part2.h: New file.
44893
44894         New module 'unicase/totitle'.
44895         * modules/unicase/totitle: New file.
44896         * lib/unicase/totitle.c: New file.
44897
44898         New module 'unicase/tolower'.
44899         * modules/unicase/tolower: New file.
44900         * lib/unicase/tolower.c: New file.
44901
44902         New module 'unicase/toupper'.
44903         * modules/unicase/toupper: New file.
44904         * lib/unicase/toupper.c: New file.
44905         * lib/unicase/simple-mapping.h: New file.
44906
44907         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
44908         (mapping_table): New structure.
44909         (output_simple_mapping): New function.
44910         (main): Invoke output_simple_mapping_test and output_simple_mapping.
44911         * modules/gen-uni-tables (Description): Update.
44912         * lib/unicase/toupper.h: New file, automatically generated by
44913         gen-uni-tables.
44914         * lib/unicase/tolower.h: New file, automatically generated by
44915         gen-uni-tables.
44916         * lib/unicase/totitle.h: New file, automatically generated by
44917         gen-uni-tables.
44918         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
44919         gen-uni-tables.
44920         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
44921         gen-uni-tables.
44922         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
44923         gen-uni-tables.
44924
44925         New module 'unicase/base'.
44926         * modules/unicase/base: New file.
44927         * lib/unicase.h: New file.
44928
44929 2009-02-08  Bruno Haible  <bruno@clisp.org>
44930
44931         New module 'uniwbrk/ulc-wordbreaks'.
44932         * modules/uniwbrk/ulc-wordbreaks: New file.
44933         * lib/uniwbrk/ulc-wordbreaks.c: New file.
44934
44935         New module 'uniwbrk/u32-wordbreaks'.
44936         * modules/uniwbrk/u32-wordbreaks: New file.
44937         * lib/uniwbrk/u32-wordbreaks.c: New file.
44938
44939         New module 'uniwbrk/u16-wordbreaks'.
44940         * modules/uniwbrk/u16-wordbreaks: New file.
44941         * lib/uniwbrk/u16-wordbreaks.c: New file.
44942
44943         New module 'uniwbrk/u8-wordbreaks'.
44944         * modules/uniwbrk/u8-wordbreaks: New file.
44945         * lib/uniwbrk/u8-wordbreaks.c: New file.
44946         * lib/uniwbrk/u-wordbreaks.h: New file.
44947
44948         New module 'uniwbrk/table'.
44949         * modules/uniwbrk/table: New file.
44950         * lib/uniwbrk/wbrktable.h: New file.
44951         * lib/uniwbrk/wbrktable.c: New file.
44952
44953         New module 'uniwbrk/wordbreak-property'.
44954         * modules/uniwbrk/wordbreak-property: New file.
44955         * lib/uniwbrk/wordbreak-property.c: New file.
44956
44957         * lib/gen-uni-tables.c (WBP_*): New enum items.
44958         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
44959         (unicode_org_wbp): New variable.
44960         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
44961         New functions.
44962         (wbp_table): New structure.
44963         (output_wbp, output_wbrk_tables): New functions.
44964         (main): Accept additional argument. Invoke fill_org_wbp,
44965         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
44966         output_wbrk_tables.
44967         * modules/gen-uni-tables (Description): Update.
44968         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
44969         gen-uni-tables.
44970
44971         New module 'uniwbrk/base'.
44972         * modules/uniwbrk/base: New file.
44973         * lib/uniwbrk.h: New file.
44974
44975 2009-02-08  Bruno Haible  <bruno@clisp.org>
44976
44977         Update to Unicode 5.1.0.
44978         * lib/gen-uni-tables.c (is_property_alphabetic): Include
44979         U+2185..U+2188.
44980         (is_property_default_ignorable_code_point): Don't include characters
44981         of category Cc or Cs and not-a-characters.
44982         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
44983         U+0D79, U+109E, U+109F, U+A60C.
44984         * lib/unictype/bidi_of.h: Regenerated.
44985         * lib/unictype/blocks.h: Regenerated.
44986         * lib/unictype/categ_C.h: Regenerated.
44987         * lib/unictype/categ_Cf.h: Regenerated.
44988         * lib/unictype/categ_Cn.h: Regenerated.
44989         * lib/unictype/categ_L.h: Regenerated.
44990         * lib/unictype/categ_Ll.h: Regenerated.
44991         * lib/unictype/categ_Lm.h: Regenerated.
44992         * lib/unictype/categ_Lo.h: Regenerated.
44993         * lib/unictype/categ_Lu.h: Regenerated.
44994         * lib/unictype/categ_M.h: Regenerated.
44995         * lib/unictype/categ_Mc.h: Regenerated.
44996         * lib/unictype/categ_Me.h: Regenerated.
44997         * lib/unictype/categ_Mn.h: Regenerated.
44998         * lib/unictype/categ_N.h: Regenerated.
44999         * lib/unictype/categ_Nd.h: Regenerated.
45000         * lib/unictype/categ_Nl.h: Regenerated.
45001         * lib/unictype/categ_No.h: Regenerated.
45002         * lib/unictype/categ_P.h: Regenerated.
45003         * lib/unictype/categ_Pd.h: Regenerated.
45004         * lib/unictype/categ_Pe.h: Regenerated.
45005         * lib/unictype/categ_Pf.h: Regenerated.
45006         * lib/unictype/categ_Pi.h: Regenerated.
45007         * lib/unictype/categ_Po.h: Regenerated.
45008         * lib/unictype/categ_Ps.h: Regenerated.
45009         * lib/unictype/categ_S.h: Regenerated.
45010         * lib/unictype/categ_Sk.h: Regenerated.
45011         * lib/unictype/categ_Sm.h: Regenerated.
45012         * lib/unictype/categ_So.h: Regenerated.
45013         * lib/unictype/categ_of.h: Regenerated.
45014         * lib/unictype/combining.h: Regenerated.
45015         * lib/unictype/ctype_alnum.h: Regenerated.
45016         * lib/unictype/ctype_alpha.h: Regenerated.
45017         * lib/unictype/ctype_graph.h: Regenerated.
45018         * lib/unictype/ctype_lower.h: Regenerated.
45019         * lib/unictype/ctype_print.h: Regenerated.
45020         * lib/unictype/ctype_punct.h: Regenerated.
45021         * lib/unictype/ctype_upper.h: Regenerated.
45022         * lib/unictype/decdigit.h: Regenerated.
45023         * lib/unictype/digit.h: Regenerated.
45024         * lib/unictype/mirror.h: Regenerated.
45025         * lib/unictype/numeric.h: Regenerated.
45026         * lib/unictype/pr_alphabetic.h: Regenerated.
45027         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45028         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45029         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45030         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45031         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45032         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45033         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45034         * lib/unictype/pr_combining.h: Regenerated.
45035         * lib/unictype/pr_dash.h: Regenerated.
45036         * lib/unictype/pr_decimal_digit.h: Regenerated.
45037         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45038         * lib/unictype/pr_deprecated.h: Regenerated.
45039         * lib/unictype/pr_diacritic.h: Regenerated.
45040         * lib/unictype/pr_extender.h: Regenerated.
45041         * lib/unictype/pr_format_control.h: Regenerated.
45042         * lib/unictype/pr_grapheme_base.h: Regenerated.
45043         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45044         * lib/unictype/pr_grapheme_link.h: Regenerated.
45045         * lib/unictype/pr_id_continue.h: Regenerated.
45046         * lib/unictype/pr_id_start.h: Regenerated.
45047         * lib/unictype/pr_ideographic.h: Regenerated.
45048         * lib/unictype/pr_ignorable_control.h: Regenerated.
45049         * lib/unictype/pr_lowercase.h: Regenerated.
45050         * lib/unictype/pr_math.h: Regenerated.
45051         * lib/unictype/pr_numeric.h: Regenerated.
45052         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45053         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45054         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45055         * lib/unictype/pr_other_id_continue.h: Regenerated.
45056         * lib/unictype/pr_other_lowercase.h: Regenerated.
45057         * lib/unictype/pr_other_math.h: Regenerated.
45058         * lib/unictype/pr_punctuation.h: Regenerated.
45059         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45060         * lib/unictype/pr_soft_dotted.h: Regenerated.
45061         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45062         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45063         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45064         * lib/unictype/pr_uppercase.h: Regenerated.
45065         * lib/unictype/pr_xid_continue.h: Regenerated.
45066         * lib/unictype/pr_xid_start.h: Regenerated.
45067         * lib/unictype/pr_zero_width.h: Regenerated.
45068         * lib/unictype/scripts.h: Regenerated.
45069         * lib/unictype/scripts_byname.gperf: Regenerated.
45070         * lib/unictype/sy_java_ident.h: Regenerated.
45071         * lib/unilbrk/lbrkprop1.h: Regenerated.
45072         * lib/unilbrk/lbrkprop2.h: Regenerated.
45073         * tests/unictype/test-categ_C.c: Regenerated.
45074         * tests/unictype/test-categ_Cf.c: Regenerated.
45075         * tests/unictype/test-categ_Cn.c: Regenerated.
45076         * tests/unictype/test-categ_L.c: Regenerated.
45077         * tests/unictype/test-categ_Ll.c: Regenerated.
45078         * tests/unictype/test-categ_Lm.c: Regenerated.
45079         * tests/unictype/test-categ_Lo.c: Regenerated.
45080         * tests/unictype/test-categ_Lu.c: Regenerated.
45081         * tests/unictype/test-categ_M.c: Regenerated.
45082         * tests/unictype/test-categ_Mc.c: Regenerated.
45083         * tests/unictype/test-categ_Me.c: Regenerated.
45084         * tests/unictype/test-categ_Mn.c: Regenerated.
45085         * tests/unictype/test-categ_N.c: Regenerated.
45086         * tests/unictype/test-categ_Nd.c: Regenerated.
45087         * tests/unictype/test-categ_Nl.c: Regenerated.
45088         * tests/unictype/test-categ_No.c: Regenerated.
45089         * tests/unictype/test-categ_P.c: Regenerated.
45090         * tests/unictype/test-categ_Pd.c: Regenerated.
45091         * tests/unictype/test-categ_Pe.c: Regenerated.
45092         * tests/unictype/test-categ_Pf.c: Regenerated.
45093         * tests/unictype/test-categ_Pi.c: Regenerated.
45094         * tests/unictype/test-categ_Po.c: Regenerated.
45095         * tests/unictype/test-categ_Ps.c: Regenerated.
45096         * tests/unictype/test-categ_S.c: Regenerated.
45097         * tests/unictype/test-categ_Sk.c: Regenerated.
45098         * tests/unictype/test-categ_Sm.c: Regenerated.
45099         * tests/unictype/test-categ_So.c: Regenerated.
45100         * tests/unictype/test-ctype_alnum.c: Regenerated.
45101         * tests/unictype/test-ctype_alpha.c: Regenerated.
45102         * tests/unictype/test-ctype_graph.c: Regenerated.
45103         * tests/unictype/test-ctype_lower.c: Regenerated.
45104         * tests/unictype/test-ctype_print.c: Regenerated.
45105         * tests/unictype/test-ctype_punct.c: Regenerated.
45106         * tests/unictype/test-ctype_upper.c: Regenerated.
45107         * tests/unictype/test-decdigit.h: Regenerated.
45108         * tests/unictype/test-digit.h: Regenerated.
45109         * tests/unictype/test-numeric.h: Regenerated.
45110         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45111         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45112         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45113         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45114         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45115         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45116         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45117         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45118         * tests/unictype/test-pr_combining.c: Regenerated.
45119         * tests/unictype/test-pr_dash.c: Regenerated.
45120         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45121         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45122         * tests/unictype/test-pr_deprecated.c: Regenerated.
45123         * tests/unictype/test-pr_diacritic.c: Regenerated.
45124         * tests/unictype/test-pr_extender.c: Regenerated.
45125         * tests/unictype/test-pr_format_control.c: Regenerated.
45126         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45127         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45128         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45129         * tests/unictype/test-pr_id_continue.c: Regenerated.
45130         * tests/unictype/test-pr_id_start.c: Regenerated.
45131         * tests/unictype/test-pr_ideographic.c: Regenerated.
45132         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45133         * tests/unictype/test-pr_lowercase.c: Regenerated.
45134         * tests/unictype/test-pr_math.c: Regenerated.
45135         * tests/unictype/test-pr_numeric.c: Regenerated.
45136         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45137         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45138         Regenerated.
45139         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45140         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45141         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45142         * tests/unictype/test-pr_other_math.c: Regenerated.
45143         * tests/unictype/test-pr_punctuation.c: Regenerated.
45144         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45145         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45146         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45147         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45148         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45149         * tests/unictype/test-pr_uppercase.c: Regenerated.
45150         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45151         * tests/unictype/test-pr_xid_start.c: Regenerated.
45152         * tests/unictype/test-pr_zero_width.c: Regenerated.
45153
45154         Update to Unicode 5.1.0.
45155         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45156         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45157         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45158         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45159         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45160         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45161         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45162         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45163         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45164         (nonspacing_table_ind): Update.
45165         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45166
45167         Update to Unicode 5.1.0.
45168         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45169         code transform.
45170         * lib/uniname/uniname.c (unicode_character_name,
45171         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45172         * lib/uniname/uninames.h: Regenerated.
45173         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45174
45175 2009-02-07  Bruno Haible  <bruno@clisp.org>
45176
45177         Merge gen-ctype and gen-lbrk into a single program.
45178         * lib/gen-uni-tables.c: New file, incorporating
45179         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45180         Add directory prefixes to the names of the generated files.
45181         * lib/unictype/gen-ctype.c: Remove file.
45182         * lib/unilbrk/gen-lbrk.c: Remove file.
45183         * modules/gen-uni-tables: New file.
45184         * modules/unictype/gen-ctype: Remove file.
45185         * modules/unilbrk/gen-lbrk: Remove file.
45186
45187 2009-02-07  Bruno Haible  <bruno@clisp.org>
45188
45189         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45190
45191         New module 'unistr/u32-strcoll'.
45192         * modules/unistr/u32-strcoll: New file.
45193         * lib/unistr/u32-strcoll.c: New file.
45194
45195         New module 'unistr/u16-strcoll'.
45196         * modules/unistr/u16-strcoll: New file.
45197         * lib/unistr/u16-strcoll.c: New file.
45198
45199         New module 'unistr/u8-strcoll'.
45200         * modules/unistr/u8-strcoll: New file.
45201         * lib/unistr/u8-strcoll.c: New file.
45202         * lib/unistr/u-strcoll.h: New file.
45203
45204 2009-02-07  Bruno Haible  <bruno@clisp.org>
45205
45206         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45207         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45208         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45209         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45210         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45211         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45212
45213 2009-02-07  Bruno Haible  <bruno@clisp.org>
45214
45215         Make 64-bit clean.
45216         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45217         output_combclass, output_bidi_category, output_decimal_digit,
45218         output_digit, output_numeric, output_mirror, output_scripts,
45219         output_ident_category): Use proper width specifier in format strings.
45220
45221 2009-02-07  Bruno Haible  <bruno@clisp.org>
45222
45223         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45224         failure behaviour.
45225
45226 2009-02-07  Jim Meyering  <meyering@redhat.com>
45227
45228         regex: avoid compilation failure with upcoming gcc-4.4
45229         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45230         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45231         "... error: integer overflow in preprocessor expression".
45232
45233 2009-02-05  Ben Pfaff  <blp@gnu.org>
45234
45235         Fix link errors on Windows when close module is used.
45236         * modules/close: Add $(LIB_CLOSE) to Link section.
45237         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45238         $(LIB_CLOSE) on Windows.
45239
45240 2009-02-05  Jim Meyering  <meyering@redhat.com>
45241
45242         still avoid unused-parameter warnings, but do it cleanly
45243         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45244         (get_fs_usage): Cast to void instead.
45245         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45246         (dev_from_mount_options, read_file_system_list): Cast to void.
45247         Prompted by Bruno Haible.
45248
45249 2009-02-04  Jim Meyering  <meyering@redhat.com>
45250
45251         fsusage.c: correct copyright year
45252         * lib/fsusage.c: Reflect year in which the change is pushed into
45253
45254         avoid misc. warnings
45255         * lib/fsusage.c (UNUSED_PARAM): Define.
45256         (get_fs_usage): Mark parameter "disk" as unused.
45257         * lib/getugroups.c (getgrent): Use "void" in prototype.
45258         * lib/mountlist.c: Mark unused parameters.
45259         (read_file_system_list): Declare a local with "const".
45260         * lib/nanosleep.c (getnow): Declare static.
45261         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45262
45263         dirfd: set errno upon failure
45264         * lib/dirfd.c: Include <errno.h>.
45265         Set errno to ENOTSUP when returning -1.
45266         * modules/dirfd (Depends-on): Add errno.
45267         Suggested by John Kodis <kodis@comcast.net>.
45268
45269 2009-02-01  Bruno Haible  <bruno@clisp.org>
45270
45271         Don't assume sizeof (long) >= sizeof (void *).
45272         * lib/memcmp.c: Include stdint.h.
45273         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45274         srcp2 to 'const byte *'.
45275         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45276         types to uintptr_t.
45277         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45278         * modules/memcmp (Depends-on): Add stdint.
45279         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45280
45281 2009-01-30  Eric Blake  <ebb9@byu.net>
45282
45283         fix more require-before-expand issues
45284         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45285         expand, AC_PROG_AWK.
45286         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45287
45288 2009-01-28  Eric Blake  <ebb9@byu.net>
45289
45290         version-etc: use consistent URL formatting
45291         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45292         Improve formatting.  Use fputs for string without %.
45293
45294 2009-01-28  Jim Meyering  <meyering@redhat.com>
45295
45296         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45297         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45298         "underquoted definition of NAME" from autoconf-2.59.
45299
45300 2009-01-28  Bruno Haible  <bruno@clisp.org>
45301
45302         * doc/gnulib.texi: Add "Obsolete modules" to index.
45303
45304 2009-01-28  Jim Meyering  <meyering@redhat.com>
45305
45306         useless-if-before-free: recognize more variants
45307         * build-aux/useless-if-before-free: Also recognize e.g.,
45308         if (NULL != p) free (p);
45309
45310 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45311
45312         test-getaddrinfo: skip (don't fail) this test when there's no network
45313         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45314         on the presumption that it means you lack network access.
45315
45316 2009-01-26  Jim Meyering  <meyering@redhat.com>
45317
45318         fflush: avoid warnings on modern systems
45319         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45320         pos and result, into scopes where they're used.
45321
45322 2009-01-26  Eric Blake  <ebb9@byu.net>
45323
45324         Silence warning reintroduced by recent extensions patch.
45325         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
45326         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
45327         autoconf.
45328
45329         Backport improved autoconf semantics of AC_DEFUN_ONCE.
45330         * m4/00gnulib.m4: New file.
45331         * gnulib-tool (func_get_filelist): Always use it.
45332         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
45333         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
45334
45335 2009-01-25  Bruno Haible  <bruno@clisp.org>
45336
45337         Make test-quotearg work on MacOS X and AIX.
45338         * tests/test-quotearg.sh: New file.
45339         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45340         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45341         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45342         include <libintl.h>.
45343         (fake_locale): Remove variable.
45344         (gettext, dgettext, dcgettext): Remove functions.
45345         (main): Instead of setting a fake locale, set a real locale. Call
45346         textdomain and bindtextdomain.
45347         * modules/quotearg-tests (Files): Add the new files.
45348         (Depends-on): Add gettext, setenv, unsetenv.
45349         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45350         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45351         Augment TESTS_ENVIRONMENT.
45352
45353 2009-01-25  Bruno Haible  <bruno@clisp.org>
45354
45355         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
45356         fr_FR.ISO8859-1 locale on MacOS X.
45357         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
45358         ja_JP.eucJP locale on MacOS X.
45359         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
45360         zh_CN.GB18030 locale on MacOS X.
45361
45362 2009-01-25  Bruno Haible  <bruno@clisp.org>
45363
45364         Avoid link errors on MacOS X 10.3.
45365         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
45366         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45367
45368 2009-01-25  Bruno Haible  <bruno@clisp.org>
45369
45370         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45371         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
45372         * modules/pipe (Files): Remove m4/posix_spawn.m4.
45373         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45374         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
45375         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45376         posix_spawnattr_init, posix_spawnattr_setsigmask,
45377         posix_spawnattr_setflags, posix_spawnattr_destroy.
45378
45379         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45380         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
45381         * modules/execute (Files): Remove m4/posix_spawn.m4.
45382         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45383         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45384         posix_spawnattr_init, posix_spawnattr_setsigmask,
45385         posix_spawnattr_setflags, posix_spawnattr_destroy.
45386
45387 2009-01-25  Bruno Haible  <bruno@clisp.org>
45388
45389         * lib/glthread/threadlib.c: Include <stdlib.h>.
45390
45391 2009-01-25  Bruno Haible  <bruno@clisp.org>
45392
45393         * lib/glthread/threadlib.c (dummy): New declaration.
45394
45395 2009-01-25  Bruno Haible  <bruno@clisp.org>
45396
45397         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
45398         multibyte characters also for the GB18030 encoding. Don't crash when
45399         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
45400
45401 2009-01-25  Bruno Haible  <bruno@clisp.org>
45402
45403         Avoid redefining 'struct random_data' on OSF/1 5.1.
45404         * lib/stdlib.in.h: Include <random.h> if it exists.
45405         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
45406         HAVE_RANDOM_H. Include <random.h> when testing whether
45407         'struct random_data' exists.
45408         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
45409
45410 2009-01-25  Bruno Haible  <bruno@clisp.org>
45411
45412         Don't install charset.alias on MacOS X >= 10.3.
45413         * lib/localcharset.c (DARWIN7): New macro.
45414         (get_charset_aliases): Hardcode the result for Darwin7.
45415         * modules/localcharset (install-exec-local): Don't install
45416         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
45417
45418 2009-01-25  Bruno Haible  <bruno@clisp.org>
45419
45420         Don't install charset.alias on mingw and Cygwin.
45421         * modules/localcharset (install-exec-local): Don't install
45422         charset.alias on mingw and Cygwin, if the file does not yet exist.
45423         The result for these platforms is hardcoded in localcharset.c.
45424
45425 2009-01-25  Bruno Haible  <bruno@clisp.org>
45426
45427         Make it possible again to use AC_GNU_SOURCE together with gnulib.
45428         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
45429         before requiring AC_USE_SYSTEM_EXTENSIONS.
45430
45431 2009-01-25  Jim Meyering  <meyering@redhat.com>
45432
45433         c-strtod: avoid warnings
45434         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
45435         "assignment discards qualifiers from pointer target type" warnings.
45436
45437 2009-01-24  Bruno Haible  <bruno@clisp.org>
45438
45439         Add support for non-UTF-8 locales on MacOS X.
45440         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
45441         canonical encodings. For Darwin 7 and newer, don't map traditional
45442         encodings to UTF-8.
45443         Reported by Vincent Lefevre <vincent@vinc17.org>
45444         at <http://savannah.gnu.org/bugs/?25235>.
45445
45446 2009-01-24  Bruno Haible  <bruno@clisp.org>
45447
45448         * doc/gnulib.texi (Obsolete modules): New section.
45449         Reported by Mike Frysinger <vapier@gentoo.org>.
45450
45451 2009-01-24  Bruno Haible  <bruno@clisp.org>
45452
45453         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
45454         (%.dvi): New rule.
45455
45456 2009-01-24  Bruno Haible  <bruno@clisp.org>
45457
45458         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
45459         Reported by Eric Blake.
45460
45461 2009-01-24  Bruno Haible  <bruno@clisp.org>
45462
45463         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
45464         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
45465         Reported by Gary V. Vaughan <gary@gnu.org>.
45466
45467 2009-01-24  Bruno Haible  <bruno@clisp.org>
45468
45469         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
45470
45471 2009-01-23  Bruno Haible  <bruno@clisp.org>
45472
45473         Make c-strtod, c-strtold usable in libraries.
45474         * lib/c-strtod.c: Include string.h instead of xalloc.h.
45475         (C_STRTOD): Call strdup instead of xstrdup.
45476         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
45477         * modules/c-strtold (Depends-on): Likewise.
45478         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
45479         * NEWS: Mention the change.
45480         Reported by Michael Gold <mgold@ncf.ca>.
45481
45482 2009-01-23  Jim Meyering  <meyering@redhat.com>
45483
45484         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
45485         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
45486         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
45487
45488 2009-01-23  Simon Josefsson  <simon@josefsson.org>
45489
45490         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
45491         GNU CoreUtils.
45492         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
45493         * modules/version-etc (Description): Update.
45494
45495 2009-01-22  Bruno Haible  <bruno@clisp.org>
45496
45497         Cache the C locale object.
45498         * lib/c-strtod.c (c_locale_cache): New variable.
45499         (c_locale): New function.
45500         (C_STRTOD): Use it, and don't call freelocale.
45501         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
45502         Suggested by Paolo Bonzini.
45503
45504 2009-01-21  Bruno Haible  <bruno@clisp.org>
45505
45506         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
45507         conditions other than overflow.
45508
45509 2009-01-21  Bruno Haible  <bruno@clisp.org>
45510
45511         * lib/c-strtod.c: Include errno.h.
45512         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
45513         value from STRTOD_L and STRTOD.
45514
45515 2009-01-21  Bruno Haible  <bruno@clisp.org>
45516         and Jim Meyering  <meyering@redhat.com>
45517
45518         nanosleep: skip configure test (fail it) for apple universal builds
45519         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
45520         universal builds, assume that nanosleep does not work.
45521         * modules/nanosleep (Depends-on): Add multiarch.
45522
45523         mktime: skip configure test (fail it) for apple universal builds
45524         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
45525         universal builds, assume that mktime does not work.
45526         * modules/mktime (Depends-on): Add multiarch.
45527
45528 2009-01-21  Eric Blake  <ebb9@byu.net>
45529
45530         multiarch: avoid expand-before-require warning
45531         * modules/multiarch (configure.ac): Require, rather than expand,
45532         gl_MULTIARCH.
45533         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
45534         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
45535         enforce that all clients require it.  Partial reversion of
45536         2008-12-29 patch.
45537
45538         error: avoid expand-before-require warning
45539         * modules/errno (configure.ac): Require, rather than expand,
45540         gl_HEADER_ERRNO_H.
45541         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
45542         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
45543         enforce that all clients require it.
45544
45545         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
45546         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
45547         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
45548         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
45549
45550 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
45551
45552         Revert:
45553         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45554
45555         regex: do not depend on obsolete modules.
45556         * modules/regex: Remove memcmp and memmove.
45557
45558 2009-01-20  Bruno Haible  <bruno@clisp.org>
45559
45560         Make the 'link' module link on Windows NT 4.
45561         * lib/link.c (_WIN32_WINNT): Don't define.
45562         (CreateHardLinkFuncType): New type.
45563         (CreateHardLinkFunc, initialized): New variables.
45564         (initialize): New function.
45565         (link): Invoke CreateHardLink indirectly through the function pointer.
45566
45567 2009-01-20  Bruno Haible  <bruno@clisp.org>
45568
45569         Fix compilation failure on mingw.
45570         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
45571
45572 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
45573
45574         * doc/c-strtod.texi: Mention a couple of restrictions.
45575
45576 2009-01-20  Jim Meyering  <meyering@redhat.com>
45577
45578         gettimeofday: move more declarations out of functions
45579         * lib/gettimeofday.c: Move extern declarations of tzset and
45580         gmtime out of containing functions.  Prompted by Bruno Haible.
45581
45582 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45583
45584         regex: do not depend on obsolete modules.
45585         * modules/regex: Remove memcmp and memmove.
45586
45587 2009-01-19  Bruno Haible  <bruno@clisp.org>
45588
45589         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45590         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
45591         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45592         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
45593         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
45594
45595 2009-01-19  Bruno Haible  <bruno@clisp.org>
45596
45597         * tests/test-link.c: Include <errno.h>.
45598         (main): Exit with code 77 when a hard link cannot be created due to
45599         the file system.
45600         * tests/test-link.sh: Skip test when a hard link cannot be created due
45601         to the file system.
45602         Suggested by Eric Blake.
45603
45604 2009-01-19  Martin Lambers  <marlam@marlam.de>
45605
45606         * modules/link-tests: New file.
45607         * tests/test-link.sh: New file.
45608         * tests/test-link.c: New file.
45609
45610 2009-01-19  Eric Blake  <ebb9@byu.net>
45611
45612         doc: mention another function added in cygwin 1.7.0
45613         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
45614         Another new function in cygwin 1.7.
45615
45616 2009-01-19  Bruno Haible  <bruno@clisp.org>
45617
45618         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45619         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
45620         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
45621         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45622         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45623         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
45624         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45625         * m4/md4.m4 (gl_MD4): Likewise.
45626         * m4/md5.m4 (gl_MD5): Likewise.
45627         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
45628         * m4/sha1.m4 (gl_SHA1): Likewise.
45629         * m4/sha256.m4 (gl_SHA256): Likewise.
45630         * m4/sha512.m4 (gl_SHA512): Likewise.
45631
45632 2009-01-19  Bruno Haible  <bruno@clisp.org>
45633
45634         * modules/uniname/uniname-tests (Depends-on): Add progname.
45635         * tests/uniname/test-uninames.c: Include progname.h.
45636         (main): Call set_program_name.
45637
45638         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
45639         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
45640         (main): Call set_program_name.
45641
45642         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
45643         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
45644         (main): Call set_program_name.
45645
45646         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
45647         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
45648         (main): Call set_program_name.
45649
45650         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
45651         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
45652         (main): Call set_program_name.
45653
45654         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
45655         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
45656         (main): Call set_program_name.
45657
45658         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
45659         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
45660         (main): Call set_program_name.
45661
45662         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
45663         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
45664         (main): Call set_program_name.
45665
45666         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
45667         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
45668         (main): Call set_program_name.
45669
45670 2009-01-19  Eric Blake  <ebb9@byu.net>
45671
45672         test-unistd: test previous patch
45673         * tests/test-unistd.c: Test *_FILENO macros.
45674
45675         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
45676         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45677         Guarantee a definition.
45678         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
45679         * modules/unistd-safer (Depends-on): Add dependency on unistd.
45680         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
45681         * lib/dup-safer.c (STDERR_FILENO): Likewise.
45682         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45683         Likewise.
45684         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
45685         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
45686         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45687         Likewise.
45688         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
45689         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
45690         (STDERR_FILENO): Likewise.
45691         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
45692         (STDERR_FILENO): Likewise.
45693         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
45694         (STDERR_FILENO): Likewise.
45695         Reported by Elbert Pol.
45696
45697 2009-01-19  Eric Blake  <ebb9@byu.net>
45698
45699         doc: mention more functions added in cygwin 1.7.0
45700         * doc/posix-functions/abort.texi (abort): Update wording related
45701         to cygwin.
45702         * doc/posix-functions/daylight.texi (daylight): Likewise.
45703         * doc/posix-functions/optarg.texi (optarg): Likewise.
45704         * doc/posix-functions/optarg.texi (opterr): Likewise.
45705         * doc/posix-functions/optarg.texi (optind): Likewise.
45706         * doc/posix-functions/optarg.texi (optopt): Likewise.
45707         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
45708         worked in 1.5.x, and was withdrawn in 1.7.
45709         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
45710         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
45711         cygwin versions.
45712         * doc/posix-functions/perror.texi (perror): Likewise.
45713         * doc/posix-functions/printf.texi (printf): Likewise.
45714         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
45715         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
45716         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
45717         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
45718         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45719         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
45720         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
45721         Likewise.
45722         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
45723         Likewise.
45724         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
45725         this function.
45726         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
45727         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
45728         Likewise.
45729         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
45730         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
45731         * doc/posix-functions/confstr.texi (confstr): Likewise.
45732         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
45733         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
45734         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
45735         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
45736         * doc/posix-functions/fputws.texi (fputws): Likewise.
45737         * doc/posix-functions/fwide.texi (fwide): Likewise.
45738         * doc/posix-functions/getwc.texi (getwc): Likewise.
45739         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
45740         * doc/posix-functions/putwc.texi (putwc): Likewise.
45741         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
45742         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
45743         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
45744         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
45745         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
45746         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
45747         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
45748         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
45749         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
45750         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
45751         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
45752
45753 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45754
45755         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
45756         * lib/ioctl.c: Include <sys/ioctl.h>.
45757
45758 2009-01-19  Simon Josefsson  <simon@josefsson.org>
45759
45760         * modules/getdate-tests (Depends-on): Add progname.
45761         * tests/test-getdate.c: Use progname module, to avoid link errors
45762         on non-glibc systems.
45763
45764 2009-01-18  Simon Josefsson  <simon@josefsson.org>
45765
45766         * modules/filenamecat-tests (Depends-on): Add progname.
45767         * modules/fstrcmp-tests (Depends-on): Likewise.
45768
45769         * tests/test-filenamecat.c: Use progname module, to avoid link
45770         errors on non-glibc systems.
45771         * tests/test-fstrcmp.c: Likewise.
45772
45773 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45774
45775         gettimeofday: avoid warning: nested extern declaration of 'localtime'
45776         * lib/gettimeofday.c: Move extern declaration out of function.
45777
45778 2009-01-18  Bruno Haible  <bruno@clisp.org>
45779
45780         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
45781         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
45782         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
45783
45784 2009-01-18  Bruno Haible  <bruno@clisp.org>
45785
45786         * lib/strftime.c (MEMPCPY): Remove unused macro.
45787         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
45788
45789 2009-01-18  Martin Lambers  <marlam@marlam.de>
45790
45791         New module 'link'.
45792         * lib/unistd.in.h (link): New declaration.
45793         * lib/link.c: New file.
45794         * m4/link.m4: New file.
45795         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
45796         HAVE_LINK.
45797         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
45798         * modules/link: New file.
45799         * doc/posix-functions/link.texi: Mention the new module.
45800
45801 2009-01-18  Bruno Haible  <bruno@clisp.org>
45802
45803         * tests/test-avltree_list.c (main): Call set_program_name.
45804         * tests/test-avltree_oset.c (main): Likewise.
45805         * tests/test-obstack-printf.c: Include progname.h.
45806         (main): Call set_program_name.
45807         * tests/test-quotearg.c: Include progname.h.
45808         (main): Call set_program_name.
45809         * tests/test-xmemdup0.c: Include progname.h.
45810         (main): Call set_program_name.
45811
45812 2009-01-18  Bruno Haible  <bruno@clisp.org>
45813
45814         New module 'alphasort'.
45815         * lib/dirent.in.h (alphasort): New declaration.
45816         * lib/alphasort.c: New file, from glibc with modifications.
45817         * m4/alphasort.m4: New file.
45818         * modules/alphasort: New file.
45819         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
45820         HAVE_ALPHASORT.
45821         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
45822         HAVE_ALPHASORT.
45823         * doc/posix-functions/alphasort.texi: Mention the new module and the
45824         portability problems.
45825
45826 2009-01-18  Bruno Haible  <bruno@clisp.org>
45827
45828         New module 'scandir'.
45829         * lib/dirent.in.h (scandir): New declaration.
45830         * lib/scandir.c: New file, from glibc with modifications.
45831         * m4/scandir.m4: New file.
45832         * modules/scandir: New file.
45833         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
45834         HAVE_SCANDIR.
45835         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
45836         HAVE_SCANDIR.
45837         * doc/posix-functions/scandir.texi: Mention the new module and the
45838         portability problems.
45839
45840 2009-01-17  Bruno Haible  <bruno@clisp.org>
45841
45842         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
45843         Update documentation.
45844         (func_remove_suffix): Escape all dots in the suffix. Update
45845         documentation.
45846         (func_filter_filelist): Update documentation.
45847         Reported by Ralf Wildenhues.
45848
45849 2009-01-17  Bruno Haible  <bruno@clisp.org>
45850
45851         * modules/dprintf-posix-tests: New file.
45852         * tests/test-dprintf-posix.sh: New file.
45853         * tests/test-dprintf-posix.c: New file.
45854
45855         New modules 'dprintf', 'dprintf-posix'.
45856         * lib/stdio.in.h (dprintf): New declaration.
45857         * lib/dprintf.c: New file.
45858         * m4/dprintf.m4: New file.
45859         * m4/dprintf-posix.m4: New file.
45860         * modules/dprintf: New file.
45861         * modules/dprintf-posix: New file.
45862         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
45863         HAVE_DPRINTF, REPLACE_DPRINTF.
45864         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
45865         HAVE_DPRINTF, REPLACE_DPRINTF.
45866         * doc/posix-functions/dprintf.texi: Mention the new modules.
45867
45868 2009-01-17  Bruno Haible  <bruno@clisp.org>
45869
45870         * modules/vdprintf-posix-tests: New file.
45871         * tests/test-vdprintf-posix.sh: New file.
45872         * tests/test-vdprintf-posix.c: New file.
45873
45874         New modules 'vdprintf', 'vdprintf-posix'.
45875         * lib/stdio.in.h (vdprintf): New declaration.
45876         * lib/vdprintf.c: New file.
45877         * m4/vdprintf.m4: New file.
45878         * m4/vdprintf-posix.m4: New file.
45879         * modules/vdprintf: New file.
45880         * modules/vdprintf-posix: New file.
45881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
45882         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45883         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
45884         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45885         * doc/posix-functions/vdprintf.texi: Mention the new modules.
45886
45887 2009-01-17  Bruno Haible  <bruno@clisp.org>
45888
45889         Fix replacement of fopen on mingw.
45890         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
45891         mingw.
45892
45893 2009-01-17  Bruno Haible  <bruno@clisp.org>
45894
45895         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
45896         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
45897
45898 2009-01-17  Bruno Haible  <bruno@clisp.org>
45899
45900         Avoid test-fflush2.sh failure on mingw.
45901         * tests/test-fflush2.c: Include binary-io.h.
45902         (main): Put standard input into binary mode.
45903         * modules/fflush-tests (Depends-on): Add binary-io.
45904
45905 2009-01-17  Bruno Haible  <bruno@clisp.org>
45906
45907         * lib/wchar.in.h: In another particular situation, include only the
45908         system's <wchar.h> file.
45909         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
45910         Reported by Albert Chin-A-Young <china@thewrittenword.com>
45911         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
45912
45913 2009-01-17  Bruno Haible  <bruno@clisp.org>
45914
45915         Support for stripping executables in --enable-relocatable.
45916         * build-aux/install-reloc: Expect one more argument, or an environment
45917         variable RELOC_STRIP_PROG. If set, strip the destination program and
45918         its wrapper.
45919         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
45920         RELOC_STRIP_PROG.
45921         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
45922         to set RELOCATABLE_STRIP.
45923         * NEWS: Mention the new Makefile requirement.
45924
45925 2009-01-17  Bruno Haible  <bruno@clisp.org>
45926
45927         * build-aux/install-reloc: Remove debugging information left over by
45928         C compiler on MacOS X.
45929
45930 2009-01-17  Bruno Haible  <bruno@clisp.org>
45931
45932         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
45933         * lib/progreloc.c (find_executable): Fix type of pointer passed to
45934         _NSGetExecutablePath.
45935
45936 2009-01-16  Jim Meyering  <meyering@redhat.com>
45937
45938         strerror: avoid warnings about discarding "const"
45939         * lib/strerror.c (rpl_strerror): Instead of returning a const
45940         string from each and every "case", use a variable, and add a single
45941         cast after the switch.
45942
45943 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
45944
45945         * lib/arpa_inet.in.h: Add extern "C" block for C++.
45946
45947 2009-01-16  Bruno Haible  <bruno@clisp.org>
45948
45949         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
45950         array initializer syntax that also works in C++ mode.
45951         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45952
45953 2009-01-16  Jim Meyering  <meyering@redhat.com>
45954
45955         poll: suppress a warning
45956         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
45957         to ignore "...unsigned expression < 0 is always false" warnings.
45958
45959 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
45960
45961         poll: remove declarations of unused variables
45962         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
45963         sockbuf and optlen.
45964
45965 2009-01-15  Bruno Haible  <bruno@clisp.org>
45966
45967         Make fflush-after-ungetc POSIX compliant on BSD systems.
45968         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
45969         (clear_ungetc_buffer): Implement also for other systems.
45970         (rpl_fflush): On glibc systems, invoke
45971         clear_ungetc_buffer_preserving_position. Otherwise, invoke
45972         clear_ungetc_buffer after fetching the stream's position, not before.
45973
45974 2009-01-15  Bruno Haible  <bruno@clisp.org>
45975
45976         Make fflush-after-ungetc POSIX compliant on glibc systems.
45977         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
45978         after ungetc.
45979         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
45980         (rpl_fflush): On glibc systems, simply call the system's fflush
45981         function after clearing the ungetc buffer.
45982         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
45983         Instead, lseek only to the end of file, then use the system's fseeko
45984         for the rest. On glibc systems, reset the EOF indicator bit.
45985
45986 2009-01-15  Jim Meyering  <meyering@redhat.com>
45987
45988         openmp.m4: revert quote-adding change, for portability to older autoconf
45989         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
45990         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
45991         Simon Josefsson noticed the problem when using autoconf-2.61.
45992
45993 2009-01-15  Bruno Haible  <bruno@clisp.org>
45994
45995         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
45996         * tests/test-fflush2.c (ASSERT): Always fail.
45997         (main): Add two tests for fflush() after ungetc(), taking into account
45998         the Austin Group's clarification.
45999         Suggested by Eric Blake.
46000
46001 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46002
46003         mktime.m4: remove K&R-style function prototypes
46004         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46005         for the Sun C++ compiler.
46006
46007 2009-01-14  Bruno Haible  <bruno@clisp.org>
46008
46009         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46010         while including <wchar.h>.
46011         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46012         the system's <wchar.h> file.
46013         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46014
46015 2009-01-14  Bruno Haible  <bruno@clisp.org>
46016
46017         * m4/csharp.m4: Don't mention gettext on the serial number line.
46018         * m4/csharpexec.m4: Likewise.
46019         * m4/eaccess.m4: Likewise.
46020         * m4/javaexec.m4: Likewise.
46021         * m4/sig_atomic_t.m4: Likewise.
46022         * m4/tmpdir.m4: Likewise.
46023         * m4/intldir.m4: Bump gettext version.
46024         * m4/lib-ld.m4: Likewise.
46025
46026 2009-01-14  Bruno Haible  <bruno@clisp.org>
46027
46028         * lib/progname.c (set_program_name): Add more comments.
46029         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46030
46031 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46032
46033         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46034         were sys/stat.h does not define it.
46035
46036 2009-01-14  Jim Meyering  <meyering@redhat.com>
46037
46038         many *.m4 files: improve m4 quoting
46039         99% of this change was performed by running the following commands:
46040         git ls-files | grep '\.m4$' | xargs perl -pi \
46041           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46042           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46043           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46044           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46045         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46046         The remainder were to add Copyright dates, increment serial numbers,
46047         undo some changes in comments, exclude m4/intl.m4, and add quotes
46048         around the "1" in ",1" where the unusual spacing prohibited the
46049         above regexps from doing the job.  For more details, see
46050         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46051         * m4/acl.m4: Modified.
46052         * m4/afs.m4: Likewise.
46053         * m4/alloca.m4: Likewise.
46054         * m4/argp.m4: Likewise.
46055         * m4/argz.m4: Likewise.
46056         * m4/atexit.m4: Likewise.
46057         * m4/bison-i18n.m4: Likewise.
46058         * m4/bison.m4: Likewise.
46059         * m4/byteswap.m4: Likewise.
46060         * m4/c-stack.m4: Likewise.
46061         * m4/c-strtod.m4: Likewise.
46062         * m4/calloc.m4: Likewise.
46063         * m4/canonicalize-lgpl.m4: Likewise.
46064         * m4/chown.m4: Likewise.
46065         * m4/clock_time.m4: Likewise.
46066         * m4/codeset.m4: Likewise.
46067         * m4/copy-file.m4: Likewise.
46068         * m4/csharp.m4: Likewise.
46069         * m4/csharpcomp.m4: Likewise.
46070         * m4/csharpexec.m4: Likewise.
46071         * m4/d-ino.m4: Likewise.
46072         * m4/d-type.m4: Likewise.
46073         * m4/dirfd.m4: Likewise.
46074         * m4/double-slash-root.m4: Likewise.
46075         * m4/eaccess.m4: Likewise.
46076         * m4/eealloc.m4: Likewise.
46077         * m4/environ.m4: Likewise.
46078         * m4/errno_h.m4: Likewise.
46079         * m4/euidaccess.m4: Likewise.
46080         * m4/execute.m4: Likewise.
46081         * m4/fatal-signal.m4: Likewise.
46082         * m4/fchdir.m4: Likewise.
46083         * m4/fcntl_h.m4: Likewise.
46084         * m4/fileblocks.m4: Likewise.
46085         * m4/filenamecat.m4: Likewise.
46086         * m4/findprog.m4: Likewise.
46087         * m4/flexmember.m4: Likewise.
46088         * m4/fnmatch.m4: Likewise.
46089         * m4/fopen.m4: Likewise.
46090         * m4/fpending.m4: Likewise.
46091         * m4/fprintf-posix.m4: Likewise.
46092         * m4/free.m4: Likewise.
46093         * m4/frexp.m4: Likewise.
46094         * m4/frexpl.m4: Likewise.
46095         * m4/fsusage.m4: Likewise.
46096         * m4/ftruncate.m4: Likewise.
46097         * m4/gc-camellia.m4: Likewise.
46098         * m4/gc-random.m4: Likewise.
46099         * m4/gc.m4: Likewise.
46100         * m4/getaddrinfo.m4: Likewise.
46101         * m4/getcwd-abort-bug.m4: Likewise.
46102         * m4/getcwd-path-max.m4: Likewise.
46103         * m4/getdate.m4: Likewise.
46104         * m4/getdomainname.m4: Likewise.
46105         * m4/getgroups.m4: Likewise.
46106         * m4/gethostname.m4: Likewise.
46107         * m4/gethrxtime.m4: Likewise.
46108         * m4/getline.m4: Likewise.
46109         * m4/getloadavg.m4: Likewise.
46110         * m4/getndelim2.m4: Likewise.
46111         * m4/getpass.m4: Likewise.
46112         * m4/gettext.m4: Likewise.
46113         * m4/gettime.m4: Likewise.
46114         * m4/gettimeofday.m4: Likewise.
46115         * m4/gnulib-common.m4: Likewise.
46116         * m4/group-member.m4: Likewise.
46117         * m4/host-os.m4: Likewise.
46118         * m4/iconv.m4: Likewise.
46119         * m4/iconv_open.m4: Likewise.
46120         * m4/inet_ntop.m4: Likewise.
46121         * m4/inet_pton.m4: Likewise.
46122         * m4/inline.m4: Likewise.
46123         * m4/intldir.m4: Likewise.
46124         * m4/intlmacosx.m4: Likewise.
46125         * m4/intmax.m4: Likewise.
46126         * m4/intmax_t.m4: Likewise.
46127         * m4/inttypes.m4: Likewise.
46128         * m4/inttypes_h.m4: Likewise.
46129         * m4/inttypes-pri.m4: Likewise.
46130         * m4/isapipe.m4: Likewise.
46131         * m4/isnand.m4: Likewise.
46132         * m4/isnanf.m4: Likewise.
46133         * m4/isnanl.m4: Likewise.
46134         * m4/javacomp.m4: Likewise.
46135         * m4/javaexec.m4: Likewise.
46136         * m4/jm-winsz1.m4: Likewise.
46137         * m4/jm-winsz2.m4: Likewise.
46138         * m4/lchown.m4: Likewise.
46139         * m4/lcmessage.m4: Likewise.
46140         * m4/ldexpl.m4: Likewise.
46141         * m4/lib-ld.m4: Likewise.
46142         * m4/lib-link.m4: Likewise.
46143         * m4/libsigsegv.m4: Likewise.
46144         * m4/link-follow.m4: Likewise.
46145         * m4/localcharset.m4: Likewise.
46146         * m4/locale-fr.m4: Likewise.
46147         * m4/locale-ja.m4: Likewise.
46148         * m4/locale-tr.m4: Likewise.
46149         * m4/locale-zh.m4: Likewise.
46150         * m4/lock.m4: Likewise.
46151         * m4/longlong.m4: Likewise.
46152         * m4/ls-mntd-fs.m4: Likewise.
46153         * m4/lstat.m4: Likewise.
46154         * m4/malloc.m4: Likewise.
46155         * m4/mathl.m4: Likewise.
46156         * m4/mbrtowc.m4: Likewise.
46157         * m4/mbstate_t.m4: Likewise.
46158         * m4/mbswidth.m4: Likewise.
46159         * m4/memchr.m4: Likewise.
46160         * m4/memcmp.m4: Likewise.
46161         * m4/memcpy.m4: Likewise.
46162         * m4/memmem.m4: Likewise.
46163         * m4/memmove.m4: Likewise.
46164         * m4/mempcpy.m4: Likewise.
46165         * m4/memrchr.m4: Likewise.
46166         * m4/memset.m4: Likewise.
46167         * m4/minmax.m4: Likewise.
46168         * m4/mkdir-slash.m4: Likewise.
46169         * m4/mkdtemp.m4: Likewise.
46170         * m4/mktime.m4: Likewise.
46171         * m4/mmap-anon.m4: Likewise.
46172         * m4/mountlist.m4: Likewise.
46173         * m4/nanosleep.m4: Likewise.
46174         * m4/nls.m4: Likewise.
46175         * m4/nocrash.m4: Likewise.
46176         * m4/open.m4: Likewise.
46177         * m4/openat.m4: Likewise.
46178         * m4/openmp.m4: Likewise.
46179         * m4/pathmax.m4: Likewise.
46180         * m4/perl.m4: Likewise.
46181         * m4/physmem.m4: Likewise.
46182         * m4/pipe.m4: Likewise.
46183         * m4/po.m4: Likewise.
46184         * m4/poll.m4: Likewise.
46185         * m4/posixtm.m4: Likewise.
46186         * m4/posixver.m4: Likewise.
46187         * m4/printf-frexp.m4: Likewise.
46188         * m4/printf-frexpl.m4: Likewise.
46189         * m4/printf-posix.m4: Likewise.
46190         * m4/printf-posix-rpl.m4: Likewise.
46191         * m4/printf.m4: Likewise.
46192         * m4/progtest.m4: Likewise.
46193         * m4/putenv.m4: Likewise.
46194         * m4/readline.m4: Likewise.
46195         * m4/readlink.m4: Likewise.
46196         * m4/readutmp.m4: Likewise.
46197         * m4/realloc.m4: Likewise.
46198         * m4/regex.m4: Likewise.
46199         * m4/relocatable.m4: Likewise.
46200         * m4/relocatable-lib.m4: Likewise.
46201         * m4/rename-dest-slash.m4: Likewise.
46202         * m4/rename.m4: Likewise.
46203         * m4/rmdir-errno.m4: Likewise.
46204         * m4/rmdir.m4: Likewise.
46205         * m4/roundf.m4: Likewise.
46206         * m4/roundl.m4: Likewise.
46207         * m4/rpmatch.m4: Likewise.
46208         * m4/save-cwd.m4: Likewise.
46209         * m4/selinux-selinux-h.m4: Likewise.
46210         * m4/setenv.m4: Likewise.
46211         * m4/settime.m4: Likewise.
46212         * m4/sig2str.m4: Likewise.
46213         * m4/sig_atomic_t.m4: Likewise.
46214         * m4/signalblocking.m4: Likewise.
46215         * m4/signbit.m4: Likewise.
46216         * m4/sigpipe.m4: Likewise.
46217         * m4/sockets.m4: Likewise.
46218         * m4/sockpfaf.m4: Likewise.
46219         * m4/st_dm_mode.m4: Likewise.
46220         * m4/stat-time.m4: Likewise.
46221         * m4/stdbool.m4: Likewise.
46222         * m4/stdint.m4: Likewise.
46223         * m4/stdint_h.m4: Likewise.
46224         * m4/stpcpy.m4: Likewise.
46225         * m4/stpncpy.m4: Likewise.
46226         * m4/strcase.m4: Likewise.
46227         * m4/strchrnul.m4: Likewise.
46228         * m4/strcspn.m4: Likewise.
46229         * m4/strdup.m4: Likewise.
46230         * m4/strftime.m4: Likewise.
46231         * m4/strndup.m4: Likewise.
46232         * m4/strnlen.m4: Likewise.
46233         * m4/strpbrk.m4: Likewise.
46234         * m4/strptime.m4: Likewise.
46235         * m4/strsep.m4: Likewise.
46236         * m4/strtod.m4: Likewise.
46237         * m4/strtoimax.m4: Likewise.
46238         * m4/strtok_r.m4: Likewise.
46239         * m4/strtol.m4: Likewise.
46240         * m4/strtoll.m4: Likewise.
46241         * m4/strtoul.m4: Likewise.
46242         * m4/strtoull.m4: Likewise.
46243         * m4/strtoumax.m4: Likewise.
46244         * m4/strverscmp.m4: Likewise.
46245         * m4/threadlib.m4: Likewise.
46246         * m4/timegm.m4: Likewise.
46247         * m4/tm_gmtoff.m4: Likewise.
46248         * m4/tmpdir.m4: Likewise.
46249         * m4/tmpfile.m4: Likewise.
46250         * m4/tzset.m4: Likewise.
46251         * m4/uintmax_t.m4: Likewise.
46252         * m4/unlinkdir.m4: Likewise.
46253         * m4/unlocked-io.m4: Likewise.
46254         * m4/uptime.m4: Likewise.
46255         * m4/userspec.m4: Likewise.
46256         * m4/utimbuf.m4: Likewise.
46257         * m4/utime.m4: Likewise.
46258         * m4/utimes-null.m4: Likewise.
46259         * m4/utimes.m4: Likewise.
46260         * m4/vararrays.m4: Likewise.
46261         * m4/vasnprintf.m4: Likewise.
46262         * m4/vfprintf-posix.m4: Likewise.
46263         * m4/vprintf-posix.m4: Likewise.
46264         * m4/wait-process.m4: Likewise.
46265         * m4/wchar_t.m4: Likewise.
46266         * m4/wint_t.m4: Likewise.
46267         * m4/write-any-file.m4: Likewise.
46268         * m4/yield.m4: Likewise.
46269
46270 2009-01-13  Bruno Haible  <bruno@clisp.org>
46271
46272         Avoid test-copy-file.sh failures when ACL support insufficient.
46273         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46274         TESTS_ENVIRONMENT.
46275         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46276         Reported by Jim Meyering.
46277
46278 2009-01-13  Bruno Haible  <bruno@clisp.org>
46279
46280         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46281         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46282         * modules/unistdio/u8-printf-parse (Files): Likewise.
46283         * modules/unistdio/u32-printf-parse (Files): Likewise.
46284         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46285
46286 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46287
46288         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46289         and m4/inttypes_h.m4 too.
46290
46291 2009-01-12  Eric Blake  <ebb9@byu.net>
46292
46293         tests: IRIX 6.2 cc can't compile -0.0 into .data
46294         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46295         rather than at compile-time.
46296         * tests/test-floorl.c (minus_zero): Likewise.
46297         * tests/test-frexpl.c (minus_zero): Likewise.
46298         * tests/test-isnan.c (minus_zerol): Likewise.
46299         * tests/test-isnanl.h (minus_zero): Likewise.
46300         * tests/test-ldexpl.c (minus_zero): Likewise.
46301         * tests/test-roundl.c (minus_zero): Likewise.
46302         * tests/test-signbit.c (minus_zerol): Likewise.
46303         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46304         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46305         * tests/test-truncl.c (minus_zero): Likewise.
46306         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46307         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46308         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46309
46310 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46311
46312         regex: fix glibc bug 9697
46313         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46314         handling.
46315
46316 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46317
46318         regex: fix glibc bug 697
46319         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46320         being NULL also if there are no backreferences.
46321
46322 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46323
46324         regex: merge glibc changes
46325         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
46326         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
46327         re_string_skip_chars, re_string_reconstruct): Likewise.
46328         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
46329
46330 2009-01-07  Jim Meyering  <meyering@redhat.com>
46331
46332         poll: filter through cppi
46333         * lib/poll.c: Indent cpp directives to reflect nesting.
46334
46335 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46336
46337         poll: don't return uninitialized
46338         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46339
46340 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46341
46342         avoid compile failure on AIX 6.1
46343         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46344         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46345
46346 2009-01-04  Jim Meyering  <meyering@redhat.com>
46347
46348         remove duplicate inclusion of <stdio.h>
46349         * tests/test-fprintf-posix.c: Likewise.
46350         * tests/test-printf-posix.c: Likewise.
46351         * tests/test-snprintf-posix.c: Likewise.
46352         * tests/test-sprintf-posix.c: Likewise.
46353         * tests/test-vasprintf-posix.c: Likewise.
46354         * tests/test-vfprintf-posix.c: Likewise.
46355         * tests/test-vprintf-posix.c: Likewise.
46356         * tests/test-vsnprintf-posix.c: Likewise.
46357         * tests/test-vsprintf-posix.c: Likewise.
46358
46359 2009-01-03  Jim Meyering  <meyering@redhat.com>
46360
46361         gnulib-tool: fix sed-based filtering
46362         * gnulib-tool (func_filter_filelist): Remove extra backslash
46363         in sed_fff_filter definition.
46364
46365 2009-01-02  Jim Meyering  <meyering@redhat.com>
46366
46367         strftime: avoid compilation failure on Solaris 2.6
46368         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
46369         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
46370         Don't #define mbrlen or mbsinit, since now they're guaranteed to
46371         be available.  Reported by Tom G. Christensen.  Details in
46372         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
46373
46374 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46375             Bruno Haible  <bruno@clisp.org>
46376
46377         Speed up gnulib-tool by doing more string processing through shell
46378         built-ins.
46379         * gnulib-tool (fast_func_append): New variable.
46380         (func_remove_prefix, func_remove_suffix): New functions.
46381         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
46382         (func_filter_filelist): New function.
46383         (func_get_dependencies): Use func_remove_suffix instead of sed.
46384         (func_get_automake_snippet): Use func_filter_filelist instead of a
46385         subshell and sed invocation.
46386
46387 2009-01-01  Bruno Haible  <bruno@clisp.org>
46388
46389         Fix a security bug.
46390         * gnulib-tool (func_import, import, update): Don't allow the characters
46391         '"', '$', '`', '\' in macro arguments that become part of commands that
46392         are evaluated.
46393
46394 2009-01-01  Bruno Haible  <bruno@clisp.org>
46395
46396         * gnulib-tool (func_reset_sigpipe): Add more comments.
46397
46398 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46399
46400         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
46401         func_emit_tests_Makefile_am, func_import): Abort loops early if we
46402         already know the answer.
46403
46404 2009-01-01  Jim Meyering  <meyering@redhat.com>
46405
46406         * lib/version-etc.c (version_etc_va): Update copyright year.
46407
46408 2008-12-30  Bruno Haible  <bruno@clisp.org>
46409
46410         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
46411         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
46412         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
46413
46414 2008-12-29  Eric Blake  <ebb9@byu.net>
46415
46416         multiarch: avoid autoconf AC_REQUIRE bug
46417         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
46418         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
46419         2.63 and older.
46420         Reported by Bruno Haible, and analyzed in
46421         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
46422
46423 2008-12-29  Bruno Haible  <bruno@clisp.org>
46424
46425         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
46426         files in subdirectories correctly.
46427         Reported by Ralf Wildenhues.
46428
46429 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46430
46431         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
46432         rather than 'join FILE -', for Solaris join.
46433
46434 2008-12-29  Bruno Haible  <bruno@clisp.org>
46435
46436         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
46437         quoting.
46438         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
46439         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46440         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46441         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
46442         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46443         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
46444         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
46445         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
46446         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46447         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
46448         * m4/nls.m4 (AM_NLS): Likewise.
46449         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
46450         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
46451         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
46452         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
46453         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
46454         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
46455         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
46456         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
46457         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
46458         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46459         * m4/xsize.m4 (gl_XSIZE): Likewise.
46460         Suggested by Jim Meyering.
46461
46462 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46463
46464         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
46465         * lib/parse-duration.c: use a switch instead of cascading if's.
46466
46467 2008-12-29  Eric Blake  <ebb9@byu.net>
46468
46469         wchar.h: supply WEOF on Irix 5.3
46470         * lib/wchar.in.h (wint_t): Also supply WEOF.
46471         * lib/wctype.in.h (wint_t): Likewise.
46472         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
46473         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
46474         Reported by Tom G. Christensen.
46475
46476 2008-12-26  Bruno Haible  <bruno@clisp.org>
46477
46478         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
46479         i486, i586, i686.
46480
46481 2008-12-26  Bruno Haible  <bruno@clisp.org>
46482
46483         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
46484
46485 2008-12-26  Bruno Haible  <bruno@clisp.org>
46486
46487         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
46488         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
46489         not __STDC_CONSTANT_MACROS.
46490         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46491
46492 2008-12-25  Bruno Haible  <bruno@clisp.org>
46493
46494         Add support for universal builds to vasnprintf.
46495         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
46496         universal builds, guess no.
46497         * modules/vasnprintf-posix (Depends-on): Add multiarch.
46498         * modules/vasprintf-posix (Depends-on): Likewise.
46499         * modules/fprintf-posix (Depends-on): Likewise.
46500         * modules/vfprintf-posix (Depends-on): Likewise.
46501         * modules/snprintf-posix (Depends-on): Likewise.
46502         * modules/vsnprintf-posix (Depends-on): Likewise.
46503         * modules/sprintf-posix (Depends-on): Likewise.
46504         * modules/vsprintf-posix (Depends-on): Likewise.
46505         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46506         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46507         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46508         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46509         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46510         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46511         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46512
46513         Add support for universal builds to <inttypes.h>.
46514         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
46515         _SCNu64_PREFIX): In Apple
46516         universal builds, define directly, using _LP64.
46517         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
46518         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
46519         * modules/inttypes (Depends-on): Add multiarch.
46520         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46521
46522         Add support for universal builds to <stdint.h>.
46523         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
46524         universal builds, define directly, using _LP64.
46525         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
46526         Apple universal builds, don't test for the size and suffix of ptrdiff_t
46527         and size_t.
46528         * modules/stdint (Depends-on): Add multiarch.
46529         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46530
46531         New module 'multiarch'.
46532         * modules/multiarch: New file.
46533         * m4/multiarch.m4: New file.
46534
46535 2008-12-25  Bruno Haible  <bruno@clisp.org>
46536
46537         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
46538
46539 2008-12-25  Bruno Haible  <bruno@clisp.org>
46540
46541         * modules/btowc (License): Relicense under LGPLv2+.
46542         * modules/mbsinit (License): Likewise.
46543         * modules/mbrtowc (License): Likewise.
46544         * modules/wcrtomb (License): Likewise.
46545         * modules/streq (License): Likewise.
46546         Reported by David Lutterkort <lutter@redhat.com>.
46547
46548 2008-12-23  Bruno Haible  <bruno@clisp.org>
46549
46550         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
46551
46552 2008-12-23  Bruno Haible  <bruno@clisp.org>
46553
46554         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
46555         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
46556         GETADDRINFO_LIB, not in LIBS.
46557         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
46558         * modules/canon-host (Link): Likewise.
46559         * NEWS: Mention the change.
46560         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
46561         GETADDRINFO_LIB.
46562
46563 2008-12-22  Bruno Haible  <bruno@clisp.org>
46564
46565         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
46566         * doc/posix-functions/iswalpha_l.texi: Likewise.
46567         * doc/posix-functions/iswblank_l.texi: Likewise.
46568         * doc/posix-functions/iswcntrl_l.texi: Likewise.
46569         * doc/posix-functions/iswctype_l.texi: Likewise.
46570         * doc/posix-functions/iswdigit_l.texi: Likewise.
46571         * doc/posix-functions/iswgraph_l.texi: Likewise.
46572         * doc/posix-functions/iswlower_l.texi: Likewise.
46573         * doc/posix-functions/iswprint_l.texi: Likewise.
46574         * doc/posix-functions/iswpunct_l.texi: Likewise.
46575         * doc/posix-functions/iswspace_l.texi: Likewise.
46576         * doc/posix-functions/iswupper_l.texi: Likewise.
46577         * doc/posix-functions/iswxdigit_l.texi: Likewise.
46578         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
46579         * doc/posix-functions/open_wmemstream.texi: Likewise.
46580         * doc/posix-functions/swscanf.texi: Likewise.
46581         * doc/posix-functions/towctrans_l.texi: Likewise.
46582         * doc/posix-functions/towlower.texi: Likewise.
46583         * doc/posix-functions/towlower_l.texi: Likewise.
46584         * doc/posix-functions/towupper.texi: Likewise.
46585         * doc/posix-functions/towupper_l.texi: Likewise.
46586         * doc/posix-functions/vfwprintf.texi: Likewise.
46587         * doc/posix-functions/vfwscanf.texi: Likewise.
46588         * doc/posix-functions/vswscanf.texi: Likewise.
46589         * doc/posix-functions/vwprintf.texi: Likewise.
46590         * doc/posix-functions/vwscanf.texi: Likewise.
46591         * doc/posix-functions/wcpcpy.texi: Likewise.
46592         * doc/posix-functions/wcpncpy.texi: Likewise.
46593         * doc/posix-functions/wcscasecmp.texi: Likewise.
46594         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
46595         * doc/posix-functions/wcscoll_l.texi: Likewise.
46596         * doc/posix-functions/wcsdup.texi: Likewise.
46597         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46598         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
46599         * doc/posix-functions/wcsnlen.texi: Likewise.
46600         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46601         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
46602         * doc/posix-functions/wctrans_l.texi: Likewise.
46603         * doc/posix-functions/wctype_l.texi: Likewise.
46604         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
46605         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
46606         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
46607         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
46608         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
46609         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
46610         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
46611         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
46612         * doc/glibc-functions/wcschrnul.texi: Likewise.
46613         * doc/glibc-functions/wcsftime_l.texi: Likewise.
46614         * doc/glibc-functions/wcstod_l.texi: Likewise.
46615         * doc/glibc-functions/wcstof_l.texi: Likewise.
46616         * doc/glibc-functions/wcstol_l.texi: Likewise.
46617         * doc/glibc-functions/wcstold_l.texi: Likewise.
46618         * doc/glibc-functions/wcstoll_l.texi: Likewise.
46619         * doc/glibc-functions/wcstoq.texi: Likewise.
46620         * doc/glibc-functions/wcstoul_l.texi: Likewise.
46621         * doc/glibc-functions/wcstoull_l.texi: Likewise.
46622         * doc/glibc-functions/wcstouq.texi: Likewise.
46623         * doc/glibc-functions/wmempcpy.texi: Likewise.
46624
46625 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
46626             Eric Blake  <ebb9@byu.net>
46627             Paolo Bonzini  <bonzini@gnu.org>
46628             Bruno Haible  <bruno@clisp.org>
46629
46630         Make c-stack work on Haiku.
46631         * lib/c-stack.c (SA_ONSTACK): Define fallback.
46632         (c_stack_action): Use SA_ONSTACK flag.
46633
46634 2008-12-22  Bruno Haible  <bruno@clisp.org>
46635
46636         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
46637
46638 2008-12-22  Bruno Haible  <bruno@clisp.org>
46639
46640         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
46641         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
46642         being overridden.
46643         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
46644         New macros.
46645         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
46646         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
46647         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
46648         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
46649
46650 2008-12-22  Bruno Haible  <bruno@clisp.org>
46651
46652         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
46653         from test code.
46654
46655 2008-12-22  Eric Blake  <ebb9@byu.net>
46656
46657         Avoid gcc warnings on cygwin.
46658         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
46659         Avoid unused variable.
46660         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
46661         Likewise.
46662
46663 2008-12-22  Bruno Haible  <bruno@clisp.org>
46664
46665         Remove HAVE_MBRTOWC conditionals.
46666         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
46667         (mbscasecmp): Assume mbrtowc function.
46668         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
46669         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
46670         * lib/mbschr.c: Include mbuiter.h unconditionally.
46671         (mbschr): Assume mbrtowc function.
46672         * lib/mbscspn.c: Include mbuiter.h unconditionally.
46673         (mbscspn): Assume mbrtowc function.
46674         * lib/mbslen.c: Include mbuiter.h unconditionally.
46675         (mbslen): Assume mbrtowc function.
46676         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
46677         (mbsncasecmp): Assume mbrtowc function.
46678         * lib/mbsnlen.c: Include mbiter.h unconditionally.
46679         (mbsnlen): Assume mbrtowc function.
46680         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
46681         (mbspbrk): Assume mbrtowc function.
46682         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
46683         (mbspcasecmp): Assume mbrtowc function.
46684         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
46685         (mbsrchr): Assume mbrtowc function.
46686         * lib/mbssep.c: Include mbuiter.h unconditionally.
46687         (mbssep): Assume mbrtowc function.
46688         * lib/mbsspn.c: Include mbuiter.h unconditionally.
46689         (mbsspn): Assume mbrtowc function.
46690         * lib/mbsstr.c: Include mbuiter.h unconditionally.
46691         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
46692         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
46693         (mbstok_r): Assume mbrtowc function.
46694         * lib/propername.c: Include mbuiter.h unconditionally.
46695         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
46696         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
46697         (trim2): Assume mbrtowc function.
46698         * lib/mbswidth.c (mbsinit): Remove fallback definition.
46699         (mbsnwidth): Assume mbrtowc function.
46700         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
46701         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
46702         fallback definitions.
46703         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
46704
46705 2008-12-22  Bruno Haible  <bruno@clisp.org>
46706
46707         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
46708
46709 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
46710
46711         * modules/regex: Request emulations for the mb*/wc* functions we need.
46712         * m4/regex.m4: Don't look for those functions here.
46713         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
46714
46715 2008-12-22  Bruno Haible  <bruno@clisp.org>
46716
46717         * modules/fnmatch (Depends-on): Remove duplicated dependency.
46718
46719 2008-12-21  Bruno Haible  <bruno@clisp.org>
46720
46721         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
46722         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
46723         (Include): Remove conditionalization.
46724         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
46725         (Include): Remove conditionalization.
46726         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
46727         (Include): Remove conditionalization.
46728         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
46729         * m4/mbfile.m4 (gl_MBFILE): Likewise.
46730         * NEWS: Mention the change.
46731         Reported by Alan Hourihane <alanh@fairlite.co.uk>
46732         via Sergey Poznyakoff <gray@gnu.org.ua>.
46733
46734 2008-12-21  Bruno Haible  <bruno@clisp.org>
46735
46736         * MODULES.html.sh (Extended multibyte and wide character utilities
46737         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
46738         wcrtomb, wcsrtombs.
46739         (Support for systems lacking POSIX:2008): Add accept, bind, close,
46740         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
46741         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
46742         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
46743
46744 2008-12-21  Bruno Haible  <bruno@clisp.org>
46745
46746         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
46747
46748 2008-12-21  Bruno Haible  <bruno@clisp.org>
46749
46750         * modules/wcsnrtombs-tests: New file.
46751         * tests/test-wcsnrtombs1.sh: New file.
46752         * tests/test-wcsnrtombs2.sh: New file.
46753         * tests/test-wcsnrtombs3.sh: New file.
46754         * tests/test-wcsnrtombs4.sh: New file.
46755         * tests/test-wcsnrtombs.c: New file.
46756
46757         New module 'wcsnrtombs'.
46758         * lib/wchar.in.h (wcsnrtombs): New declaration.
46759         * lib/wcsnrtombs.c: New file.
46760         * lib/wcsrtombs-state.c: New file.
46761         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
46762         (internal_state): Remove variable.
46763         * m4/wcsnrtombs.m4: New file.
46764         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
46765         compilation units.
46766         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
46767         HAVE_WCSNRTOMBS.
46768         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
46769         HAVE_WCSNRTOMBS.
46770         * modules/wcsnrtombs: New file.
46771         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
46772         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
46773
46774 2008-12-21  Bruno Haible  <bruno@clisp.org>
46775
46776         * modules/wcsrtombs-tests: New file.
46777         * tests/test-wcsrtombs1.sh: New file.
46778         * tests/test-wcsrtombs2.sh: New file.
46779         * tests/test-wcsrtombs3.sh: New file.
46780         * tests/test-wcsrtombs4.sh: New file.
46781         * tests/test-wcsrtombs.c: New file.
46782
46783         New module 'wcsrtombs'.
46784         * lib/wchar.in.h (wcsrtombs): New declaration.
46785         * lib/wcsrtombs.c: New file.
46786         * m4/wcsrtombs.m4: New file.
46787         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
46788         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
46789         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
46790         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
46791         * modules/wcsrtombs: New file.
46792         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
46793         bugs.
46794
46795 2008-12-21  Bruno Haible  <bruno@clisp.org>
46796
46797         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
46798         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
46799         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
46800         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
46801         if not correct.
46802         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
46803         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
46804         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46805         m4/locale-zh.m4, m4/codeset.m4.
46806         * doc/posix-functions/wcrtomb.texi: Document the bug.
46807
46808 2008-12-21  Bruno Haible  <bruno@clisp.org>
46809
46810         Work around a btowc() bug on IRIX 6.5.
46811         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
46812         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
46813         REPLACE_WTOBC if not.
46814         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
46815         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
46816         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
46817
46818 2008-12-21  Bruno Haible  <bruno@clisp.org>
46819
46820         * modules/wcrtomb-tests: New file.
46821         * tests/test-wcrtomb.sh: New file.
46822         * tests/test-wcrtomb.c: New file.
46823
46824         New module 'wcrtomb'.
46825         * lib/wchar.in.h (wcrtomb): New declaration.
46826         * lib/wcrtomb.c: New file.
46827         * m4/wcrtomb.m4: New file.
46828         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
46829         HAVE_WCRTOMB.
46830         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
46831         HAVE_WCRTOMB.
46832         * modules/wcrtomb: New file.
46833         * doc/posix-functions/wcrtomb.texi: Mention the new module.
46834
46835 2008-12-21  Bruno Haible  <bruno@clisp.org>
46836
46837         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
46838         * modules/mbsrtowcs (Files): Likewise.
46839         * modules/wctob (Files): Likewise.
46840         * modules/c-strcase-tests (Files): Likewise.
46841         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
46842         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
46843         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
46844         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
46845         * modules/vasnprintf-posix-tests (Files): Likewise.
46846
46847 2008-12-21  William Pursell  <bill.pursell@gmail.com>
46848
46849         gitlog-to-changelog: pass all command-line arguments to git-log
46850         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
46851         it is sometimes convenient to filter the commits in various ways.
46852         gitlog-to-changelog only allows --since to specify a start date,
46853         but git-log itself supports many other filtering mechanisms.
46854         At the moment, I want to filter by branch name.  Rather than
46855         adding a --branch option to gitlog-to-changelog, it seems more
46856         flexible to simply pass all options directly to git-log and let
46857         git do the work.  Notice that this effectively makes --since a
46858         redundant option for gitlog-to-changelog, but removing it would
46859         require current usage to change since calls would then require
46860         an additional '--'.
46861
46862 2008-12-21  Bruno Haible  <bruno@clisp.org>
46863
46864         * modules/mbsnrtowcs-tests: New file.
46865         * tests/test-mbsnrtowcs1.sh: New file.
46866         * tests/test-mbsnrtowcs2.sh: New file.
46867         * tests/test-mbsnrtowcs3.sh: New file.
46868         * tests/test-mbsnrtowcs4.sh: New file.
46869         * tests/test-mbsnrtowcs.c: New file.
46870
46871         New module 'mbsnrtowcs'.
46872         * lib/wchar.in.h (mbsnrtowcs): New declaration.
46873         * lib/mbsnrtowcs.c: New file.
46874         * lib/mbsrtowcs-state.c: New file.
46875         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
46876         (internal_state): Remove variable.
46877         * m4/mbsnrtowcs.m4: New file.
46878         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
46879         compilation units.
46880         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
46881         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46882         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
46883         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46884         * modules/mbsnrtowcs: New file.
46885         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
46886         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
46887         portability problem.
46888
46889 2008-12-21  Bruno Haible  <bruno@clisp.org>
46890
46891         Work around mbsrtowcs bug.
46892         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
46893         (gl_FUNC_MBSRTOWCS): Invoke it.
46894         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46895         m4/locale-zh.m4.
46896         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
46897
46898 2008-12-21  Bruno Haible  <bruno@clisp.org>
46899
46900         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
46901
46902 2008-12-21  Bruno Haible  <bruno@clisp.org>
46903
46904         Update doc for AIX.
46905         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
46906         16-bit wchar_t type.
46907         * doc/posix-functions/btowc.texi: Likewise.
46908         * doc/posix-functions/fgetwc.texi: Likewise.
46909         * doc/posix-functions/fgetws.texi: Likewise.
46910         * doc/posix-functions/fputwc.texi: Likewise.
46911         * doc/posix-functions/fputws.texi: Likewise.
46912         * doc/posix-functions/fwide.texi: Likewise.
46913         * doc/posix-functions/fwprintf.texi: Likewise.
46914         * doc/posix-functions/fwscanf.texi: Likewise.
46915         * doc/posix-functions/getwchar.texi: Likewise.
46916         * doc/posix-functions/getwc.texi: Likewise.
46917         * doc/posix-functions/iswalnum.texi: Likewise.
46918         * doc/posix-functions/iswalpha.texi: Likewise.
46919         * doc/posix-functions/iswblank.texi: Likewise.
46920         * doc/posix-functions/iswcntrl.texi: Likewise.
46921         * doc/posix-functions/iswctype.texi: Likewise.
46922         * doc/posix-functions/iswdigit.texi: Likewise.
46923         * doc/posix-functions/iswgraph.texi: Likewise.
46924         * doc/posix-functions/iswlower.texi: Likewise.
46925         * doc/posix-functions/iswprint.texi: Likewise.
46926         * doc/posix-functions/iswpunct.texi: Likewise.
46927         * doc/posix-functions/iswspace.texi: Likewise.
46928         * doc/posix-functions/iswupper.texi: Likewise.
46929         * doc/posix-functions/iswxdigit.texi: Likewise.
46930         * doc/posix-functions/mbrtowc.texi: Likewise.
46931         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46932         * doc/posix-functions/mbstowcs.texi: Likewise.
46933         * doc/posix-functions/mbtowc.texi: Likewise.
46934         * doc/posix-functions/putwchar.texi: Likewise.
46935         * doc/posix-functions/putwc.texi: Likewise.
46936         * doc/posix-functions/swprintf.texi: Likewise.
46937         * doc/posix-functions/tolower.texi: Likewise.
46938         * doc/posix-functions/toupper.texi: Likewise.
46939         * doc/posix-functions/towctrans.texi: Likewise.
46940         * doc/posix-functions/ungetwc.texi: Likewise.
46941         * doc/posix-functions/vswprintf.texi: Likewise.
46942         * doc/posix-functions/wcrtomb.texi: Likewise.
46943         * doc/posix-functions/wcscat.texi: Likewise.
46944         * doc/posix-functions/wcschr.texi: Likewise.
46945         * doc/posix-functions/wcscmp.texi: Likewise.
46946         * doc/posix-functions/wcscoll.texi: Likewise.
46947         * doc/posix-functions/wcscpy.texi: Likewise.
46948         * doc/posix-functions/wcscspn.texi: Likewise.
46949         * doc/posix-functions/wcsftime.texi: Likewise.
46950         * doc/posix-functions/wcslen.texi: Likewise.
46951         * doc/posix-functions/wcsncat.texi: Likewise.
46952         * doc/posix-functions/wcsncmp.texi: Likewise.
46953         * doc/posix-functions/wcsncpy.texi: Likewise.
46954         * doc/posix-functions/wcspbrk.texi: Likewise.
46955         * doc/posix-functions/wcsrchr.texi: Likewise.
46956         * doc/posix-functions/wcsrtombs.texi: Likewise.
46957         * doc/posix-functions/wcsspn.texi: Likewise.
46958         * doc/posix-functions/wcsstr.texi: Likewise.
46959         * doc/posix-functions/wcstod.texi: Likewise.
46960         * doc/posix-functions/wcstof.texi: Likewise.
46961         * doc/posix-functions/wcstoimax.texi: Likewise.
46962         * doc/posix-functions/wcstok.texi: Likewise.
46963         * doc/posix-functions/wcstold.texi: Likewise.
46964         * doc/posix-functions/wcstoll.texi: Likewise.
46965         * doc/posix-functions/wcstol.texi: Likewise.
46966         * doc/posix-functions/wcstombs.texi: Likewise.
46967         * doc/posix-functions/wcstoull.texi: Likewise.
46968         * doc/posix-functions/wcstoul.texi: Likewise.
46969         * doc/posix-functions/wcstoumax.texi: Likewise.
46970         * doc/posix-functions/wcswidth.texi: Likewise.
46971         * doc/posix-functions/wcsxfrm.texi: Likewise.
46972         * doc/posix-functions/wctob.texi: Likewise.
46973         * doc/posix-functions/wctomb.texi: Likewise.
46974         * doc/posix-functions/wctrans.texi: Likewise.
46975         * doc/posix-functions/wctype.texi: Likewise.
46976         * doc/posix-functions/wcwidth.texi: Likewise.
46977         * doc/posix-functions/wmemchr.texi: Likewise.
46978         * doc/posix-functions/wmemcmp.texi: Likewise.
46979         * doc/posix-functions/wmemcpy.texi: Likewise.
46980         * doc/posix-functions/wmemmove.texi: Likewise.
46981         * doc/posix-functions/wmemset.texi: Likewise.
46982         * doc/posix-functions/wprintf.texi: Likewise.
46983         * doc/posix-functions/wscanf.texi: Likewise.
46984
46985 2008-12-21  Bruno Haible  <bruno@clisp.org>
46986
46987         Update doc for HP-UX 11.11.
46988         * doc/posix-functions/btowc.texi: Clarify that the function is missing
46989         in HP-UX version 11.00, not in all versions of HP-UX 11.
46990         * doc/posix-functions/fwide.texi: Likewise.
46991         * doc/posix-functions/fwprintf.texi: Likewise.
46992         * doc/posix-functions/fwscanf.texi: Likewise.
46993         * doc/posix-functions/inet_ntop.texi: Likewise.
46994         * doc/posix-functions/inet_pton.texi: Likewise.
46995         * doc/posix-functions/mbrlen.texi: Likewise.
46996         * doc/posix-functions/mbrtowc.texi: Likewise.
46997         * doc/posix-functions/mbsinit.texi: Likewise.
46998         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46999         * doc/posix-functions/swprintf.texi: Likewise.
47000         * doc/posix-functions/swscanf.texi: Likewise.
47001         * doc/posix-functions/towctrans.texi: Likewise.
47002         * doc/posix-functions/vfwprintf.texi: Likewise.
47003         * doc/posix-functions/vswprintf.texi: Likewise.
47004         * doc/posix-functions/vwprintf.texi: Likewise.
47005         * doc/posix-functions/wcrtomb.texi: Likewise.
47006         * doc/posix-functions/wcsrtombs.texi: Likewise.
47007         * doc/posix-functions/wcsstr.texi: Likewise.
47008         * doc/posix-functions/wctob.texi: Likewise.
47009         * doc/posix-functions/wctrans.texi: Likewise.
47010         * doc/posix-functions/wmemchr.texi: Likewise.
47011         * doc/posix-functions/wmemcmp.texi: Likewise.
47012         * doc/posix-functions/wmemcpy.texi: Likewise.
47013         * doc/posix-functions/wmemmove.texi: Likewise.
47014         * doc/posix-functions/wmemset.texi: Likewise.
47015         * doc/posix-functions/wprintf.texi: Likewise.
47016         * doc/posix-functions/wscanf.texi: Likewise.
47017
47018 2008-12-21  Bruno Haible  <bruno@clisp.org>
47019
47020         Work around a portability problem.
47021         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47022         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47023
47024 2008-12-20  Bruno Haible  <bruno@clisp.org>
47025
47026         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47027         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47028         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47029         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47030         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47031
47032         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47033         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47034         set.
47035         (GNULIB_defined_mbstate_t): New macro.
47036         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47037         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47038         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47039         reuses the system's mbrtowc function but works around the bugs.
47040         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47041         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47042         macros.
47043         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47044         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47045         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47046         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47047         REPLACE_MBSINIT if mbsinit needs to be overridden.
47048         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47049         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47050         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47051         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47052         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47053         m4/locale-zh.m4.
47054         (Depends): Add mbsinit.
47055         * modules/mbsinit (Depends): Add mbrtowc.
47056         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47057
47058 2008-12-20  Bruno Haible  <bruno@clisp.org>
47059
47060         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47061         so that there are no conversion errors on AIX.
47062         * tests/test-mbsrtowcs.c (main): LIkewise.
47063
47064 2008-12-20  Bruno Haible  <bruno@clisp.org>
47065
47066         Work around wctob bug on Solaris <= 9.
47067         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47068         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47069         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47070         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47071         * modules/wctob (Files): Add m4/locale-fr.m4.
47072         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47073
47074 2008-12-20  Bruno Haible  <bruno@clisp.org>
47075
47076         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47077         /dev/null.
47078         * tests/test-select-in.sh: Likewise.
47079         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47080
47081 2008-12-20  Bruno Haible  <bruno@clisp.org>
47082
47083         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47084         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47085         Cygwin 1.5.x.
47086
47087 2008-12-20  Bruno Haible  <bruno@clisp.org>
47088
47089         Ensure mbstate_t is defined on HP-UX 11.11.
47090         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47091         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47092         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47093         AC_USE_SYSTEM_EXTENSIONS.
47094         * modules/fnmatch (Depends-on): Add extensions.
47095         * modules/mbrlen (Depends-on): Likewise.
47096         * modules/mbrtowc (Depends-on): Likewise.
47097         * modules/mbsinit (Depends-on): Likewise.
47098         * modules/mbsrtowcs (Depends-on): Likewise.
47099         * modules/mbswidth (Depends-on): Likewise.
47100         * modules/quotearg (Depends-on): Likewise.
47101         * modules/strftime (Depends-on): Likewise.
47102
47103 2008-12-20  Bruno Haible  <bruno@clisp.org>
47104
47105         Ensure wctob is declared on IRIX 6.5.
47106         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47107         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47108         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47109         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47110         of HAVE_WCTOB.
47111         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47112         HAVE_WCTOB.
47113         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47114
47115 2008-12-19  Bruno Haible  <bruno@clisp.org>
47116
47117         * modules/mbsrtowcs-tests: New file.
47118         * tests/test-mbsrtowcs1.sh: New file.
47119         * tests/test-mbsrtowcs2.sh: New file.
47120         * tests/test-mbsrtowcs3.sh: New file.
47121         * tests/test-mbsrtowcs4.sh: New file.
47122         * tests/test-mbsrtowcs.c: New file.
47123
47124         New module 'mbsrtowcs'.
47125         * lib/wchar.in.h (mbsrtowcs): New declaration.
47126         * lib/mbsrtowcs.c: New file.
47127         * m4/mbsrtowcs.m4: New file.
47128         * modules/mbsrtowcs: New file.
47129         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47130         HAVE_MBSRTOWCS.
47131         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47132         HAVE_MBSRTOWCS.
47133         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47134
47135 2008-12-19  Bruno Haible  <bruno@clisp.org>
47136
47137         New module 'mbrlen'.
47138         * lib/wchar.in.h (mbrlen): New declaration.
47139         * lib/mbrlen.c: New file.
47140         * m4/mbrlen.m4: New file.
47141         * modules/mbrlen: New file.
47142         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47143         HAVE_MBRLEN.
47144         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47145         HAVE_MBRLEN.
47146         * doc/posix-functions/mbrlen.texi: Document the new module.
47147
47148 2008-12-19  Bruno Haible  <bruno@clisp.org>
47149
47150         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47151         * modules/mbrtowc (Depends-on): Add verify.
47152         Suggested by Paul Eggert.
47153
47154 2008-12-18  Bruno Haible  <bruno@clisp.org>
47155
47156         * modules/mbsinit-tests: New file.
47157         * tests/test-mbsinit.sh: New file.
47158         * tests/test-mbsinit.c: New file.
47159
47160 2008-12-18  Bruno Haible  <bruno@clisp.org>
47161
47162         * modules/mbrtowc-tests: New file.
47163         * tests/test-mbrtowc1.sh: New file.
47164         * tests/test-mbrtowc2.sh: New file.
47165         * tests/test-mbrtowc3.sh: New file.
47166         * tests/test-mbrtowc4.sh: New file.
47167         * tests/test-mbrtowc.c: New file.
47168
47169         New module 'mbrtowc'.
47170         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47171         mbsinit and mbrtowc.
47172         (mbrtowc): New declaration.
47173         * lib/mbrtowc.c: New file.
47174         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47175         * modules/mbrtowc: New file.
47176         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47177         HAVE_MBRTOWC.
47178         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47179         HAVE_MBRTOWC.
47180         * doc/posix-functions/mbrtowc.texi: Document the new module.
47181
47182 2008-12-18  Bruno Haible  <bruno@clisp.org>
47183
47184         New module 'wctob'.
47185         * lib/wchar.in.h (wctob): New declaration.
47186         * lib/wctob.c: New file.
47187         * m4/wctob.m4: New file.
47188         * modules/wctob: New file.
47189         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47190         HAVE_WCTOB.
47191         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47192         * doc/posix-functions/wctob.texi: Document the new module.
47193
47194 2008-12-18  Bruno Haible  <bruno@clisp.org>
47195
47196         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47197         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47198
47199 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47200
47201         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47202         G. Christensen" <tgc@jupiterrise.com>.
47203
47204         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47205         G. Christensen" <tgc@jupiterrise.com>.
47206
47207         * lib/flock.c: Need to include string.h.  Reported by "Tom
47208         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47209         <ebb9@byu.net>.
47210
47211 2008-12-18  Bruno Haible  <bruno@clisp.org>
47212
47213         * m4/locale-ja.m4: New file, from GNU gettext.
47214
47215 2008-12-17  Bruno Haible  <bruno@clisp.org>
47216
47217         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47218         Suggested by Eric Blake.
47219
47220 2008-12-17  Bruno Haible  <bruno@clisp.org>
47221
47222         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47223
47224 2008-12-17  Bruno Haible  <bruno@clisp.org>
47225
47226         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47227         * modules/mbsinit (Depends-on): Add verify.
47228         Suggested by Paul Eggert.
47229
47230 2008-12-17  Bruno Haible  <bruno@clisp.org>
47231
47232         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47233         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47234         gl_FUNC_MBRTOWC.
47235         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47236         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47237         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47238         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47239         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47240         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47241         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47242         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47243         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47244         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47245         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47246         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47247         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47248         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47249         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47250         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47251         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47252         * modules/trim (configure.ac): Likewise.
47253
47254 2008-12-17  Bruno Haible  <bruno@clisp.org>
47255
47256         * modules/btowc-tests: New file.
47257         * tests/test-btowc1.sh: New file.
47258         * tests/test-btowc2.sh: New file.
47259         * tests/test-btowc.c: New file.
47260
47261         New module 'btowc'.
47262         * lib/wchar.in.h (btowc): New declaration.
47263         * lib/btowc.c: New file.
47264         * m4/btowc.m4: New file.
47265         * modules/btowc: New file.
47266         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47267         HAVE_BTOWC.
47268         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47269         * doc/posix-functions/btowc.texi: Document the new module.
47270
47271 2008-12-17  Bruno Haible  <bruno@clisp.org>
47272
47273         New module 'mbsinit'.
47274         * lib/wchar.in.h (mbsinit): New declaration.
47275         * lib/mbsinit.c: New file.
47276         * m4/mbsinit.m4: New file.
47277         * modules/mbsinit: New file.
47278         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47279         HAVE_MBSINIT.
47280         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47281         HAVE_MBSINIT.
47282         * doc/posix-functions/mbsinit.texi: Document the new module.
47283
47284 2008-12-16  Bruno Haible  <bruno@clisp.org>
47285
47286         * lib/unistd.in.h: Add comment.
47287         * tests/test-environ.c: Don't include <stdlib.h>.
47288
47289 2008-12-16  Bruno Haible  <bruno@clisp.org>
47290
47291         * lib/parse-duration.h (parse_duration): Document return value
47292         convention.
47293         * lib/parse-duration.c: Include specification header first. Add
47294         comments.
47295         (_): Remove macro.
47296         (parse_year_month_day, parse_hour_minute_second): Move side effects
47297         outside of strchr call.
47298         (parse_non_iso8601): Move side effects outside of isspace call.
47299         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47300         call.
47301
47302 2008-12-16  Bruno Haible  <bruno@clisp.org>
47303
47304         * tests/test-parse-duration.sh: Produce no output when the test
47305         succeeds.
47306
47307 2008-12-16  Bruno Haible  <bruno@clisp.org>
47308
47309         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47310         expressions.
47311
47312 2008-12-15  Bruno Haible  <bruno@clisp.org>
47313
47314         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47315         * doc/glibc-functions/flistxattr.texi: Likewise.
47316         * doc/glibc-functions/fopencookie.texi: Likewise.
47317         * doc/glibc-functions/fremovexattr.texi: Likewise.
47318         * doc/glibc-functions/fsetxattr.texi: Likewise.
47319         * doc/glibc-functions/getxattr.texi: Likewise.
47320         * doc/glibc-functions/lgetxattr.texi: Likewise.
47321         * doc/glibc-functions/listxattr.texi: Likewise.
47322         * doc/glibc-functions/llistxattr.texi: Likewise.
47323         * doc/glibc-functions/lremovexattr.texi: Likewise.
47324         * doc/glibc-functions/lsetxattr.texi: Likewise.
47325         * doc/glibc-functions/removexattr.texi: Likewise.
47326         * doc/glibc-functions/setxattr.texi: Likewise.
47327         * doc/posix-functions/open_memstream.texi: Likewise.
47328
47329 2008-12-15  Eric Blake  <ebb9@byu.net>
47330
47331         Update doc for cygwin 1.7.
47332         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
47333         functions.
47334         * doc/posix-functions/fchmodat.texi: Likewise.
47335         * doc/posix-functions/fchownat.texi: Likewise.
47336         * doc/posix-functions/fdopendir.texi: Likewise.
47337         * doc/posix-functions/fmemopen.texi: Likewise.
47338         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47339         * doc/posix-functions/fstatat.texi: Likewise.
47340         * doc/posix-functions/futimens.texi: Likewise.
47341         * doc/posix-functions/gai_strerror.texi: Likewise.
47342         * doc/posix-functions/getaddrinfo.texi: Likewise.
47343         * doc/posix-functions/getnameinfo.texi: Likewise.
47344         * doc/posix-functions/if_freenameindex.texi: Likewise.
47345         * doc/posix-functions/if_indextoname.texi: Likewise.
47346         * doc/posix-functions/if_nameindex.texi: Likewise.
47347         * doc/posix-functions/if_nametoindex.texi: Likewise.
47348         * doc/posix-functions/insque.texi: Likewise.
47349         * doc/posix-functions/linkat.texi: Likewise.
47350         * doc/posix-functions/llrint.texi: Likewise.
47351         * doc/posix-functions/llrintf.texi: Likewise.
47352         * doc/posix-functions/llrintl.texi: Likewise.
47353         * doc/posix-functions/lockf.texi: Likewise.
47354         * doc/posix-functions/lrintl.texi: Likewise.
47355         * doc/posix-functions/mkdirat.texi: Likewise.
47356         * doc/posix-functions/mkfifoat.texi: Likewise.
47357         * doc/posix-functions/mknodat.texi: Likewise.
47358         * doc/posix-functions/mq_close.texi: Likewise.
47359         * doc/posix-functions/mq_getattr.texi: Likewise.
47360         * doc/posix-functions/mq_notify.texi: Likewise.
47361         * doc/posix-functions/mq_open.texi: Likewise.
47362         * doc/posix-functions/mq_receive.texi: Likewise.
47363         * doc/posix-functions/mq_send.texi: Likewise.
47364         * doc/posix-functions/mq_setattr.texi: Likewise.
47365         * doc/posix-functions/mq_timedreceive.texi: Likewise.
47366         * doc/posix-functions/mq_timedsend.texi: Likewise.
47367         * doc/posix-functions/mq_unlink.texi: Likewise.
47368         * doc/posix-functions/open_memstream.texi: Likewise.
47369         * doc/posix-functions/openat.texi: Likewise.
47370         * doc/posix-functions/posix_fadvise.texi: Likewise.
47371         * doc/posix-functions/posix_fallocate.texi: Likewise.
47372         * doc/posix-functions/posix_madvise.texi: Likewise.
47373         * doc/posix-functions/posix_memalign.texi: Likewise.
47374         * doc/posix-functions/posix_openpt.texi: Likewise.
47375         * doc/posix-functions/readlinkat.texi: Likewise.
47376         * doc/posix-functions/remque.texi: Likewise.
47377         * doc/posix-functions/renameat.texi: Likewise.
47378         * doc/posix-functions/rintl.texi: Likewise.
47379         * doc/posix-functions/sem_unlink.texi: Likewise.
47380         * doc/posix-functions/shm_open.texi: Likewise.
47381         * doc/posix-functions/shm_unlink.texi: Likewise.
47382         * doc/posix-functions/signgam.texi: Likewise.
47383         * doc/posix-functions/sigset.texi: Likewise.
47384         * doc/posix-functions/stpcpy.texi: Likewise.
47385         * doc/posix-functions/stpncpy.texi: Likewise.
47386         * doc/posix-functions/strerror.texi: Likewise.
47387         * doc/posix-functions/strtod.texi: Likewise.
47388         * doc/posix-functions/symlinkat.texi: Likewise.
47389         * doc/posix-functions/unlinkat.texi: Likewise.
47390         * doc/posix-functions/utimensat.texi: Likewise.
47391         * doc/glibc-functions/bindresvport.texi: Likewise.
47392         * doc/glibc-functions/dn_expand.texi: Likewise.
47393         * doc/glibc-functions/exp10.texi: Likewise.
47394         * doc/glibc-functions/exp10f.texi: Likewise.
47395         * doc/glibc-functions/fgetxattr.texi: Likewise.
47396         * doc/glibc-functions/flistxattr.texi: Likewise.
47397         * doc/glibc-functions/fopencookie.texi: Likewise.
47398         * doc/glibc-functions/freeifaddrs.texi: Likewise.
47399         * doc/glibc-functions/fremovexattr.texi: Likewise.
47400         * doc/glibc-functions/fsetxattr.texi: Likewise.
47401         * doc/glibc-functions/getifaddrs.texi: Likewise.
47402         * doc/glibc-functions/getxattr.texi: Likewise.
47403         * doc/glibc-functions/lgetxattr.texi: Likewise.
47404         * doc/glibc-functions/listxattr.texi: Likewise.
47405         * doc/glibc-functions/llistxattr.texi: Likewise.
47406         * doc/glibc-functions/lremovexattr.texi: Likewise.
47407         * doc/glibc-functions/lsetxattr.texi: Likewise.
47408         * doc/glibc-functions/pow10.texi: Likewise.
47409         * doc/glibc-functions/pow10f.texi: Likewise.
47410         * doc/glibc-functions/rcmd_af.texi: Likewise.
47411         * doc/glibc-functions/removexattr.texi: Likewise.
47412         * doc/glibc-functions/res_init.texi: Likewise.
47413         * doc/glibc-functions/res_mkquery.texi: Likewise.
47414         * doc/glibc-functions/res_query.texi: Likewise.
47415         * doc/glibc-functions/res_querydomain.texi: Likewise.
47416         * doc/glibc-functions/res_send.texi: Likewise.
47417         * doc/glibc-functions/rresvport_af.texi: Likewise.
47418         * doc/glibc-functions/setxattr.texi: Likewise.
47419         * doc/glibc-functions/strcasestr.texi: Likewise.
47420
47421 2008-12-15  Bruno Haible  <bruno@clisp.org>
47422
47423         Fix compilation error on OSF/1 4.0.
47424         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
47425         <sys/time.h>, simply delegate to the system header.
47426         Reported by Daniel Richard G. <oss@teragram.com>.
47427
47428 2008-12-15  Bruno Haible  <bruno@clisp.org>
47429
47430         * doc/posix-functions/openat.texi: Mention the 'openat' module.
47431         * doc/posix-functions/fchmodat.texi: Likewise.
47432         * doc/posix-functions/fchownat.texi: Likewise.
47433         * doc/posix-functions/fdopendir.texi: Likewise.
47434         * doc/posix-functions/fstatat.texi: Likewise.
47435         * doc/posix-functions/mkdirat.texi: Likewise.
47436         * doc/posix-functions/unlinkat.texi: Likewise.
47437
47438 2008-12-14  Bruno Haible  <bruno@clisp.org>
47439
47440         Update doc for POSIX:2008.
47441         * doc/posix-functions/faccessat.texi: New file.
47442         * doc/posix-functions/fchmodat.texi: New file.
47443         * doc/posix-functions/fchownat.texi: New file.
47444         * doc/posix-functions/fdopendir.texi: New file.
47445         * doc/posix-functions/fstatat.texi: New file.
47446         * doc/posix-functions/futimens.texi: New file.
47447         * doc/posix-functions/linkat.texi: New file.
47448         * doc/posix-functions/mkdirat.texi: New file.
47449         * doc/posix-functions/mkfifoat.texi: New file.
47450         * doc/posix-functions/mknodat.texi: New file.
47451         * doc/posix-functions/open_wmemstream.texi: New file.
47452         * doc/posix-functions/openat.texi: New file.
47453         * doc/posix-functions/psiginfo.texi: New file.
47454         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
47455         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
47456         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
47457         * doc/posix-functions/readlinkat.texi: New file.
47458         * doc/posix-functions/renameat.texi: New file.
47459         * doc/posix-functions/strerror_l.texi: New file.
47460         * doc/posix-functions/symlinkat.texi: New file.
47461         * doc/posix-functions/unlinkat.texi: New file.
47462         * doc/posix-functions/utimensat.texi: New file.
47463         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47464
47465 2008-12-14  Bruno Haible  <bruno@clisp.org>
47466
47467         Update doc for POSIX:2008.
47468         * doc/posix-functions/alphasort.texi: Renamed from
47469         doc/glibc-functions/alphasort.texi.
47470         * doc/posix-functions/dirfd.texi: Renamed from
47471         doc/glibc-functions/dirfd.texi.
47472         * doc/posix-functions/dprintf.texi: Renamed from
47473         doc/glibc-functions/dprintf.texi.
47474         * doc/posix-functions/duplocale.texi: Renamed from
47475         doc/glibc-functions/duplocale.texi.
47476         * doc/posix-functions/fexecve.texi: Renamed from
47477         doc/glibc-functions/fexecve.texi.
47478         * doc/posix-functions/fmemopen.texi: Renamed from
47479         doc/glibc-functions/fmemopen.texi.
47480         * doc/posix-functions/freelocale.texi: Renamed from
47481         doc/glibc-functions/freelocale.texi.
47482         * doc/posix-functions/getdate_err.texi: Renamed from
47483         doc/glibc-functions/getdate_err.texi.
47484         * doc/posix-functions/isalnum_l.texi: Renamed from
47485         doc/glibc-functions/isalnum_l.texi.
47486         * doc/posix-functions/isalpha_l.texi: Renamed from
47487         doc/glibc-functions/isalpha_l.texi.
47488         * doc/posix-functions/isblank_l.texi: Renamed from
47489         doc/glibc-functions/isblank_l.texi.
47490         * doc/posix-functions/iscntrl_l.texi: Renamed from
47491         doc/glibc-functions/iscntrl_l.texi.
47492         * doc/posix-functions/isdigit_l.texi: Renamed from
47493         doc/glibc-functions/isdigit_l.texi.
47494         * doc/posix-functions/isgraph_l.texi: Renamed from
47495         doc/glibc-functions/isgraph_l.texi.
47496         * doc/posix-functions/islower_l.texi: Renamed from
47497         doc/glibc-functions/islower_l.texi.
47498         * doc/posix-functions/isprint_l.texi: Renamed from
47499         doc/glibc-functions/isprint_l.texi.
47500         * doc/posix-functions/ispunct_l.texi: Renamed from
47501         doc/glibc-functions/ispunct_l.texi.
47502         * doc/posix-functions/isspace_l.texi: Renamed from
47503         doc/glibc-functions/isspace_l.texi.
47504         * doc/posix-functions/isupper_l.texi: Renamed from
47505         doc/glibc-functions/isupper_l.texi.
47506         * doc/posix-functions/iswalnum_l.texi: Renamed from
47507         doc/glibc-functions/iswalnum_l.texi.
47508         * doc/posix-functions/iswalpha_l.texi: Renamed from
47509         doc/glibc-functions/iswalpha_l.texi.
47510         * doc/posix-functions/iswblank_l.texi: Renamed from
47511         doc/glibc-functions/iswblank_l.texi.
47512         * doc/posix-functions/iswcntrl_l.texi: Renamed from
47513         doc/glibc-functions/iswcntrl_l.texi.
47514         * doc/posix-functions/iswctype_l.texi: Renamed from
47515         doc/glibc-functions/iswctype_l.texi.
47516         * doc/posix-functions/iswdigit_l.texi: Renamed from
47517         doc/glibc-functions/iswdigit_l.texi.
47518         * doc/posix-functions/iswgraph_l.texi: Renamed from
47519         doc/glibc-functions/iswgraph_l.texi.
47520         * doc/posix-functions/iswlower_l.texi: Renamed from
47521         doc/glibc-functions/iswlower_l.texi.
47522         * doc/posix-functions/iswprint_l.texi: Renamed from
47523         doc/glibc-functions/iswprint_l.texi.
47524         * doc/posix-functions/iswpunct_l.texi: Renamed from
47525         doc/glibc-functions/iswpunct_l.texi.
47526         * doc/posix-functions/iswspace_l.texi: Renamed from
47527         doc/glibc-functions/iswspace_l.texi.
47528         * doc/posix-functions/iswupper_l.texi: Renamed from
47529         doc/glibc-functions/iswupper_l.texi.
47530         * doc/posix-functions/iswxdigit_l.texi: Renamed from
47531         doc/glibc-functions/iswxdigit_l.texi.
47532         * doc/posix-functions/isxdigit_l.texi: Renamed from
47533         doc/glibc-functions/isxdigit_l.texi.
47534         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
47535         doc/glibc-functions/mbsnrtowcs.texi.
47536         * doc/posix-functions/mkdtemp.texi: Renamed from
47537         doc/glibc-functions/mkdtemp.texi.
47538         * doc/posix-functions/newlocale.texi: Renamed from
47539         doc/glibc-functions/newlocale.texi.
47540         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
47541         doc/glibc-functions/nl_langinfo_l.texi.
47542         * doc/posix-functions/open_memstream.texi: Renamed from
47543         doc/glibc-functions/open_memstream.texi.
47544         * doc/posix-functions/opterr.texi: Renamed from
47545         doc/glibc-functions/opterr.texi.
47546         * doc/posix-functions/optind.texi: Renamed from
47547         doc/glibc-functions/optind.texi.
47548         * doc/posix-functions/optopt.texi: Renamed from
47549         doc/glibc-functions/optopt.texi.
47550         * doc/posix-functions/psignal.texi: Renamed from
47551         doc/glibc-functions/psignal.texi.
47552         * doc/posix-functions/scandir.texi: Renamed from
47553         doc/glibc-functions/scandir.texi.
47554         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
47555         doc/glibc-functions/sched_get_priority_min.texi.
47556         * doc/posix-functions/signgam.texi: Renamed from
47557         doc/glibc-functions/signgam.texi.
47558         * doc/posix-functions/stpcpy.texi: Renamed from
47559         doc/glibc-functions/stpcpy.texi.
47560         * doc/posix-functions/stpncpy.texi: Renamed from
47561         doc/glibc-functions/stpncpy.texi.
47562         * doc/posix-functions/strcasecmp_l.texi: Renamed from
47563         doc/glibc-functions/strcasecmp_l.texi.
47564         * doc/posix-functions/strcoll_l.texi: Renamed from
47565         doc/glibc-functions/strcoll_l.texi.
47566         * doc/posix-functions/strfmon_l.texi: Renamed from
47567         doc/glibc-functions/strfmon_l.texi.
47568         * doc/posix-functions/strftime_l.texi: Renamed from
47569         doc/glibc-functions/strftime_l.texi.
47570         * doc/posix-functions/strncasecmp_l.texi: Renamed from
47571         doc/glibc-functions/strncasecmp_l.texi.
47572         * doc/posix-functions/strndup.texi: Renamed from
47573         doc/glibc-functions/strndup.texi.
47574         * doc/posix-functions/strnlen.texi: Renamed from
47575         doc/glibc-functions/strnlen.texi.
47576         * doc/posix-functions/strsignal.texi: Renamed from
47577         doc/glibc-functions/strsignal.texi.
47578         * doc/posix-functions/strxfrm_l.texi: Renamed from
47579         doc/glibc-functions/strxfrm_l.texi.
47580         * doc/posix-functions/timer_gettime.texi: Renamed from
47581         doc/glibc-functions/timer_gettime.texi.
47582         * doc/posix-functions/tolower_l.texi: Renamed from
47583         doc/glibc-functions/tolower_l.texi.
47584         * doc/posix-functions/toupper_l.texi: Renamed from
47585         doc/glibc-functions/toupper_l.texi.
47586         * doc/posix-functions/towctrans_l.texi: Renamed from
47587         doc/glibc-functions/towctrans_l.texi.
47588         * doc/posix-functions/towlower_l.texi: Renamed from
47589         doc/glibc-functions/towlower_l.texi.
47590         * doc/posix-functions/towupper_l.texi: Renamed from
47591         doc/glibc-functions/towupper_l.texi.
47592         * doc/posix-functions/uselocale.texi: Renamed from
47593         doc/glibc-functions/uselocale.texi.
47594         * doc/posix-functions/vdprintf.texi: Renamed from
47595         doc/glibc-functions/vdprintf.texi.
47596         * doc/posix-functions/wcpcpy.texi:
47597         Renamed from doc/glibc-functions/wcpcpy.texi.
47598         * doc/posix-functions/wcpncpy.texi: Renamed from
47599         doc/glibc-functions/wcpncpy.texi.
47600         * doc/posix-functions/wcscasecmp.texi: Renamed from
47601         doc/glibc-functions/wcscasecmp.texi.
47602         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
47603         doc/glibc-functions/wcscasecmp_l.texi.
47604         * doc/posix-functions/wcscoll_l.texi: Renamed from
47605         doc/glibc-functions/wcscoll_l.texi.
47606         * doc/posix-functions/wcsdup.texi: Renamed from
47607         doc/glibc-functions/wcsdup.texi.
47608         * doc/posix-functions/wcsncasecmp.texi: Renamed from
47609         doc/glibc-functions/wcsncasecmp.texi.
47610         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
47611         doc/glibc-functions/wcsncasecmp_l.texi.
47612         * doc/posix-functions/wcsnlen.texi: Renamed from
47613         doc/glibc-functions/wcsnlen.texi.
47614         * doc/posix-functions/wcsnrtombs.texi: Renamed from
47615         doc/glibc-functions/wcsnrtombs.texi.
47616         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
47617         doc/glibc-functions/wcsxfrm_l.texi.
47618         * doc/posix-functions/wctrans_l.texi: Renamed from
47619         doc/glibc-functions/wctrans_l.texi.
47620         * doc/posix-functions/wctype_l.texi: Renamed from
47621         doc/glibc-functions/wctype_l.texi.
47622         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47623         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
47624         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
47625         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
47626         these subsections.
47627         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
47628         Remove sections.
47629
47630 2008-12-14  Bruno Haible  <bruno@clisp.org>
47631
47632         Update doc for POSIX:2008.
47633         * doc/posix-functions/*.texi: Update URL of POSIX specification.
47634
47635 2008-12-14  Bruno Haible  <bruno@clisp.org>
47636
47637         Update doc for POSIX:2008.
47638         * doc/pastposix-functions/bcmp.texi: Renamed from
47639         doc/posix-functions/bcmp.texi.
47640         * doc/pastposix-functions/bcopy.texi: Renamed from
47641         doc/posix-functions/bcopy.texi.
47642         * doc/pastposix-functions/bsd_signal.texi: Renamed from
47643         doc/posix-functions/bsd_signal.texi.
47644         * doc/pastposix-functions/bzero.texi: Renamed from
47645         doc/posix-functions/bzero.texi.
47646         * doc/pastposix-functions/ecvt.texi: Renamed from
47647         doc/posix-functions/ecvt.texi.
47648         * doc/pastposix-functions/fcvt.texi: Renamed from
47649         doc/posix-functions/fcvt.texi.
47650         * doc/pastposix-functions/ftime.texi: Renamed from
47651         doc/posix-functions/ftime.texi.
47652         * doc/pastposix-functions/gcvt.texi: Renamed from
47653         doc/posix-functions/gcvt.texi.
47654         * doc/pastposix-functions/getcontext.texi: Renamed from
47655         doc/posix-functions/getcontext.texi.
47656         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
47657         doc/posix-functions/gethostbyaddr.texi.
47658         * doc/pastposix-functions/gethostbyname.texi: Renamed from
47659         doc/posix-functions/gethostbyname.texi.
47660         * doc/pastposix-functions/getwd.texi: Renamed from
47661         doc/posix-functions/getwd.texi.
47662         * doc/pastposix-functions/h_errno.texi: Renamed from
47663         doc/posix-functions/h_errno.texi.
47664         * doc/pastposix-functions/index.texi: Renamed from
47665         doc/posix-functions/index.texi.
47666         * doc/pastposix-functions/makecontext.texi: Renamed from
47667         doc/posix-functions/makecontext.texi.
47668         * doc/pastposix-functions/mktemp.texi: Renamed from
47669         doc/posix-functions/mktemp.texi.
47670         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
47671         doc/posix-functions/pthread_attr_getstackaddr.texi.
47672         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
47673         doc/posix-functions/pthread_attr_setstackaddr.texi.
47674         * doc/pastposix-functions/rindex.texi: Renamed from
47675         doc/posix-functions/rindex.texi.
47676         * doc/pastposix-functions/scalb.texi: Renamed from
47677         doc/posix-functions/scalb.texi.
47678         * doc/pastposix-functions/setcontext.texi: Renamed from
47679         doc/posix-functions/setcontext.texi.
47680         * doc/pastposix-functions/swapcontext.texi: Renamed from
47681         doc/posix-functions/swapcontext.texi.
47682         * doc/pastposix-functions/ualarm.texi: Renamed from
47683         doc/posix-functions/ualarm.texi.
47684         * doc/pastposix-functions/usleep.texi: Renamed from
47685         doc/posix-functions/usleep.texi.
47686         * doc/pastposix-functions/vfork.texi: Renamed from
47687         doc/posix-functions/vfork.texi.
47688         * doc/pastposix-functions/wcswcs.texi: Renamed from
47689         doc/posix-functions/wcswcs.texi.
47690         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
47691         (Function Substitutes): Update.
47692
47693 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47694
47695         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
47696         m4/strerror.m4.
47697
47698 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47699             Bruno Haible  <bruno@clisp.org>
47700
47701         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
47702
47703 2008-12-13  Bruno Haible  <bruno@clisp.org>
47704
47705         * modules/strtoull (Depends-on): Remove unistd.
47706
47707 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47708
47709         * modules/strtoull (Depends-on): Add stdlib.
47710
47711 2008-12-11  Simon Josefsson  <simon@josefsson.org>
47712
47713         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
47714
47715 2008-12-10  Jim Meyering  <meyering@redhat.com>
47716
47717         gl_ASSERT: don't say assertions are disabled when they're not
47718         * m4/assert.m4 (gl_ASSERT): Do not make configure report
47719         "checking whether to enable assertions... no", when they are in
47720         fact enabled.  This is solely a bug in the output of configure.
47721         In spite of saying "no", NDEBUG was not defined in that case.
47722         Also, as noted by Eric Blake, leave assertions enabled upon
47723         --enable-assert=INVALID.
47724
47725 2008-12-10  Bruno Haible  <bruno@clisp.org>
47726
47727         Change MODULES.html to refer to POSIX:2008 where possible.
47728         * MODULES.html.sh (POSIX2008_URL): New variable.
47729         (posix_headers): Remove sys/timeb, ucontext.
47730         (posix2001_headers): New variable.
47731         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
47732         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
47733         index, makecontext, mktemp, pthread_attr_getstackaddr,
47734         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
47735         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
47736         (posix2001_functions): New variable.
47737         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
47738         otherwise.
47739
47740 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47741
47742         add missing include to parse-duration.c
47743         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
47744         * modules/parse-duration (Depends-on): Add xalloc.
47745
47746         fix sed script reading maint.mk
47747         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
47748         (syntax-check-rules): Use it.
47749
47750 2008-12-09  Bruno Haible  <bruno@clisp.org>
47751
47752         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
47753         MacOS X 10.4/PowerPC.
47754         Reported by Simon Josefsson.
47755
47756 2008-12-08  Jim Meyering  <meyering@redhat.com>
47757
47758         work around mingw's lack of some S_IF definitions
47759         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
47760         Reported by Simon Josefsson.
47761
47762 2008-12-08  Bruno Haible  <bruno@clisp.org>
47763
47764         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
47765         applied to variables. Needed on MacOS X 10.4/PowerPC.
47766         Reported by Simon Josefsson.
47767
47768 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
47769         and Eric Blake  <ebb9@byu.net>
47770
47771         assert: honor --enable-assert
47772         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
47773         order to honor --enable-assert, rather than treating it as a
47774         synonym for --disable-assert.
47775
47776 2008-12-08  Jim Meyering  <meyering@redhat.com>
47777
47778         * lib/posixtm.c: Remove now-useless declaration of mktime.
47779
47780         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
47781
47782 2008-12-07  Bruno Haible  <bruno@clisp.org>
47783
47784         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
47785         test_once): Mark functions as static.
47786         * tests/test-tls.c (test_tls): Likewise.
47787
47788 2008-12-07  Bruno Haible  <bruno@clisp.org>
47789
47790         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
47791         iconv_register_autodetect.
47792
47793 2008-12-07  Jim Meyering  <meyering@redhat.com>
47794
47795         posixtm.c: avoid a warning
47796         * lib/posixtm.c (posixtime): Don't initialize tm0.
47797         It's no longer needed to placate gcc4's -Wuninitialized,
47798         and the attempt to placate would elicit a new warning.
47799
47800         unicodeio.c: mark unused parameters
47801         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
47802         (fallback_failure_callback): Likewise.
47803
47804 2008-12-07  Bruno Haible  <bruno@clisp.org>
47805
47806         * gnulib-tool (func_create_testdir): When building the tests
47807         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
47808         Reported by Simon Josefsson.
47809
47810 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47811
47812         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
47813
47814 2008-12-06  Bruno Haible  <bruno@clisp.org>
47815
47816         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
47817         Suggested by Eric Blake.
47818
47819 2008-12-06  Bruno Haible  <bruno@clisp.org>
47820
47821         Fix a c-stack test failure on MacOS X.
47822         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
47823         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
47824         handler for SIGBUS as well.
47825         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
47826         install a signal handler for SIGBUS as well.
47827         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
47828
47829 2008-12-06  Bruno Haible  <bruno@clisp.org>
47830
47831         Advocacy documentation.
47832         * doc/gnulib-intro.texi (Benefits): New section.
47833         * doc/gnulib.texi: Update.
47834
47835 2008-12-06  Bruno Haible  <bruno@clisp.org>
47836
47837         Document the 'manywarnings' module.
47838         * doc/manywarnings.texi: New file.
47839         * doc/gnulib.texi: Include it.
47840
47841 2008-12-05  Eric Blake  <ebb9@byu.net>
47842
47843         tests: silence some gcc warnings
47844         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
47845         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
47846         type mismatches.
47847
47848 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47849             Bruno Haible  <bruno@clisp.org>
47850
47851         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
47852
47853 2008-11-29  Jim Meyering  <meyering@redhat.com>
47854
47855         unicodeio.c: mark unused parameters
47856         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
47857         (fallback_failure_callback): Likewise.
47858
47859         fts: fix a thinko
47860         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
47861         (set_stat_type): Return S_IF*-valued "type" directly.
47862         Prompted by James Youngman's spotting a related bug.
47863         Confirmed by further testing through find.
47864
47865         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
47866         * lib/fts.c (D_TYPE): Define.
47867         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
47868         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
47869         (s_ifmt_shift_bits): New function.
47870         (set_stat_type): New function.
47871         (fts_build): When not calling fts_stat, call set_stat_type
47872         to propagate dirent.d_type info to fts_read caller.
47873         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
47874         fts_statp->st_mode type information may be valid.
47875
47876 2008-11-28  Simon Josefsson  <simon@josefsson.org>
47877
47878         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
47879         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
47880         <sds@gnu.org>.
47881
47882 2008-11-20  Bruno Haible  <bruno@clisp.org>
47883
47884         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
47885         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
47886         INCLUDE_NEXT.
47887         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
47888         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
47889         * modules/math (Makefile.am): Substitute
47890         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
47891         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47892
47893 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
47894             Bruno Haible  <bruno@clisp.org>
47895
47896         * lib/stdint.in.h: Define all type macros so that their expansion is
47897         a single typedef'ed token. Fixes a compilation failure in Boost which
47898         does "using ::int8_t;".
47899
47900 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47901
47902         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
47903         gl_MANYWARN_ALL_GCC.
47904         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
47905         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
47906         * modules/manywarnings: New file.
47907         * MODULES.html.sh: Mention manywarnings module.
47908
47909 2008-11-18  Bruno Haible  <bruno@clisp.org>
47910
47911         * doc/gnulib-tool.texi (Unit tests): New section.
47912
47913 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47914
47915         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
47916         paths like 'lib/po/foo.po'.
47917
47918 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47919
47920         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
47921         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
47922
47923 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47924
47925         * m4/warnings.m4: Use CPPFLAGS to really check whether the
47926         parameter works.
47927
47928 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47929
47930         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
47931
47932 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47933
47934         * modules/parse-duration-tests: New file.
47935         * tests/test-parse-duration.sh: New file.
47936         * tests/test-parse-duration.c: New file.
47937
47938         New module 'parse-duration'.
47939         * lib/parse-duration.h: New file.
47940         * lib/parse-duration.c: New file.
47941         * modules/parse-duration: New file.
47942
47943 2008-11-17  Bruno Haible  <bruno@clisp.org>
47944
47945         * tests/test-select-out.sh: Comment out the first pipe test.
47946         Reported by Simon Josefsson.
47947
47948 2008-11-17  Bruno Haible  <bruno@clisp.org>
47949
47950         * modules/getaddrinfo (Depends-on): Add servent, hostent.
47951         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
47952         gl_HOSTENT.
47953
47954 2008-11-17  Bruno Haible  <bruno@clisp.org>
47955
47956         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
47957         -lnetwork and -lnet. Needed for Haiku and BeOS.
47958
47959 2008-11-16  Bruno Haible  <bruno@clisp.org>
47960
47961         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
47962
47963 2008-11-16  Bruno Haible  <bruno@clisp.org>
47964
47965         Avoid test failure on Haiku.
47966         * tests/test-fsync.c: Include <errno.h>.
47967         (main): Don't require that fsync (0) fails.
47968
47969 2008-11-15  Bruno Haible  <bruno@clisp.org>
47970
47971         New module 'hostent'.
47972         * modules/hostent: New file.
47973         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
47974
47975 2008-11-15  Bruno Haible  <bruno@clisp.org>
47976
47977         New module 'servent'.
47978         * modules/servent: New file.
47979         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
47980
47981 2008-11-15  Bruno Haible  <bruno@clisp.org>
47982
47983         Avoid generating same test program with two different rules.
47984         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
47985         test-frexp to test-frexp-nolibm.
47986         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
47987         test-frexpl to test-frexpl-nolibm.
47988
47989 2008-11-15  Bruno Haible  <bruno@clisp.org>
47990
47991         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
47992         $(FREXPL_LIBM).
47993
47994 2008-11-15  Bruno Haible  <bruno@clisp.org>
47995
47996         * lib/netdb.in.h: Activate the definitions also when the system's
47997         <netdb.h> has 'struct addrinfo'.
47998         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
47999         EAI_OVERFLOW or AI_NUMERICSERV.
48000         * doc/posix-headers/netdb.texi: Document the problem.
48001
48002 2008-11-15  Bruno Haible  <bruno@clisp.org>
48003
48004         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48005
48006         Make the 'sched' module work on platforms where <sched.h> exists but
48007         is incomplete (such as Haiku).
48008         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48009         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48010         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48011         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48012         HAVE_STRUCT_SCHED_PARAM.
48013         * modules/sched (Depends-on): Add include_next.
48014         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48015         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48016         * doc/posix-headers/sched.texi: Document the issue.
48017
48018 2008-11-13  Jim Meyering  <meyering@redhat.com>
48019
48020         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48021         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48022         test would fail due to the difference in the Report bugs to ...
48023         line.  The expected address is empty, "<>", while the actual
48024         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48025
48026 2008-11-12  Bruno Haible  <bruno@clisp.org>
48027
48028         lstat: don't compile lstat.c on systems lacking lstat
48029         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48030         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48031         Reported by Daniel P. Berrange via Jim Meyering.
48032
48033 2008-11-12  Jim Meyering  <meyering@redhat.com>
48034
48035         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48036
48037 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48038
48039         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48040         instead.
48041
48042 2008-11-12  Bruno Haible  <bruno@clisp.org>
48043
48044         * lib/unicodeio.c: Include unistr.h.
48045         (utf8_wctomb): Remove function.
48046         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48047
48048 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48049
48050         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48051         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48052         <bruno@clisp.org>.
48053         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48054
48055 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48056
48057         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48058         * doc/gnulib.texi: Add section for warnings.
48059
48060 2008-11-11  Bruno Haible  <bruno@clisp.org>
48061
48062         * lib/sockets.h: Add a comment.
48063
48064 2008-11-11  Karl Berry  <karl@gnu.org>
48065
48066         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48067
48068 2008-11-11  Eric Blake  <ebb9@byu.net>
48069
48070         fdl.texi: avoid git symlinks
48071         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48072
48073 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48074
48075         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48076
48077 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48078
48079         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48080         (gl_WARN_ADD): Substitute $2 if literal.
48081
48082 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48083
48084         * m4/warning.m4: Remove.
48085
48086 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48087
48088         * m4/warnings.m4: Almost complete rewrite. :-)
48089
48090 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48091
48092         * modules/warnings: New module.
48093         * m4/warnings.m4: New file.
48094         * MODULES.html.sh: Mention warnings module.
48095         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48096         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48097
48098 2008-11-10  Eric Blake  <ebb9@byu.net>
48099
48100         fdl.texi: make a symlink to the latest version
48101         * doc/standards.texi: Revert today's earlier change.
48102         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48103         * doc/fdl.texi: ...and replace this with a symlink to the newer
48104         fdl-1.3.texi.
48105
48106 2008-11-10  Bruno Haible  <bruno@clisp.org>
48107
48108         * tests/test-select-fd.c (main): Accept the result file name as fourth
48109         argument.
48110         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48111         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48112
48113 2008-11-10  Bruno Haible  <bruno@clisp.org>
48114
48115         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48116         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48117         as autoconf-substituted macros.
48118         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48119         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48120         gl_NETDB_H_DEFAULTS. Set these variables.
48121         * modules/netdb (Makefile.am): Substitute these variables.
48122
48123 2008-11-10  Eric Blake  <ebb9@byu.net>
48124
48125         standards.texi: include correct file for FDL 1.3
48126         * doc/standards.texi (GNU Free Documentation License): Change
48127         include file to pull in FDL 1.3, not 1.2.
48128
48129         fdl.texi: revert accidental change to license
48130         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48131
48132 2008-11-10  Bruno Haible  <bruno@clisp.org>
48133
48134         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48135         cross-compiling guesses also when the native compile gives no result.
48136
48137 2008-11-10  Bruno Haible  <bruno@clisp.org>
48138
48139         * lib/spawni.c (__spawni): Force variable into the stack.
48140
48141 2008-11-10  Bruno Haible  <bruno@clisp.org>
48142
48143         Add support for Haiku.
48144         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48145         glibc and BeOS, but also on Haiku.
48146         * lib/fpurge.c (fpurge): Likewise.
48147         * lib/freadable.c (freadable): Likewise.
48148         * lib/freadahead.c (freadahead): Likewise.
48149         * lib/freading.c (freading): Likewise.
48150         * lib/freadptr.c (freadptr): Likewise.
48151         * lib/freadseek.c (freadptrinc): Likewise.
48152         * lib/fseeko.c (rpl_fseeko): Likewise.
48153         * lib/fseterr.c (fseterr): Likewise.
48154         * lib/fwritable.c (fwritable): Likewise.
48155         * lib/fwriting.c (fwriting): Likewise.
48156         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48157
48158 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48159
48160         * lib/config.charset: Treat Haiku like BeOS.
48161
48162 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48163
48164         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48165         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48166
48167 2008-11-08  Bruno Haible  <bruno@clisp.org>
48168
48169         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48170         AC_CACHE_CHECK.
48171
48172 2008-11-08  Bruno Haible  <bruno@clisp.org>
48173
48174         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48175
48176 2008-11-08  Bruno Haible  <bruno@clisp.org>
48177
48178         * tests/test-select-fd.c: New file.
48179         * tests/test-select-in.sh: New file.
48180         * tests/test-select-out.sh: New file.
48181         * tests/test-select-stdin.c: New file.
48182         * modules/select-tests (Files): Add the new files.
48183         (Depends-on): Add gettimeofday.
48184         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48185         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48186         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48187
48188 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48189             Bruno Haible  <bruno@clisp.org>
48190
48191         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48192
48193 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48194
48195         * build-aux/pmccabe2html: Added support for C++ source files.
48196
48197 2008-11-05  Ben Pfaff  <blp@gnu.org>
48198
48199         Fix lib/close.c build on Windows.
48200         * modules/close (Files): Add lib/w32sock.h.
48201
48202 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48203
48204         Accept Bison's NEWS format.
48205         * build-aux/announce-gen (print_news_deltas): Tweak
48206         $re_prefix.
48207
48208 2008-11-04  Bruno Haible  <bruno@clisp.org>
48209
48210         * modules/random_r (Maintainer): Add glibc.
48211
48212 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48213
48214         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48215         by karl@freefriends.org (Karl Berry).
48216         * doc/alloca.texi: Likewise.
48217         * doc/c-ctype.texi: Likewise.
48218         * doc/c-strcase.texi: Likewise.
48219         * doc/c-strcaseeq.texi: Likewise.
48220         * doc/c-strcasestr.texi: Likewise.
48221         * doc/c-strstr.texi: Likewise.
48222         * doc/c-strtod.texi: Likewise.
48223         * doc/c-strtold.texi: Likewise.
48224         * doc/ctime.texi: Likewise.
48225         * doc/error.texi: Likewise.
48226         * doc/fdl.texi: Likewise.
48227         * doc/gcd.texi: Likewise.
48228         * doc/getdate.texi: Likewise.
48229         * doc/gnulib-intro.texi: Likewise.
48230         * doc/gnulib-tool.texi: Likewise.
48231         * doc/gnulib.texi: Likewise.
48232         * doc/inet_ntoa.texi: Likewise.
48233         * doc/maintain.texi: Likewise.
48234         * doc/make-stds.texi: Likewise.
48235         * doc/quote.texi: Likewise.
48236         * doc/regexprops-generic.texi: Likewise.
48237         * doc/standards.texi: Likewise.
48238         * doc/verify.texi: Likewise.
48239         * doc/visibility.texi: Likewise.
48240         * doc/gnulib.texi (GNU Free Documentation License): Include
48241         fdl-1.3.texi instead of fdl.texi.
48242
48243 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48244
48245         * doc/fdl-1.3.texi: New file, from
48246         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48247         * modules/fdl-1.3: Add.
48248         * MODULES.html.sh: Add fdl-1.3.
48249
48250 2008-11-03  Bruno Haible  <bruno@clisp.org>
48251
48252         Make determination of absolute name of header file work with AIX xlc.
48253         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48254         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48255         preprocessing.
48256         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48257         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48258
48259 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48260
48261         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48262         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48263         <ludo@gnu.org>.
48264
48265 2008-11-02  Bruno Haible  <bruno@clisp.org>
48266
48267         Mark 'strpbrk' obsolete.
48268         * modules/strpbrk (Status, Notice): New sections.
48269         * modules/strtok_r (Depends-on): Add strpbrk.
48270
48271 2008-11-02  Bruno Haible  <bruno@clisp.org>
48272
48273         Mark 'strdup' obsolete.
48274         * modules/strdup (Status, Notice): New sections.
48275         * modules/findprog (Depends-on): Add strdup.
48276         * modules/getaddrinfo (Depends-on): Likewise.
48277         * modules/localename (Depends-on): Likewise.
48278         * modules/relocatable-lib (Depends-on): Likewise.
48279         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48280         * modules/relocatable-prog (Depends-on): Likewise.
48281         * modules/trim (Depends-on): Likewise.
48282         * modules/unictype/gen-ctype (Depends-on): Likewise.
48283         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48284
48285 2008-11-02  Bruno Haible  <bruno@clisp.org>
48286
48287         Mark 'strcspn' obsolete.
48288         * modules/strcspn (Status, Notice): New sections.
48289
48290 2008-11-02  Bruno Haible  <bruno@clisp.org>
48291
48292         Mark 'rmdir' obsolete.
48293         * modules/rmdir (Status, Notice): New sections.
48294         * modules/clean-temp (Depends-on): Add rmdir.
48295         * modules/openat (Depends-on): Likewise.
48296
48297 2008-11-02  Bruno Haible  <bruno@clisp.org>
48298
48299         Mark 'raise' obsolete.
48300         * modules/raise (Status, Notice): New sections.
48301         (Include): Specify <signal.h>.
48302         * modules/stdio (Depends-on): Add raise.
48303         * modules/write (Depends-on): Likewise.
48304
48305 2008-11-02  Bruno Haible  <bruno@clisp.org>
48306
48307         Mark 'memset' obsolete.
48308         * modules/memset (Status, Notice): New sections.
48309
48310 2008-11-02  Bruno Haible  <bruno@clisp.org>
48311
48312         Mark 'memmove' obsolete.
48313         * modules/memmove (Status, Notice): New sections.
48314         * modules/argp (Depends-on): Add memmove.
48315         * modules/argz (Depends-on): Likewise.
48316         * modules/canonicalize (Depends-on): Likewise.
48317         * modules/canonicalize-lgpl (Depends-on): Likewise.
48318         * modules/fts (Depends-on): Likewise.
48319         * modules/getcwd (Depends-on): Likewise.
48320         * modules/human (Depends-on): Likewise.
48321         * modules/regex (Depends-on): Likewise.
48322         * modules/striconveh (Depends-on): Likewise.
48323         * modules/trim (Depends-on): Likewise.
48324         * modules/unistr/u8-move (Depends-on): Likewise.
48325         * modules/unistr/u16-move (Depends-on): Likewise.
48326         * modules/unistr/u32-move (Depends-on): Likewise.
48327
48328 2008-11-02  Bruno Haible  <bruno@clisp.org>
48329
48330         Mark 'memcpy' obsolete.
48331         * modules/memcpy (Status, Notice): New sections.
48332
48333 2008-11-02  Bruno Haible  <bruno@clisp.org>
48334
48335         Mark 'memcmp' obsolete.
48336         * modules/memcmp (Status, Notice): New sections.
48337         * modules/argmatch (Depends-on): Add memchr.
48338         * modules/backupfile (Depends-on): Likewise.
48339         * modules/c-strcasestr (Depends-on): Likewise.
48340         * modules/crypto/des (Depends-on): Likewise.
48341         * modules/csharpcomp (Depends-on): Likewise.
48342         * modules/fnmatch (Depends-on): Likewise.
48343         * modules/git-merge-changelog (Depends-on): Likewise.
48344         * modules/isnand (Depends-on): Likewise.
48345         * modules/isnand-nolibm (Depends-on): Likewise.
48346         * modules/isnanf (Depends-on): Likewise.
48347         * modules/isnanf-nolibm (Depends-on): Likewise.
48348         * modules/isnanl (Depends-on): Likewise.
48349         * modules/isnanl-nolibm (Depends-on): Likewise.
48350         * modules/mbchar (Depends-on): Likewise.
48351         * modules/memcoll (Depends-on): Likewise.
48352         * modules/quotearg (Depends-on): Likewise.
48353         * modules/regex (Depends-on): Likewise.
48354         * modules/relocatable-prog (Depends-on): Likewise.
48355         * modules/same (Depends-on): Likewise.
48356         * modules/signbit (Depends-on): Likewise.
48357         * modules/strcasestr-simple (Depends-on): Likewise.
48358         * modules/unictype/gen-ctype (Depends-on): Likewise.
48359         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48360         * modules/uniname/uniname (Depends-on): Likewise.
48361         * modules/unistr/u8-cmp (Depends-on): Likewise.
48362
48363 2008-11-02  Bruno Haible  <bruno@clisp.org>
48364
48365         Mark 'memchr' obsolete.
48366         * modules/memchr (Status, Notice): New sections.
48367         * modules/argp (Depends-on): Add memchr.
48368         * modules/base64 (Depends-on): Likewise.
48369         * modules/c-strcasestr (Depends-on): Likewise.
48370         * modules/chdir-long (Depends-on): Likewise.
48371         * modules/fnmatch (Depends-on): Likewise.
48372         * modules/getsubopt (Depends-on): Likewise.
48373         * modules/git-merge-changelog (Depends-on): Likewise.
48374         * modules/glob (Depends-on): Likewise.
48375         * modules/strcasestr-simple (Depends-on): Likewise.
48376         * modules/strnlen (Depends-on): Likewise.
48377
48378 2008-11-02  Bruno Haible  <bruno@clisp.org>
48379
48380         Mark 'atexit' obsolete.
48381         * modules/atexit (Status, Notice): New sections.
48382         * modules/chdir-long (Depends-on): Add atexit.
48383         * modules/wait-process (Depends-on): Likewise.
48384
48385 2008-11-02  Bruno Haible  <bruno@clisp.org>
48386
48387         * gnulib-tool: New option --with-obsolete.
48388         (func_usage): Document it.
48389         (func_modules_transitive_closure): Drop obsolete dependencies if
48390         incobsolete is not true.
48391         (func_import): Read and save the incobsolete variable to the cache.
48392
48393 2008-11-02  Bruno Haible  <bruno@clisp.org>
48394
48395         * modules/TEMPLATE-EXTENDED: New field 'Status'.
48396         * gnulib-tool: New option --extract-status.
48397         (func_usage): Document it.
48398         (sed_extract_prog): Recognize it.
48399         (func_get_status): New function.
48400
48401 2008-10-30  Simon Josefsson  <simon@josefsson.org>
48402
48403         * modules/sockets (License): Change from LGPL to LGPLv2+.
48404
48405 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48406
48407         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
48408
48409 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48410
48411         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48412         Mention times and sys_times.
48413         * modules/sys_times, modules/sys_times-tests: New modules.
48414         * modules/times, modules/times-tests: Likewise
48415         * m4/sys_times_h.m4: New file.
48416         * lib/sys_times.in.h: Likewise
48417         * lib/times.c: Likewise.
48418         * tests/test-sys_times.c: Likewise.
48419         * tests/test-times.c: Likewise.
48420         * doc/posix-headers/sys_times.texi: Update.
48421         * doc/posix-functions/times.texi: Update.
48422
48423 2008-10-28  Jim Meyering  <meyering@redhat.com>
48424
48425         * modules/tempname (Depends-on): Add lstat.
48426
48427         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
48428
48429 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48430
48431         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
48432         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
48433         using idiom used elsewhere in gnulib.
48434
48435 2008-10-27  Jim Meyering  <meyering@redhat.com>
48436
48437         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
48438
48439 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48440
48441         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
48442         TESTS_ENVIRONMENT, for shell scripts that needs to call built
48443         programs.
48444         * tests/test-argp-2.sh: Use $EXEEXT when needed.
48445
48446 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48447
48448         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
48449
48450 2008-10-27  Bruno Haible  <bruno@clisp.org>
48451
48452         * tests/test-lstat.c: Include <stdio.h>.
48453
48454 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48455
48456         * modules/lstat-tests: New module.
48457         * tests/test-lstat.c: New file.
48458
48459 2008-10-26  Jim Meyering  <meyering@redhat.com>
48460
48461         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
48462
48463 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48464             Bruno Haible  <bruno@clisp.org>
48465
48466         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
48467         * modules/configmake (Include): Add a note that the include must come
48468         after all system headers.
48469         * lib/javaversion.c: Include configmake.h after all other includes.
48470
48471 2008-10-26  Bruno Haible  <bruno@clisp.org>
48472
48473         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
48474         HAVE_STRUCT_RANDOM_DATA to 1.
48475         (gl_STDLIB_H): Simplify.
48476
48477 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48478
48479         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
48480         substitute HAVE_STRUCT_RANDOM_DATA.
48481         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
48482         random_data.
48483         * modules/stdlib (Makefile.am): Substitute
48484         HAVE_STRUCT_RANDOM_DATA.
48485
48486 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48487
48488         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
48489         * doc/gnulib-intro.texi (Copyright): Likewise.
48490
48491 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48492
48493         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
48494         findings.
48495
48496 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
48497             Bruno Haible  <bruno@clisp.org>
48498
48499         * lib/unistd.in.h: Include <winsock2.h>.
48500         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
48501         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
48502         Provide dummy declarations.
48503         (gethostname): Override.
48504         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
48505         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
48506         gl_PREREQ_SYS_H_WINSOCK2.
48507         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
48508         * doc/posix-functions/gethostname.texi: More details.
48509
48510 2008-10-25  Bruno Haible  <bruno@clisp.org>
48511
48512         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48513         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
48514         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
48515
48516         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
48517         here ...
48518         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
48519         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
48520         gl_UNISTD_H_DEFAULTS.
48521
48522 2008-10-25  Eric Blake  <ebb9@byu.net>
48523
48524         signbit: avoid spurious compiler failure
48525         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
48526         declarations inside function.
48527
48528 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48529             Bruno Haible  <bruno@clisp.org>
48530
48531         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
48532         * modules/random_r (Depends-on): Add stdint.
48533
48534 2008-10-24  Bruno Haible  <bruno@clisp.org>
48535
48536         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
48537         Eggert.
48538         * modules/strerror (License): Likewise.
48539
48540 2008-10-24  Jim Meyering  <meyering@redhat.com>
48541
48542         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
48543         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
48544
48545 2008-10-24  Eric Blake  <ebb9@byu.net>
48546
48547         getgroups: fix compilation when getgroups is available
48548         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
48549         but with <config.h> override of getgroups disabled.
48550
48551 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48552
48553         * doc/gnulib.texi (Header files): Add note about C++ problems.
48554         Explained by Bruno Haible <bruno@clisp.org>.
48555
48556 2008-10-23  Bruno Haible  <bruno@clisp.org>
48557
48558         Define a dummy SA_NODEFER macro on Interix.
48559         * lib/signal.in.h (SA_NODEFER): Define fallback.
48560         Reported by Aleksey Cheusov <cheusov@tut.by> via
48561         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
48562
48563 2008-10-23  Bruno Haible  <bruno@clisp.org>
48564
48565         * modules/freadahead (License): Change to LGPLv2+.
48566         Suggested by Simon Josefsson.
48567
48568 2008-10-23  Jim Meyering  <meyering@redhat.com>
48569
48570         random_r: new module
48571         * modules/random_r: New file.
48572         * m4/random_r.m4: New file.
48573         * lib/random_r.c: New file, from glibc.
48574         * modules/random_r-tests: New file.
48575         * tests/test-random_r.c: New file.
48576         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
48577          Declare.
48578         (RAND_MAX): Define.
48579         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
48580         * modules/stdlib: Substitute them, too.
48581         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
48582         * doc/glibc-functions/initstate_r.texi: Mention the new module.
48583         * doc/glibc-functions/random_r.texi: Likewise.
48584         * doc/glibc-functions/setstate_r.texi: Likewise.
48585         * doc/glibc-functions/srandom_r.texi: Likewise.
48586         * config/srclist.txt: Mention it.
48587
48588 2008-10-23  David Lutterkort  <lutter@redhat.com>
48589
48590         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
48591         link requirement
48592
48593 2008-10-23  Jim Meyering  <meyering@redhat.com>
48594
48595         selinux-h: mark parameters of stub functions as intentionally unused
48596         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
48597         * lib/se-context.in.h: Likewise.
48598
48599 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48600
48601         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
48602
48603 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48604
48605         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
48606
48607 2008-10-22  Eric Blake  <ebb9@byu.net>
48608
48609         glthread/thread: avoid compiler warning
48610         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
48611         Add unreachable abort to silence compiler.
48612
48613 2008-10-22  Eric Blake  <ebb9@byu.net>
48614
48615         netdb: also supply struct addrinfo for cygwin 1.5.x
48616         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
48617         older cygwin.
48618         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
48619         cygwin.
48620         * doc/posix-headers/netdb.texi (netdb.h): Document this.
48621
48622 2008-10-22  Bruno Haible  <bruno@clisp.org>
48623
48624         * users.txt: Update entry about pspp.
48625
48626 2008-10-21  Bruno Haible  <bruno@clisp.org>
48627
48628         Simplification.
48629         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
48630         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
48631
48632         Simplification.
48633         * lib/ioctl.c (ioctl): Don't undefine.
48634         * lib/socket.c (socket): Don't undefine.
48635
48636         Remove unused module indicator macros.
48637         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
48638         GNULIB_$1 as a C macro.
48639
48640         * doc/posix-functions/close.texi: Undo last change.
48641         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
48642         Windows platforms.
48643
48644 2008-10-21  Bruno Haible  <bruno@clisp.org>
48645
48646         Add gethostname() declaration to <unistd.h>.
48647         * lib/unistd.in.h (gethostname): New declaration.
48648         * lib/gethostname.c: Include <unistd.h>.
48649         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
48650         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
48651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
48652         and HAVE_GETHOSTNAME.
48653         * modules/gethostname (Depends-on): Add unistd.
48654         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48655         (Include): Specify <unistd.h>.
48656         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
48657         HAVE_GETHOSTNAME.
48658         * tests/test-gethostname.c: Include <unistd.h> first.
48659
48660 2008-10-21  Bruno Haible  <bruno@clisp.org>
48661
48662         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
48663         * modules/select-tests (Depends-on): Likewise.
48664         Reported by Simon Josefsson.
48665
48666 2008-10-21  Simon Josefsson  <simon@josefsson.org>
48667
48668         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
48669         * lib/accept.c: New file, based on winsock.c.
48670         * lib/bind.c: New file, based on winsock.c.
48671         * lib/connect.c: New file, based on winsock.c.
48672         * lib/getpeername.c: New file, based on winsock.c.
48673         * lib/getsockname.c: New file, based on winsock.c.
48674         * lib/getsockopt.c: New file, based on winsock.c.
48675         * lib/ioctl.c: New file, based on winsock.c.
48676         * lib/listen.c: New file, based on winsock.c.
48677         * lib/recv.c: New file, based on winsock.c.
48678         * lib/recvfrom.c: New file, based on winsock.c.
48679         * lib/send.c: New file, based on winsock.c.
48680         * lib/sendto.c: New file, based on winsock.c.
48681         * lib/setsockopt.c: New file, based on winsock.c.
48682         * lib/shutdown.c: New file, based on winsock.c.
48683         * lib/socket.c: New file, based on winsock.c.
48684         * lib/w32sock.h: New file, based on winsock.c.
48685         * lib/winsock.c: Remove file.
48686         * modules/accept: Likewise.
48687         * modules/bind: Likewise.
48688         * modules/connect: Likewise.
48689         * modules/getpeername: Likewise.
48690         * modules/getsockname: Likewise.
48691         * modules/getsockopt: Likewise.
48692         * modules/ioctl: Likewise.
48693         * modules/listen: Likewise.
48694         * modules/recv: Likewise.
48695         * modules/recvfrom: Likewise.
48696         * modules/send: Likewise.
48697         * modules/sendto: Likewise.
48698         * modules/setsockopt: Likewise.
48699         * modules/shutdown: Likewise.
48700         * modules/socket: Use socket.c instead of winsock.c.
48701         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
48702         * doc/posix-functions/accept.texi: Doc fix.
48703         * doc/posix-functions/bind.texi: Doc fix.
48704         * doc/posix-functions/close.texi: Doc fix.
48705         * doc/posix-functions/connect.texi: Doc fix.
48706         * doc/posix-functions/getpeername.texi: Doc fix.
48707         * doc/posix-functions/getsockname.texi: Doc fix.
48708         * doc/posix-functions/getsockopt.texi: Doc fix.
48709         * doc/posix-functions/ioctl.texi: Doc fix.
48710         * doc/posix-functions/listen.texi: Doc fix.
48711         * doc/posix-functions/recv.texi: Doc fix.
48712         * doc/posix-functions/recvfrom.texi: Doc fix.
48713         * doc/posix-functions/send.texi: Doc fix.
48714         * doc/posix-functions/sendto.texi: Doc fix.
48715         * doc/posix-functions/setsockopt.texi: Doc fix.
48716         * doc/posix-functions/shutdown.texi: Doc fix.
48717         * doc/posix-functions/socket.texi: Doc fix.
48718
48719 2008-10-20  Bruno Haible  <bruno@clisp.org>
48720
48721         Take into account the role of SIGABRT_COMPAT on Windows 2008.
48722         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
48723         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
48724         as an alias for SIGABRT.
48725         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
48726         (sigaction): Map it to SIGABRT.
48727         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
48728
48729 2008-10-20  Bruno Haible  <bruno@clisp.org>
48730
48731         * lib/fts.c: Don't include lstat.h.
48732         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
48733
48734         Move the lstat() declaration to <sys/stat.h>.
48735         * lib/lstat.h: Remove file.
48736         * lib/sys_stat.in.h: Add special invocation convention.
48737         (lstat): New declaration.
48738         * lib/lstat.c (orig_lstat): New function.
48739         (rpl_lstat): Use orig_lstat instead of lstat.
48740         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
48741         AC_C_INLINE. Set REPLACE_LSTAT.
48742         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
48743         and REPLACE_LSTAT.
48744         * modules/lstat (Files): Remove lib/lstat.h.
48745         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48746         (Include): Specify <sys/stat.h> instead of lstat.h.
48747         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
48748         REPLACE_LSTAT.
48749         * NEWS: Mention the change.
48750
48751 2008-10-20  Bruno Haible  <bruno@clisp.org>
48752
48753         * modules/posix_spawn-tests: New file.
48754         * tests/test-posix_spawn3.c: New file.
48755
48756 2008-10-20  Bruno Haible  <bruno@clisp.org>
48757
48758         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
48759         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48760         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
48761         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48762         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
48763
48764 2008-10-20  Bruno Haible  <bruno@clisp.org>
48765
48766         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
48767         of posix_spawn on AIX 5.3.
48768
48769 2008-10-20  Bruno Haible  <bruno@clisp.org>
48770
48771         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
48772
48773 2008-10-20  Bruno Haible  <bruno@clisp.org>
48774
48775         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
48776         of AC_LANG_PROGRAM.
48777
48778 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48779
48780         * lib/netdb.in.h: Don't define GNU specific constants until they
48781         are supported or needed.  Reported by Bruno Haible
48782         <bruno@clisp.org>.
48783
48784 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48785
48786         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
48787
48788 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48789
48790         * lib/getaddrinfo.h: Remove file.
48791         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
48792         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
48793         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
48794         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
48795         * modules/netdb: Substitute GNULIB_GETADDRINFO.
48796         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
48797         * tests/test-getaddrinfo.c: Likewise.
48798         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
48799         * NEWS: Mention change.
48800
48801 2008-10-19  Bruno Haible  <bruno@clisp.org>
48802
48803         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
48804
48805 2008-10-19  Bruno Haible  <bruno@clisp.org>
48806
48807         * lib/wait-process.c: Include simply <sys/wait.h>.
48808         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
48809         WIFSTOPPED): Remove fallback definitions.
48810         * modules/wait-process (Depends-on): Add sys_wait.
48811
48812         New module 'sys_wait'.
48813         * modules/sys_wait: New file.
48814         * lib/sys_wait.in.h: New file, partially copied from
48815         lib/wait-process.c.
48816         * m4/sys_wait_h.m4: New file.
48817         * doc/posix-headers/sys_wait.texi: Mention the new module.
48818
48819 2008-10-19  Bruno Haible  <bruno@clisp.org>
48820
48821         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
48822
48823 2008-10-19  Bruno Haible  <bruno@clisp.org>
48824
48825         Assume that waitpid() fills an 'int' status, not a 'union wait'.
48826         * lib/wait-process.c (WAIT_T): Remove type.
48827         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
48828         (wait_subprocess): Update.
48829
48830 2008-10-19  Bruno Haible  <bruno@clisp.org>
48831
48832         New module 'atoll'.
48833         * modules/atoll: New file.
48834         * lib/stdlib.in.h (atoll): New declaration.
48835         * lib/atoll.c: New file, from glibc with modifications.
48836         * m4/atoll.m4: New file.
48837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
48838         HAVE_ATOLL.
48839         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
48840         * doc/posix-functions/atoll.texi: Mention the new module.
48841
48842 2008-10-19  Bruno Haible  <bruno@clisp.org>
48843
48844         Add strtoull() declaration to <stdlib.h>.
48845         * lib/stdlib.in.h (strtoull): New declaration.
48846         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48847         Set HAVE_STRTOULL.
48848         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
48849         HAVE_STRTOULL.
48850         * modules/strtoull (Depends-on): Add stdlib.
48851         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48852         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
48853         HAVE_STRTOULL.
48854
48855 2008-10-19  Bruno Haible  <bruno@clisp.org>
48856
48857         Add strtoll() declaration to <stdlib.h>.
48858         * lib/stdlib.in.h (strtoll): New declaration.
48859         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48860         Set HAVE_STRTOLL.
48861         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
48862         HAVE_STRTOLL.
48863         * modules/strtoll (Depends-on): Add stdlib.
48864         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48865         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
48866
48867 2008-10-19  Bruno Haible  <bruno@clisp.org>
48868
48869         * modules/bcopy (Depends-on): Add strings.
48870         (Include): Specify <strings.h>.
48871
48872 2008-10-19  Bruno Haible  <bruno@clisp.org>
48873
48874         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
48875
48876 2008-10-19  Bruno Haible  <bruno@clisp.org>
48877
48878         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
48879         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
48880         mingw.
48881
48882 2008-10-19  Bruno Haible  <bruno@clisp.org>
48883
48884         * lib/atanl.c: Don't include isnanl.h.
48885         * lib/cosl.c: Likewise.
48886         * lib/ldexpl.c: Likewise.
48887         * lib/logl.c: Likewise.
48888         * lib/sinl.c: Likewise.
48889         * lib/sqrtl.c: Likewise.
48890         * lib/tanl.c: Likewise.
48891
48892         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
48893         * lib/isnanf.h: Remove file.
48894         * lib/isnand.h: Remove file.
48895         * lib/isnanl.h: Remove file.
48896         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
48897         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
48898         macros.
48899         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
48900         HAVE_ISNANF, don't define it as a C macro.
48901         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
48902         HAVE_ISNAND, don't define it as a C macro.
48903         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
48904         HAVE_ISNANL, don't define it as a C macro.
48905         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
48906         HAVE_ISNAN[FDL].
48907         * modules/isnanf (Files): Remove lib/isnanf.h.
48908         (Depends-on): Add math.
48909         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48910         (Include): Specify <math.h> instead of isnanf.h.
48911         * modules/isnand (Files): Remove lib/isnand.h.
48912         (Depends-on): Add math.
48913         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48914         (Include): Specify <math.h> instead of isnand.h.
48915         * modules/isnanl (Files): Remove lib/isnanl.h.
48916         (Depends-on): Add math.
48917         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48918         (Include): Specify <math.h> instead of isnanl.h.
48919         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
48920         HAVE_ISNAN[FDL].
48921         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
48922         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
48923         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
48924         * NEWS: Mention the change.
48925
48926 2008-10-18  Bruno Haible  <bruno@clisp.org>
48927
48928         Add getusershell(), setusershell(), endusershell() declarations to
48929         <unistd.h>.
48930         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
48931         declarations.
48932         * lib/getusershell.c: Include unistd.h.
48933         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
48934         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48935         HAVE_GETUSERSHELL.
48936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
48937         and HAVE_GETUSERSHELL.
48938         * modules/getusershell (Depends-on): Add unistd, extensions.
48939         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48940         (Include): Specify <unistd.h>.
48941         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
48942         HAVE_GETUSERSHELL.
48943
48944 2008-10-18  Bruno Haible  <bruno@clisp.org>
48945
48946         Add a getloadavg() declaration to <stdlib.h>.
48947         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
48948         getloadavg declaration.
48949         (getloadavg): New declaration.
48950         * lib/getloadavg.c: Include <stdlib.h> first.
48951         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
48952         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
48953         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
48954         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
48955         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48956         * modules/getloadavg (Depends-on): Add stdlib, extensions.
48957         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48958         (Include): Specify <stdlib.h>.
48959         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
48960         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48961
48962 2008-10-18  Bruno Haible  <bruno@clisp.org>
48963
48964         * lib/dirchownmod.c: Don't include lchmod.h.
48965
48966         Move the lchmod() declaration to <sys/stat.h>.
48967         * lib/lchmod.h: Remove file.
48968         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
48969         (lchmod): New declaration, moved here from lib/lchown.h.
48970         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
48971         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
48972         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
48973         and HAVE_LCHMOD.
48974         * modules/lchmod (Files): Remove lib/lchmod.h.
48975         (Depends-on): Add sys_stat, extensions.
48976         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48977         (Include): Specify <sys/stat.h> instead of lchmod.h.
48978         * modules/sys_stat (Depends-on): Add link-warning.
48979         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
48980         definition of GL_LINK_WARNING.
48981         * NEWS: Mention the change.
48982
48983 2008-10-18  Bruno Haible  <bruno@clisp.org>
48984
48985         * lib/fchdir.c: Don't include dirfd.h.
48986         * lib/fts.c: Likewise.
48987         * lib/getcwd.c: Likewise.
48988         * lib/glob.c: Likewise.
48989
48990         Move the dirfd() declaration to <dirent.h>.
48991         * lib/dirfd.h: Remove file.
48992         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
48993         (dirfd): New declaration.
48994         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
48995         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
48996         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
48997         HAVE_DECL_DIRFD.
48998         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
48999         HAVE_DECL_DIRFD.
49000         * modules/dirfd (Files): Remove lib/dirfd.h.
49001         (Depends-on): Add dirent, extensions.
49002         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49003         (Include): Specify <dirent.h> instead of dirfd.h.
49004         * modules/dirent (Depends-on): Add link-warning.
49005         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49006         definition of GL_LINK_WARNING.
49007         * NEWS: Mention the change.
49008
49009 2008-10-18  Bruno Haible  <bruno@clisp.org>
49010
49011         Move the euidaccess() declaration to <unistd.h>.
49012         * lib/euidaccess.h: Remove file.
49013         * lib/unistd.in.h (euidaccess): New declaration.
49014         * lib/euidaccess.c: Don't include euidaccess.h.
49015         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49016         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49018         and HAVE_EUIDACCESS.
49019         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49020         (Depends-on): Add unistd.
49021         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49022         (Include): Specify <unistd.h> instead of euidaccess.h.
49023         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49024         HAVE_EUIDACCESS.
49025         * NEWS: Mention the change.
49026
49027 2008-10-18  Bruno Haible  <bruno@clisp.org>
49028
49029         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49030
49031         Move the getdomainname() declaration to <unistd.h>.
49032         * lib/getdomainname.h: Remove file.
49033         * lib/unistd.in.h (getdomainname): New declaration.
49034         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49035         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49036         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49037         HAVE_GETDOMAINNAME.
49038         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49039         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49040         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49041         (Depends-on): Add unistd, extensions.
49042         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49043         (Includes): Specify <unistd.h> instead of getdomainname.h.
49044         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49045         HAVE_GETDOMAINNAME.
49046         * NEWS: Mention the change.
49047
49048 2008-10-18  Bruno Haible  <bruno@clisp.org>
49049
49050         * modules/dirent: New file.
49051         * m4/dirent_h.m4: New file.
49052         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49053         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49054         * modules/fchdir (Files): Remove lib/dirent.in.h.
49055         (Depends-on): Add dirent.
49056         (Makefile.am): Move rules to modules/dirent.
49057         * doc/posix-headers/dirent.texi: Mention the new module.
49058
49059 2008-10-18  Bruno Haible  <bruno@clisp.org>
49060
49061         Avoid -Wunused-parameter warnings in public gnulib header files.
49062         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49063         macro.
49064         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49065
49066 2008-10-18  Bruno Haible  <bruno@clisp.org>
49067
49068         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49069         * doc/glibc-functions/error.texi: Mention the module 'error'.
49070         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49071         * doc/glibc-functions/getdomainname.texi: Mention the module
49072         'getdomainname'.
49073         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49074         * doc/glibc-functions/getpagesize.texi: Mention the module
49075         'getpagesize'.
49076         * doc/glibc-functions/getusershell.texi: Mention the module
49077         'getusershell'.
49078         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49079         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49080         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49081         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49082         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49083         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49084         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49085         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49086         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49087         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49088         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49089         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49090         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49091         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49092
49093 2008-10-17  Bruno Haible  <bruno@clisp.org>
49094
49095         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49096         HP-UX and IRIX, use -0.0L.
49097         * tests/test-ceill.c (minus_zero): Likewise.
49098         * tests/test-floorl.c (minus_zero): Likewise.
49099         * tests/test-frexpl.c (minus_zero): Likewise.
49100         * tests/test-isnan.c (minus_zerol): Likewise.
49101         * tests/test-isnanl.h (minus_zero): Likewise.
49102         * tests/test-ldexpl.c (minus_zero): Likewise.
49103         * tests/test-roundl.c (minus_zero): Likewise.
49104         * tests/test-signbit.c (minus_zerol): Likewise.
49105         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49106         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49107         * tests/test-truncl.c (minus_zero): Likewise.
49108         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49109         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49110         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49111         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49112
49113 2008-10-17  Bruno Haible  <bruno@clisp.org>
49114
49115         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49116         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49117         that it gets activated only for gcc >= 3.0.
49118         * lib/dirent.in.h: Likewise.
49119         * lib/errno.in.h: Likewise.
49120         * lib/fcntl.in.h: Likewise.
49121         * lib/float.in.h: Likewise.
49122         * lib/iconv.in.h: Likewise.
49123         * lib/inttypes.in.h: Likewise.
49124         * lib/locale.in.h: Likewise.
49125         * lib/math.in.h: Likewise.
49126         * lib/netdb.in.h: Likewise.
49127         * lib/netinet_in.in.h: Likewise.
49128         * lib/search.in.h: Likewise.
49129         * lib/signal.in.h: Likewise.
49130         * lib/spawn.in.h: Likewise.
49131         * lib/stdarg.in.h: Likewise.
49132         * lib/stdint.in.h: Likewise.
49133         * lib/stdio.in.h: Likewise.
49134         * lib/stdlib.in.h: Likewise.
49135         * lib/string.in.h: Likewise.
49136         * lib/strings.in.h: Likewise.
49137         * lib/sys_file.in.h: Likewise.
49138         * lib/sys_ioctl.in.h: Likewise.
49139         * lib/sys_select.in.h: Likewise.
49140         * lib/sys_socket.in.h: Likewise.
49141         * lib/sys_stat.in.h: Likewise.
49142         * lib/sys_time.in.h: Likewise.
49143         * lib/sysexits.in.h: Likewise.
49144         * lib/time.in.h: Likewise.
49145         * lib/unistd.in.h: Likewise.
49146         * lib/wchar.in.h: Likewise.
49147         * lib/wctype.in.h: Likewise.
49148         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49149
49150 2008-10-17  Jim Meyering  <meyering@redhat.com>
49151
49152         ignore-value: don't depend on inline module
49153         * modules/ignore-value (Depends-on): Remove 'inline'.
49154         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49155         Suggestion from Bruno Haible.
49156
49157 2008-10-17  Bruno Haible  <bruno@clisp.org>
49158
49159         New implementation of condition variables for Win32.
49160         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49161         (gl_linked_waitqueue_t): New type.
49162         (gl_cond_t): Use it.
49163         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49164         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49165         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49166         (glthread_cond_init_func, glthread_cond_wait_func,
49167         glthread_cond_timedwait_func, glthread_cond_signal_func,
49168         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49169         Reimplemented on the basis of gl_linked_waitqueue_t.
49170         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49171         gl_waitqueue_t.
49172         (gl_rwlock_t): Update.
49173         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49174
49175 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49176
49177         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49178         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49179
49180 2008-10-17  Jim Meyering  <meyering@redhat.com>
49181
49182         ignore-value: new module
49183         * modules/ignore-value: New file.
49184         * lib/ignore-value.h: New file.
49185         * MODULES.html.sh (Compiler warning management): New section,
49186         just for this module.  More to come.
49187
49188 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49189
49190         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49191         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49192         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49193
49194 2008-10-16  Jim Meyering  <meyering@redhat.com>
49195
49196         openat-die.c: avoid 'no previous prototype' warning
49197         * lib/openat-die.c: Include "openat.h".
49198         Reported by Reuben Thomas <rrt@sc3d.org>.
49199
49200 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49201
49202         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49203         * lib/netdb.in.h: Fix typo.
49204         Reported by Bruno Haible  <bruno@clisp.org>
49205
49206         * lib/netdb.in.h: Include sys/socket.h for platforms without
49207         netdb.h, to get structures like hostent on MinGW.
49208         * modules/netdb (Depends-on): Add sys_socket.
49209
49210 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49211
49212         * modules/netdb, modules/netdb-tests: New file.
49213         * m4/netdb_h.m4: New file.
49214         * lib/netdb.in.h: Add, currently just an empty file pending
49215         definitions.
49216         * tests/test-netdb.c: New file.
49217         * doc/posix-headers/netdb.texi: Mention that we replace it if
49218         needed.
49219         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49220         netdb.
49221
49222 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49223
49224         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49225         with code.
49226
49227 2008-10-13  Bruno Haible  <bruno@clisp.org>
49228
49229         * lib/glthread/cond.c (glthread_cond_wait_func,
49230         glthread_cond_timedwait_func): Add a comment.
49231
49232 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49233
49234         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49235         * tests/test-select.c: Likewise,
49236
49237 2008-10-13  Bruno Haible  <bruno@clisp.org>
49238
49239         * lib/glthread/cond.c (glthread_cond_wait_func,
49240         glthread_cond_timedwait_func): Fix variable name.
49241         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49242
49243 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49244
49245         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49246         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49247         struct sockaddr.sa_len.
49248         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49249
49250 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49251
49252         * build-aux/pmccabe2html: Add css and css_url parameters.
49253
49254 2008-10-12  Bruno Haible  <bruno@clisp.org>
49255
49256         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49257         calling aclx_get.
49258         Reported by Rainer Tammer <tammer@tammer.net>.
49259
49260 2008-10-12  Bruno Haible  <bruno@clisp.org>
49261
49262         Use msvcrt aware primitives for creation/termination of Win32 threads.
49263         * lib/glthread/thread.c: Include <process.h>.
49264         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49265         (wrapper_func): Update signature.
49266         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49267
49268 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49269             Bruno Haible  <bruno@clisp.org>
49270
49271         Provide a Win32 implementation of the 'cond' module.
49272         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49273         * lib/glthread/cond.c (glthread_cond_init_func,
49274         glthread_cond_wait_func, glthread_cond_timedwait_func,
49275         glthread_cond_signal_func, glthread_cond_broadcast_func,
49276         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49277         * modules/cond (Dependencies): Add gettimeofday.
49278
49279 2008-10-11  Bruno Haible  <bruno@clisp.org>
49280
49281         Make sleep work on older versions of mingw.
49282         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49283         only whether it exists.
49284         * doc/posix-functions/sleep.texi: Mention the problem with older
49285         versions of mingw.
49286
49287 2008-10-11  Bruno Haible  <bruno@clisp.org>
49288
49289         New module 'shutdown'.
49290         * modules/shutdown: New file.
49291         * lib/sys_socket.in.h (shutdown): New declaration.
49292         * lib/winsock.c (shutdown): New function.
49293         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49294         GNULIB_SHUTDOWN.
49295         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49296         * doc/posix-functions/shutdown.texi: Document the new module.
49297
49298 2008-10-11  Jim Meyering  <meyering@redhat.com>
49299
49300         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49301
49302 2008-10-11  Bruno Haible  <bruno@clisp.org>
49303
49304         New module 'fclose'.
49305         * modules/fclose: New file.
49306         * lib/stdio.in.h (fclose): New declaration.
49307         * lib/fclose.c: New file.
49308         * m4/fclose.m4: New file.
49309         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49310         REPLACE_FCLOSE.
49311         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49312         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49313         REPLACE_FCLOSE.
49314         * modules/close (Depends-on): fclose.
49315         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49316
49317 2008-10-11  Bruno Haible  <bruno@clisp.org>
49318
49319         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49320         set errno and don't call _close.
49321
49322 2008-10-10  Bruno Haible  <bruno@clisp.org>
49323
49324         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
49325         ACL, not afterwards. Fixes test failure on Cygwin.
49326
49327 2008-10-09  Ben Pfaff  <blp@gnu.org>
49328
49329         * build-aux/announce-gen: Fix gnulib version related part of usage
49330         message.  Die with a useful error message if no tarballs are
49331         found.
49332
49333 2008-10-10  Jim Meyering  <meyering@redhat.com>
49334
49335         bootstrap: use git's --depth=N option only if it's supported
49336         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49337         recognize the --depth option.  Reported by Pádraig Brady.
49338
49339 2008-10-09  Bruno Haible  <bruno@clisp.org>
49340
49341         New module 'ioctl'.
49342         * modules/ioctl: New file.
49343         * lib/sys_socket.in.h (ioctl): Remove declaration.
49344         * lib/winsock.c: Include <sys/ioctl.h>.
49345         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49346         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49347         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49348         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49349         * doc/posix-functions/ioctl.texi: Mention the new module.
49350
49351 2008-10-09  Bruno Haible  <bruno@clisp.org>
49352
49353         New module 'sys_ioctl'.
49354         * lib/sys_ioctl.in.h: New file.
49355         * m4/sys_ioctl_h.m4: New file.
49356         * modules/sys_ioctl: New file.
49357         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
49358
49359 2008-10-09  Bruno Haible  <bruno@clisp.org>
49360
49361         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
49362         * lib/winsock.c: Include <stdarg.h>.
49363         (rpl_ioctl): Change to second argument 'int' and then varargs.
49364
49365 2008-10-09  Bruno Haible  <bruno@clisp.org>
49366
49367         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
49368         when the sys_socket module is present and the system has <winsock2.h>.
49369
49370 2008-10-09  Bruno Haible  <bruno@clisp.org>
49371
49372         * doc/posix-functions/close.texi: Mention module 'close' instead of
49373         module 'sys_socket'.
49374
49375 2008-10-09  Bruno Haible  <bruno@clisp.org>
49376
49377         * doc/glibc-headers/sys_ioctl.texi: New file.
49378         * doc/gnulib.texi: Include it.
49379
49380 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49381             Bruno Haible  <bruno@clisp.org>
49382
49383         Combine the two replacements of 'close'.
49384         * lib/sys_socket.in.h (close): Define to a reminder to include
49385         <unistd.h>.
49386         (_gl_close_fd_maybe_socket): New declaration.
49387         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
49388         * lib/winsock.c (close): Remove undefinition.
49389         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
49390         needed for the gnulib module 'close'.
49391         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
49392         define to an error symbol or to a warning, if suitable.
49393         * lib/close.c: Include <sys/socket.h>.
49394         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
49395         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
49396         UNISTD_H_HAVE_WINSOCK2_H.
49397         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
49398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49399         UNISTD_H_HAVE_WINSOCK2_H.
49400         * modules/sys_socket (Files): Add m4/unistd_h.m4.
49401         (configure.ac): Set a module indicator.
49402         (Makefile.am): Substitute GNULIB_CLOSE.
49403         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
49404         * modules/poll-tests (Depends-on): Add close.
49405         * modules/select-tests (Depends-on): Likewise.
49406
49407 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49408             Bruno Haible  <bruno@clisp.org>
49409
49410         New module 'close'.
49411         * modules/close: New file.
49412         * lib/unistd.in.h (close): Move declaration out of the
49413         FCHDIR_REPLACEMENT scope.
49414         (_gl_unregister_fd): New declaration.
49415         * lib/close.c: New file.
49416         * lib/fchdir.c (rpl_close): Remove function.
49417         * m4/close.m4: New file.
49418         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49419         close.
49420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
49421         REPLACE_CLOSE.
49422         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
49423         REPLACE_CLOSE.
49424         * modules/fchdir (Depends-on): Add close.
49425
49426 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49427             Bruno Haible  <bruno@clisp.org>
49428
49429         * lib/fcntl.in.h (open): Simplify conditionals.
49430         (_gl_register_fd): New declaration.
49431         * lib/fchdir.c (rpl_open): Remove function.
49432         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
49433         also.
49434         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
49435         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49436         open.
49437
49438 2008-10-09  Jim Meyering  <meyering@redhat.com>
49439
49440         GNUmakefile: use the more name-space-friendly "_version"
49441         * top/GNUmakefile (_dummy): Update.
49442         (_version): Rename from "version".
49443
49444 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49445             Bruno Haible  <bruno@clisp.org>
49446
49447         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
49448         rpl_close.
49449         (_gl_register_fd): New function, extracted from rpl_open.
49450         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
49451         (rpl_open, rpl_opendir): Use _gl_register_fd.
49452
49453 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49454
49455         Fix organization of 'open' replacement.
49456         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
49457         (gl_FUNC_OPEN): Use it.
49458         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
49459
49460 2008-10-08  Bruno Haible  <bruno@clisp.org>
49461
49462         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
49463
49464 2008-10-08  Simon Josefsson  <simon@josefsson.org>
49465
49466         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
49467         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
49468         listen).
49469
49470 2008-10-08  Eric Blake  <ebb9@byu.net>
49471
49472         GNUmakefile: add 'make version' target
49473         * top/GNUmakefile (_curr-ver): Split version update rules...
49474         (version): ...into a target.
49475
49476 2008-10-07  Bruno Haible  <bruno@clisp.org>
49477
49478         Use a more portable replacement expression for -0.0L.
49479         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
49480         instead of -0.0L. Fix m4 quotation.
49481
49482         * tests/test-signbit.c: Include <float.h>.
49483         (minus_zero): New variable.
49484         (test_signbitl): Use minus_zero instead of -zero.
49485         * modules/signbit-tests (Depends-on): Add float.
49486
49487         * tests/test-ceill.c: Include <float.h>.
49488         (zero): Remove variable.
49489         (minus_zero): New variable.
49490         (main): Use minus_zero instead of -zero.
49491         * modules/ceill-tests (Depends-on): Add float.
49492
49493         * tests/test-floorl.c: Include <float.h>.
49494         (zero): Remove variable.
49495         (minus_zero): New variable.
49496         (main): Use minus_zero instead of -zero.
49497         * modules/floorl-tests (Depends-on): Add float.
49498
49499         * tests/test-roundl.c: Include <float.h>.
49500         (zero): Remove variable.
49501         (minus_zero): New variable.
49502         (main): Use minus_zero instead of -zero.
49503         * modules/roundl-tests (Depends-on): Add float.
49504
49505         * tests/test-truncl.c: Include <float.h>.
49506         (zero): Remove variable.
49507         (minus_zero): New variable.
49508         (main): Use minus_zero instead of -zero.
49509         * modules/truncl-tests (Depends-on): Add float.
49510
49511         * tests/test-frexpl.c (zero): Remove variable.
49512         (minus_zero): New variable.
49513         (main): Use minus_zero instead of -zero.
49514         * modules/frexpl-tests (Depends-on): Add float.
49515
49516         * tests/test-isnan.c (zerol): Remove variable.
49517         (minus_zerol): New variable.
49518         (test_long_double): Use minus_zerol instead of -zerol.
49519         * modules/isnan-tests (Depends-on): Add float.
49520
49521         * tests/test-isnanl.h (zero): Remove variable.
49522         (minus_zero): New variable.
49523         (main): Use minus_zero instead of -zero.
49524         * modules/isnanl-nolibm-tests (Depends-on): Add float.
49525         * modules/isnanl-tests (Depends-on): Add float.
49526
49527         * tests/test-ldexpl.c (zero): Remove variable.
49528         (minus_zero): New variable.
49529         (main): Use minus_zero instead of -zero.
49530         * modules/ldexpl-tests (Depends-on): Add float.
49531
49532         * tests/test-snprintf-posix.h (zerol): Remove variable.
49533         (minus_zerol): New variable.
49534         (test_function): Use minus_zerol instead of -zerol.
49535         * modules/snprintf-posix-tests (Depends-on): Add float.
49536         * modules/vsnprintf-posix-tests (Depends-on): Add float.
49537
49538         * tests/test-sprintf-posix.h (zerol): Remove variable.
49539         (minus_zerol): New variable.
49540         (test_function): Use minus_zerol instead of -zerol.
49541         * modules/sprintf-posix-tests (Depends-on): Add float.
49542         * modules/vsprintf-posix-tests (Depends-on): Add float.
49543
49544         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
49545         (minus_zerol): New variable.
49546         (test_function): Use minus_zerol instead of -zerol.
49547         * modules/vasnprintf-posix-tests (Depends-on): Add float.
49548
49549         * tests/test-vasprintf-posix.c (zerol): Remove variable.
49550         (minus_zerol): New variable.
49551         (test_function): Use minus_zerol instead of -zerol.
49552         * modules/vasprintf-posix-tests (Depends-on): Add float.
49553
49554 2008-10-07  Simon Josefsson  <simon@josefsson.org>
49555
49556         * MODULES.html.sh (Support for building documentation): Mention
49557         pmccabe2html.  Sort entries.
49558
49559         Add pmccabe2html module, from gnupdf.
49560         * build-aux/pmccabe.css: New file.
49561         * build-aux/pmccabe2html: New file.
49562         * m4/pmccabe2html.m4: New file.
49563         * modules/pmccabe2html: New file.
49564
49565 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
49566
49567         flock: new module
49568         * MODULES.html.sh: Add to list of modules.
49569         * lib/flock.c: flock implementation for Windows and Unix systems
49570         which have fcntl.
49571         * doc/glibc-functions/flock.texi: Update documentation.
49572         * lib/sys_file.in.h: <sys/file.h> header file.
49573         * m4/flock.m4: M4 macros.
49574         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
49575         * modules/flock: flock module.
49576         * modules/flock-tests: flock tests module.
49577         * modules/sys_file: sys/file.h module.
49578         * tests/test-flock.c: test suite for flock.
49579
49580 2008-10-06  Jim Meyering  <meyering@redhat.com>
49581
49582         bootstrap: check for LT_INIT more portably still ;-)
49583         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
49584         Spotted by Bruno Haible.
49585
49586 2008-10-06  Eric Blake  <ebb9@byu.net>
49587
49588         test-signbit: avoid tripping Irix cc bug on -0.0L
49589         * tests/test-signbit.c (minus_zerol): Delete, and replace with
49590         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
49591         entire testsuite consistent and avoids an Irix 6.2 bug.
49592
49593 2008-10-05  Bruno Haible  <bruno@clisp.org>
49594             Jim Meyering  <jim@meyering.net>
49595
49596         Add an option for ignoring EPIPE during close_stdout.
49597         * lib/closeout.h: Include <stdbool.h>.
49598         (close_stdout_set_ignore_EPIPE): New declaration.
49599         * lib/closeout.c: Include <stdbool.h>.
49600         (ignore_EPIPE): New variable.
49601         (close_stdout_set_ignore_EPIPE): New function.
49602         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
49603         * lib/close-stream.c (close_stream): Mention the possible EPIPE
49604         failure.
49605         * modules/closeout (Depends-on): Add stdbool.
49606
49607 2008-10-05  Bruno Haible  <bruno@clisp.org>
49608
49609         * modules/accept: New file.
49610         * modules/bind: New file.
49611         * modules/connect: New file.
49612         * modules/getpeername: New file.
49613         * modules/getsockname: New file.
49614         * modules/getsockopt: New file.
49615         * modules/listen: New file.
49616         * modules/recv: New file.
49617         * modules/recvfrom: New file.
49618         * modules/send: New file.
49619         * modules/sendto: New file.
49620         * modules/setsockopt: New file.
49621         * modules/socket: New file.
49622         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
49623         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
49624         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
49625         the particular module is requested. Add a link warning when the
49626         particular module is not requested.
49627         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
49628         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
49629         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
49630         the particular module is requested.
49631         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
49632         gl_SYS_SOCKET_H_DEFAULTS): New macros.
49633         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
49634         * modules/sys_socket (Depends-on): Add link-warning.
49635         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
49636         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
49637         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
49638         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
49639         GL_LINK_WARNING.
49640         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
49641         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
49642         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
49643         * doc/posix-functions/getpeername.texi: Mention the new module
49644         'getpeername'.
49645         * doc/posix-functions/getsockname.texi: Mention the new module
49646         'getsockname'.
49647         * doc/posix-functions/getsockopt.texi: Mention the new module
49648         'getsockopt'.
49649         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
49650         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
49651         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
49652         * doc/posix-functions/send.texi: Mention the new module 'send'.
49653         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
49654         * doc/posix-functions/setsockopt.texi: Mention the new module
49655         'setsockopt'.
49656         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
49657         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
49658         listen, connect, accept.
49659         * modules/select-tests (Depends-on): Likewise.
49660
49661 2008-10-05  Bruno Haible  <bruno@clisp.org>
49662
49663         * lib/winsock.c (strerror): Remove unused #undef.
49664         (rpl_close): Remove unused local variable.
49665
49666         * modules/sys_socket (Depends-on); Add errno.
49667
49668 2008-10-05  Bruno Haible  <bruno@clisp.org>
49669
49670         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
49671         (select): Add a link warning when the 'select' module is not used.
49672         * modules/sys_select (Depends-on): Add link-warning.
49673         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
49674         Suggested by Paolo Bonzini.
49675
49676 2008-10-05  Jim Meyering  <meyering@redhat.com>
49677
49678         bootstrap: check for LT_INIT more portably
49679         * build-aux/bootstrap: Avoid using grep -E, since it's not
49680         portable enough.  Suggestion from Bruno Haible.
49681
49682 2008-10-05  Bruno Haible  <bruno@clisp.org>
49683
49684         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
49685         as being fixed by gnulib.
49686
49687 2008-10-05  Bruno Haible  <bruno@clisp.org>
49688
49689         * modules/select-tests: New file, mostly copied from
49690         modules/sys_select-tests.
49691         * tests/test-select.c: New file, mostly copied from
49692         tests/test-sys_select.c.
49693         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
49694         * modules/sys_select-tests (Depends-on): Remove all dependencies.
49695         (Makefile.am): Remove test_sys_select_LDADD.
49696
49697         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
49698         to an undefined symbol, for an error message.
49699         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
49700         (gl_SYS_SELECT_H_DEFAULTS): New macro.
49701         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
49702         winsock-select.c here.
49703         * modules/sys_select (Files): Remove lib/winsock-select.c.
49704         (Depends-on): Remove alloca.
49705         (Makefile.am): Substitute GNULIB_SELECT.
49706         * modules/select: New file.
49707         * doc/posix-functions/select.texi: Update.
49708
49709 2008-10-05  Bruno Haible  <bruno@clisp.org>
49710
49711         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
49712         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
49713         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
49714         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
49715         getdtablesize.
49716         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
49717         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
49718
49719 2008-10-05  Bruno Haible  <bruno@clisp.org>
49720
49721         * modules/getdtablesize-tests: New file.
49722         * tests/test-getdtablesize.c: New file.
49723
49724         New module 'getdtablesize'.
49725         * lib/unistd.in.h (getdtablesize): New declaration.
49726         * lib/getdtablesize.c: New file.
49727         * m4/getdtablesize.m4: New file.
49728         * modules/getdtablesize: New file.
49729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49730         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
49731         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
49732         HAVE_GETDTABLESIZE.
49733         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
49734
49735 2008-10-05  Bruno Haible  <bruno@clisp.org>
49736
49737         * modules/sched (Makefile.am): Fix typo.
49738         Reported by Simon Josefsson.
49739
49740 2008-10-05  Jim Meyering  <meyering@redhat.com>
49741
49742         bootstrap: check for LT_INIT, too
49743         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
49744         are deprecated.  Suggestion from Ralf Wildenhues.
49745
49746 2008-10-05  Bruno Haible  <bruno@clisp.org>
49747
49748         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
49749         overriding them by ours.
49750         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
49751
49752 2008-10-05  Jim Meyering  <meyering@redhat.com>
49753
49754         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
49755         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
49756         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
49757
49758 2008-10-04  Bruno Haible  <bruno@clisp.org>
49759
49760         * modules/dup2 (License): Change to LGPLv2+.
49761         * modules/sleep (License): Likewise.
49762         * modules/perror (License): Likewise.
49763         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
49764         Blake.
49765         * modules/signal (License): Likewise.
49766         * modules/sigprocmask (License): Likewise.
49767         * modules/raise (License): Change to LGPLv2+, with approval by Jim
49768         Meyering.
49769
49770 2008-10-04  Bruno Haible  <bruno@clisp.org>
49771
49772         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
49773         Reported by Rainer Tammer <tammer@tammer.net>.
49774
49775 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
49776             Bruno Haible  <bruno@clisp.org>
49777
49778         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
49779         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
49780         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
49781
49782 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
49783
49784         filevercmp: new module
49785         * lib/filevercmp.h: New function filevercmp comparing version strings.
49786         * lib/filevercmp.c: Implementation of filevercmp function.
49787         * modules/filevercmp: Module metadata.
49788         * tests/test-filevercmp.c: Unit test for new module.
49789         * modules/filevercmp-tests: Unit test metadata.
49790         * MODULES.html.sh: Add filevercmp module.
49791
49792 2008-10-03  Bruno Haible  <bruno@clisp.org>
49793
49794         * lib/c-ctype.h: Add comment.
49795         Reported by Jim Meyering.
49796
49797 2008-10-02  Bruno Haible  <bruno@clisp.org>
49798
49799         * modules/posix_spawn-internal (Depends-on): Add 'open'.
49800
49801 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49802
49803         * build-aux/bootstrap: Allow renaming bootstrap, and change the
49804         name of bootstrap.conf accordingly.
49805
49806 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49807
49808         * build-aux/bootstrap: Install git-merge-changelog configuration
49809         items into .gitconfig if needed.
49810
49811 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49812
49813         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
49814         git repository, and initialize/update it accordingly.
49815
49816 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
49817
49818         * modules/fsync-tests: New file.
49819         * tests/test-fsync.c: New file.
49820
49821         New module 'fsync'.
49822         * lib/fsync.c: New file.
49823         * m4/fsync.m4: New file.
49824         * modules/fsync: New file.
49825         * lib/unistd.in.h (fsync): New declaration.
49826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
49827         GNULIB_FSYNC and HAVE_FSYNC.
49828         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
49829         * MODULES.html.sh (posix_functions): Add fsync.
49830         * doc/posix-functions/fsync.texi: Mention the new module.
49831
49832 2008-10-02  Jim Meyering  <meyering@redhat.com>
49833
49834         fts.c: sync with similar code from coreutils' remove.c
49835         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
49836         Guard also with "#if defined __linux__", since for now at least,
49837         this code is Linux-kernel-specific.
49838
49839 2008-10-02  Jim Meyering  <meyering@redhat.com>
49840
49841         fts: bug fixes
49842         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
49843         Include <sys/vfs.h>, not <sys/statfs.h>.
49844
49845         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
49846         Include <sys/vfs.h>, not <sys/statfs.h>.
49847
49848 2008-10-01  Bruno Haible  <bruno@clisp.org>
49849
49850         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
49851         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
49852         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
49853         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
49854         * doc/posix-functions/posix_spawnp.texi: Likewise.
49855         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
49856         whether posix_spawn actually works.
49857         * m4/pipe.m4 (gl_PIPE): Likewise.
49858         * modules/execute (Files): Add m4/posix_spawn.m4.
49859         * modules/pipe (Files): Add m4/posix_spawn.m4.
49860         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
49861
49862 2008-10-01  Jim Meyering  <meyering@redhat.com>
49863
49864         remove trailing spaces
49865         * NEWS: Likewise.
49866         * lib/poll.c (poll): Likewise.
49867         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
49868         * lib/winsock.c (rpl_close): Likewise.
49869         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
49870         * modules/yield: Likewise.
49871         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
49872         * tests/test-sys_select.c (connect_to_socket): Likewise.
49873
49874         fts.c: adjust a new interface to be more generally useful
49875         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
49876         (fts_build): Adjust caller.
49877
49878 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49879
49880         * modules/cond-tests: New file.
49881         * tests/test-cond.c: New file.
49882
49883 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49884             Bruno Haible  <bruno@clisp.org>
49885
49886         * modules/cond (Dependencies): Add errno, time.
49887         * lib/glthread/cond.h: Include <time.h>.
49888         (gl_cond_define, gl_cond_define_initialized): Use the same definition
49889         across platforms.
49890
49891 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49892             Bruno Haible  <bruno@clisp.org>
49893
49894         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
49895
49896 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49897             Bruno Haible  <bruno@clisp.org>
49898
49899         * modules/tls-tests (Depends-on): Add thread, yield.
49900         (configure.ac): Remove all checks.
49901         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
49902         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49903         gl_thread_self): Remove definitions. Include glthread/thread.h and
49904         glthread/yield.h instead.
49905         (test_tls): Pass an additional NULL argument to gl_thread_join.
49906
49907 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49908             Bruno Haible  <bruno@clisp.org>
49909
49910         * modules/lock-tests (Depends-on): Add thread, yield.
49911         (configure.ac): Remove all checks.
49912         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
49913         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49914         gl_thread_self): Remove definitions. Include glthread/thread.h and
49915         glthread/yield.h instead.
49916         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
49917         additional NULL argument to gl_thread_join.
49918
49919 2008-09-30  Bruno Haible  <bruno@clisp.org>
49920
49921         Fix the Win32 implementation of the 'thread' module.
49922         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
49923         pointer type.
49924         (gl_thread_self): Invoke gl_thread_self_func.
49925         (gl_thread_self_func): New declaration.
49926         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
49927         (do_init_self_key, init_self_key): New functions.
49928         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
49929         Remove some fields.
49930         (running_threads, running_lock): Remove variables.
49931         (get_current_thread_handle): New function.
49932         (gl_thread_self_func, wrapper_func, glthread_create_func,
49933         glthread_join_func, gl_thread_exit_func): Largely rewritten and
49934         simplified.
49935
49936 2008-09-30  Bruno Haible  <bruno@clisp.org>
49937
49938         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
49939         files.
49940
49941 2008-09-30  Jim Meyering  <meyering@redhat.com>
49942
49943         fts.m4: correct the test for statfs.f_type
49944         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
49945         when checking for statfs.f_type.
49946
49947 2008-09-15  Simon Josefsson  <simon@josefsson.org>
49948
49949         tests: avoid some compiler warnings
49950         * tests/test-memchr.c (main): Pass NULL indirectly.
49951         * tests/test-getdate.c (main): Remove unused variable 'ret'.
49952
49953 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
49954
49955         getdate.y: disallow countable dayshifts like "4 yesterday ago"
49956         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
49957         exactly specified dayshifts.
49958         (dayshift): New rule.
49959         (rel): Add dayshift.
49960         (relative_time_table) [tomorrow, yesterday, today, now]:
49961         Use tDAY_SHIFT in place of tDAY_UNIT.
49962         * tests/test-getdate.c: Add tests for now-disallowed countable
49963         dayshifts, e.g., "4 yesterday ago".
49964
49965 2008-09-29  Bruno Haible  <bruno@clisp.org>
49966
49967         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
49968         * tests/test-posix_spawn1.in.sh: Renamed from
49969         tests/test-posix_spawn.in.sh.
49970         * tests/test-posix_spawn2.c: New file.
49971         * tests/test-posix_spawn2.in.sh: New file.
49972         * modules/posix_spawnp-tests (Files): Update.
49973         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
49974
49975 2008-09-29  Bruno Haible  <bruno@clisp.org>
49976
49977         Propagate effects of putenv/setenv/unsetenv to child processes.
49978         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
49979         * lib/pipe.c (create_pipe): Likewise.
49980
49981 2008-09-29  Bruno Haible  <bruno@clisp.org>
49982
49983         Enable use of shell scripts as executables in mingw.
49984         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
49985         run the program as a shell script.
49986         * lib/pipe.c (create_pipe): Likewise.
49987         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
49988         resulting array.
49989
49990 2008-09-29  Eric Blake  <ebb9@byu.net>
49991
49992         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
49993
49994 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
49995
49996         * doc/posix-functions/accept.texi: Update mingw problems.
49997         * doc/posix-functions/bind.texi: Update mingw problems.
49998         * doc/posix-functions/close.texi: Update mingw problems.
49999         * doc/posix-functions/connect.texi: Update mingw problems.
50000         * doc/posix-functions/getpeername.texi: Update mingw problems.
50001         * doc/posix-functions/getsockname.texi: Update mingw problems.
50002         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50003         * doc/posix-functions/ioctl.texi: Update mingw problems.
50004         * doc/posix-functions/listen.texi: Update mingw problems.
50005         * doc/posix-functions/recv.texi: Update mingw problems.
50006         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50007         * doc/posix-functions/select.texi: Update mingw problems.
50008         * doc/posix-functions/send.texi: Update mingw problems.
50009         * doc/posix-functions/sendto.texi: Update mingw problems.
50010         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50011         * doc/posix-functions/socket.texi: Update mingw problems.
50012
50013 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50014             Bruno Haible  <bruno@clisp.org>
50015
50016         * lib/sys_select.in.h: Include sys/time.h.
50017         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50018         * modules/sys_select: Depend on sys_time.
50019         * tests/test-sys_select.c: Test that sys/select.h defines struct
50020         timeval fully.
50021
50022 2008-09-29  Bruno Haible  <bruno@clisp.org>
50023
50024         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50025         * lib/sys_select.in.h: Likewise.
50026
50027 2008-09-29  Bruno Haible  <bruno@clisp.org>
50028
50029         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50030
50031 2008-09-29  Bruno Haible  <bruno@clisp.org>
50032
50033         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50034         Set LIBSOCKET instead of augmenting LIBS.
50035         * modules/sockets (Link): New section.
50036         * modules/sockets-tests (test_sockets_LDADD): New variable.
50037         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50038         * modules/poll-tests (test_poll_LDADD): New variable.
50039         * NEWS: Document the change.
50040
50041 2008-09-29  Bruno Haible  <bruno@clisp.org>
50042
50043         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50044         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50045         ARPA_INET_H directly.
50046         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50047
50048 2008-09-28  Bruno Haible  <bruno@clisp.org>
50049
50050         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50051         from gl_HEADER_SYS_SOCKET.
50052         (gl_HEADER_SYS_SOCKET): Invoke it.
50053         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50054
50055 2008-09-28  Bruno Haible  <bruno@clisp.org>
50056
50057         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50058         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50059         Needed on OSF/1 4.0.
50060
50061 2008-09-28  Bruno Haible  <bruno@clisp.org>
50062
50063         Override open more carefully.
50064         * lib/open.c (orig_open): New function.
50065         (rpl_open): Use orig_open instead of open.
50066         * lib/fcntl.in.h: Add special invocation convention.
50067         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50068         (gl_FUNC_OPEN): Invoke it.
50069
50070         Override freopen more carefully.
50071         * lib/freopen.c (orig_freopen): New function.
50072         (rpl_freopen): Use orig_freopen instead of freopen.
50073         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50074         (gl_FUNC_FREOPEN): Invoke it.
50075
50076         Override fopen more carefully.
50077         * lib/fopen.c (orig_fopen): New function.
50078         (rpl_fopen): Use orig_fopen instead of fopen.
50079         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50080         (gl_FUNC_FOPEN): Invoke it.
50081         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50082
50083 2008-09-28  Bruno Haible  <bruno@clisp.org>
50084
50085         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50086         SIGPIPE.
50087
50088 2008-09-28  Bruno Haible  <bruno@clisp.org>
50089
50090         * tests/test-sigaction.c (handler, main): Disable the check whether
50091         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50092         glibc systems with LinuxThreads.
50093
50094 2008-09-28  Bruno Haible  <bruno@clisp.org>
50095
50096         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50097
50098         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50099         with AIX xlc.
50100         * lib/fcntl.in.h (open): Likewise.
50101         Reported by Rainer Tammer <tammer@tammer.net>.
50102
50103 2008-09-28  Bruno Haible  <bruno@clisp.org>
50104
50105         * modules/posix_spawnp-tests: New file.
50106         * tests/test-posix_spawn.c: New file.
50107         * tests/test-posix_spawn.in.sh: New file.
50108
50109         New module 'posix_spawnp'.
50110         * modules/posix_spawnp: New file.
50111         * lib/spawnp.c: New file, from GNU libc with modifications.
50112         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50113
50114         New module 'posix_spawn'.
50115         * modules/posix_spawn: New file.
50116         * lib/spawn.c: New file, from GNU libc with modifications.
50117         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50118
50119         New module 'posix_spawnattr_destroy'.
50120         * modules/posix_spawnattr_destroy: New file.
50121         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50122         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50123         module.
50124
50125         New module 'posix_spawnattr_setsigmask'.
50126         * modules/posix_spawnattr_setsigmask: New file.
50127         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50128         modifications.
50129         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50130         new module.
50131
50132         New module 'posix_spawnattr_getsigmask'.
50133         * modules/posix_spawnattr_getsigmask: New file.
50134         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50135         modifications.
50136         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50137         new module.
50138
50139         New module 'posix_spawnattr_setsigdefault'.
50140         * modules/posix_spawnattr_setsigdefault: New file.
50141         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50142         modifications.
50143         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50144         new module.
50145
50146         New module 'posix_spawnattr_getsigdefault'.
50147         * modules/posix_spawnattr_getsigdefault: New file.
50148         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50149         modifications.
50150         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50151         new module.
50152
50153         New module 'posix_spawnattr_setschedpolicy'.
50154         * modules/posix_spawnattr_setschedpolicy: New file.
50155         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50156         modifications.
50157         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50158         new module.
50159
50160         New module 'posix_spawnattr_getschedpolicy'.
50161         * modules/posix_spawnattr_getschedpolicy: New file.
50162         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50163         modifications.
50164         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50165         new module.
50166
50167         New module 'posix_spawnattr_setschedparam'.
50168         * modules/posix_spawnattr_setschedparam: New file.
50169         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50170         modifications.
50171         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50172         new module.
50173
50174         New module 'posix_spawnattr_getschedparam'.
50175         * modules/posix_spawnattr_getschedparam: New file.
50176         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50177         modifications.
50178         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50179         new module.
50180
50181         New module 'posix_spawnattr_setpgroup'.
50182         * modules/posix_spawnattr_setpgroup: New file.
50183         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50184         modifications.
50185         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50186         module.
50187
50188         New module 'posix_spawnattr_getpgroup'.
50189         * modules/posix_spawnattr_getpgroup: New file.
50190         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50191         modifications.
50192         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50193         module.
50194
50195         New module 'posix_spawnattr_setflags'.
50196         * modules/posix_spawnattr_setflags: New file.
50197         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50198         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50199         module.
50200
50201         New module 'posix_spawnattr_getflags'.
50202         * modules/posix_spawnattr_getflags: New file.
50203         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50204         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50205         module.
50206
50207         New module 'posix_spawnattr_init'.
50208         * modules/posix_spawnattr_init: New file.
50209         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50210         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50211         module.
50212
50213         New module 'posix_spawn_file_actions_destroy'.
50214         * modules/posix_spawn_file_actions_destroy: New file.
50215         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50216         modifications.
50217         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50218         the new module.
50219
50220         New module 'posix_spawn_file_actions_addopen'.
50221         * modules/posix_spawn_file_actions_addopen: New file.
50222         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50223         modifications.
50224         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50225         the new module.
50226
50227         New module 'posix_spawn_file_actions_adddup2'.
50228         * modules/posix_spawn_file_actions_adddup2: New file.
50229         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50230         modifications.
50231         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50232         the new module.
50233
50234         New module 'posix_spawn_file_actions_addclose'.
50235         * modules/posix_spawn_file_actions_addclose: New file.
50236         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50237         modifications.
50238         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50239         the new module.
50240
50241         New module 'posix_spawn_file_actions_init'.
50242         * modules/posix_spawn_file_actions_init: New file.
50243         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50244         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50245         new module.
50246
50247         New module 'posix_spawn-internal'.
50248         * modules/posix_spawn-internal: New file.
50249         * lib/spawn_int.h: New file, from GNU libc with modifications.
50250         * lib/spawni.c: New file, from GNU libc with modifications.
50251         * m4/posix_spawn.m4: New file.
50252
50253         New module 'spawn'.
50254         * modules/spawn: New file.
50255         * lib/spawn.in.h: New file, from GNU libc with modifications.
50256         * m4/spawn_h.m4: New file.
50257         * doc/posix-headers/spawn.texi: Mention the new module.
50258
50259 2008-09-28  Bruno Haible  <bruno@clisp.org>
50260
50261         * modules/sched-tests: New file.
50262         * tests/test-sched.c: New file.
50263
50264         New module 'sched'.
50265         * modules/sched: New file.
50266         * lib/sched.in.h: New file.
50267         * m4/sched_h.m4: New file.
50268         * doc/posix-headers/sched.texi: Mention the new module.
50269
50270 2008-09-27  Eric Blake  <ebb9@byu.net>
50271
50272         Fix previous patch, and tweak references to $0.
50273         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50274         (func_version, func_gnulib_dir): Don't call this program
50275         gnulib-tool.
50276         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50277         with using $0 in function.
50278         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50279         (func_fatal_error): Reuse the name the user invoked us with.
50280
50281 2008-09-27  Bruno Haible  <bruno@clisp.org>
50282
50283         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50284         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50285         (gl_ICONV_H): Not here.
50286         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50287         instead of assigning ICONV_H directly.
50288
50289         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50290         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50291         WCHAR_H directly.
50292
50293 2008-09-27  Bruno Haible  <bruno@clisp.org>
50294
50295         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50296         * modules/arpa_inet (Depends-on): Add link-warning.
50297         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50298         * modules/unistd (Makefile.am): Likewise.
50299
50300 2008-09-26  Bruno Haible  <bruno@clisp.org>
50301
50302         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50303         variables.
50304         (func_version): Essentially copied from gnulib-tool.
50305         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50306         func_readlink): Copied from gnulib-tool.
50307
50308 2008-09-26  Bruno Haible  <bruno@clisp.org>
50309
50310         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50311         invoking git-version-gen.
50312
50313 2008-09-26  Bruno Haible  <bruno@clisp.org>
50314
50315         * posix-modules: Update to directory names changed on 2008-01-19.
50316         Remove commas in output before splitting into words. No more need to
50317         avoid 'ftruncate' since 2007-02-19.
50318
50319 2008-09-26  Bruno Haible  <bruno@clisp.org>
50320
50321         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
50322
50323 2008-09-26  Bruno Haible  <bruno@clisp.org>
50324
50325         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
50326         * modules/fwriteerror (Depends-on): Add errno.
50327
50328 2008-09-26  Bruno Haible  <bruno@clisp.org>
50329
50330         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
50331         * tests/test-vc-list-files-cvs.sh: Likewise.
50332
50333 2008-09-26  Bruno Haible  <bruno@clisp.org>
50334
50335         * doc/posix-headers/sys_resource.texi: Reorder items.
50336
50337 2008-09-26  Jim Meyering  <meyering@redhat.com>
50338
50339         fts: tweak inode comparison function
50340         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50341         inode numbers, as documented.
50342
50343         fts: sort dirent entries on inode number before traversing
50344         This avoids a quadratic, seek-related performance penalty when
50345         operating on a directory containing many entries (measurable at 10k;
50346         3.5 hours at 2 million entries with a cold cache) on certain types
50347         of file systems, including ext3 and ext4, but not tmpfs.
50348         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50349         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50350         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50351         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50352         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50353         (fts_build): Set the stat.st_ino member from D_INO.
50354         If it is likely to be useful, sort dirent entries on inode number.
50355
50356         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
50357         and the struct statfs.f_type member.
50358         * modules/fts (Depends-on): Add d-ino.
50359
50360 2008-09-26  Bruno Haible  <bruno@clisp.org>
50361
50362         * modules/sigpipe-die (Depends-on): Add sigpipe.
50363
50364         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
50365         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
50366         and GNULIB_STDIO_H_SIGPIPE are set.
50367         * lib/stdio-write.c: New file.
50368         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
50369         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50370         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50371         REPLACE_STDIO_WRITE_FUNCS.
50372         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
50373         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50374         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50375         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50376         * modules/stdio (Files): Add lib/stdio-write.c.
50377         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
50378         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50379         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50380         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50381         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
50382         REPLACE_FPRINTF_POSIX.
50383         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
50384         REPLACE_PRINTF_POSIX.
50385         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
50386         REPLACE_VFPRINTF_POSIX.
50387         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
50388         REPLACE_VPRINTF_POSIX.
50389         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
50390         SIGPIPE issue.
50391         * doc/posix-functions/fputc.texi: Likewise.
50392         * doc/posix-functions/fputs.texi: Likewise.
50393         * doc/posix-functions/fwrite.texi: Likewise.
50394         * doc/posix-functions/printf.texi: Likewise.
50395         * doc/posix-functions/putc.texi: Likewise.
50396         * doc/posix-functions/putchar.texi: Likewise.
50397         * doc/posix-functions/puts.texi: Likewise.
50398         * doc/posix-functions/vfprintf.texi: Likewise.
50399         * doc/posix-functions/vprintf.texi: Likewise.
50400
50401         * modules/safe-write (Depends-on): Add write.
50402
50403         * modules/sigpipe-tests: New file.
50404         * tests/test-sigpipe.c: New file.
50405         * tests/test-sigpipe.sh: New file.
50406
50407         * modules/write: New file.
50408         * lib/unistd.in.h: Include <sys/types.h>.
50409         (write): New declaration.
50410         * lib/write.c: New file.
50411         * m4/write.m4: New file.
50412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50413         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
50414         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
50415         GNULIB_WRITE, REPLACE_WRITE.
50416         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
50417         and the SIGPIPE issue.
50418
50419         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
50420         (raise): New declaration.
50421         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
50422         (ext_signal): New function.
50423         (rpl_raise): New function.
50424         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50425         GNULIB_SIGNAL_H_SIGPIPE.
50426         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
50427         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
50428
50429         * modules/sigpipe: New file.
50430         * m4/sigpipe.m4: New file.
50431
50432 2008-09-25  Derek Price  <derek@ximbiot.com>
50433             Bruno Haible  <bruno@clisp.org>
50434
50435         * gnulib-tool (func_import): Report all license incompatibilities, not
50436         just the first one.
50437
50438 2008-09-25  Bruno Haible  <bruno@clisp.org>
50439
50440         * gnulib-tool (func_import): When computing the edits, consider not
50441         only the Makefile.ams that exist but also those that will be generated.
50442
50443 2008-09-25  Simon Josefsson  <simon@josefsson.org>
50444
50445         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
50446         fixes gnulib-tool --test warning about duplicate dependency.
50447
50448 2008-09-25  Bruno Haible  <bruno@clisp.org>
50449
50450         * gnulib-tool: Don't ask the user to perform edits in the generated
50451         Makefile.ams.
50452         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
50453         apply to the Makefile.am being generated.
50454         (func_emit_tests_Makefile_am): Execute edits that apply to the
50455         Makefile.am being generated.
50456         (func_import): Setup list of Makefile.am edits before emitting the
50457         Makefile.ams, not at the end.
50458         (func_create_testdir): Update.
50459         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50460
50461 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50462
50463         * gnulib-tool (func_import): Store the --tests-base option in the
50464         comment in gnulib-cache.m4.
50465
50466 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
50467
50468         * NEWS: Document increased portability that sys_select now provides.
50469
50470         * lib/sys_select.in.h: Install select wrapper.
50471         * lib/sys_socket.in.h: Use more descriptive name when there is no
50472         select wrapper.
50473         * lib/winsock-select.c: New.
50474         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
50475         Require gl_HEADER_SYS_SOCKET.
50476         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
50477         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
50478         * tests/test-sys_select.c: Add functional tests.
50479
50480 2008-09-24  Eric Blake  <ebb9@byu.net>
50481
50482         open, fopen: close fd leak in last patch
50483         * lib/open.c (rpl_open): Close fd before returning error.
50484         * lib/fopen.c (rpl_fopen): Close fd before returning error.
50485         * doc/posix-functions/open.texi (open): Document that Irix also
50486         has the bug.
50487         * doc/posix-functions/fopen.texi (fopen): Likewise.
50488         Reported by Paolo Bonzini.
50489
50490 2008-09-24  Bruno Haible  <bruno@clisp.org>
50491
50492         Ensure that a filename ending in a slash cannot be used to access a
50493         non-directory.
50494         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
50495         to check whether it's really a directory.
50496         * lib/fopen.c: Include fcntl.h, unistd.h.
50497         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
50498         and fdopen().
50499         * modules/fopen (Depends-on): Add unistd.
50500         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
50501         * tests/test-fopen.c (main): Likewise.
50502         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
50503         * doc/posix-functions/fopen.texi: Likewise.
50504         Reported by Eric Blake.
50505
50506 2008-09-23  Eric Blake  <ebb9@byu.net>
50507
50508         c-stack: avoid compiler optimizations when provoking overflow
50509         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
50510         recursion harder to optimize, to ensure a stack overflow occurs.
50511         * tests/test-c-stack.c (recurse): Likewise.
50512         Borrowed from libsigsegv.
50513
50514         c-stack: work around Irix sigaltstack bug
50515         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
50516         whether sigaltstack uses wrong end of stack_t (copied in part from
50517         libsigsegv).
50518         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
50519         Irix bug, without requiring an over-allocation.
50520         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
50521         bug.
50522
50523         fopen: document mingw bug on directories
50524         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
50525         not allowing a stream visiting a directory, even though reading
50526         from such a stream is not portable.
50527
50528 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50529
50530         * lib/poll.c: Rewrite.
50531         * modules/poll: Depend on alloca.
50532
50533 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50534
50535         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
50536         instead define prototypes for a full set of wrappers.  Ensure
50537         that Cygwin does not use the compatibility code, which is only
50538         for MinGW.
50539         * lib/winsock.c: New.
50540         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
50541         * modules/sys_socket: Add lib/winsock.c.
50542
50543         * modules/poll-tests: Add errno and perror.
50544         * tests/test-poll.c: Use ioctl, not ioctlsocket.
50545
50546 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50547
50548         * tests/test-poll.c: Downgrade minimum needed Winsock version.
50549
50550 2008-09-23  Bruno Haible  <bruno@clisp.org>
50551
50552         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
50553         * doc/glibc-functions/*: Likewise.
50554
50555 2008-09-23  Simon Josefsson  <simon@josefsson.org>
50556
50557         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
50558         success.
50559
50560 2008-09-22  Eric Blake  <ebb9@byu.net>
50561             Bruno Haible  <bruno@clisp.org>
50562
50563         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
50564         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
50565         supply %A but mishandle pseudo-NaN.
50566         Reported by Simon Josefsson.
50567
50568 2008-09-21  Bruno Haible  <bruno@clisp.org>
50569
50570         * tests/test-lock.c (main): Tweak skip message.
50571         * tests/test-tls.c (main): Likewise.
50572
50573 2008-09-21  Bruno Haible  <bruno@clisp.org>
50574
50575         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
50576         whether 'struct sigaction' has sa_sigaction here...
50577         (gl_PREREQ_SIG_HANDLER_H): ... not here.
50578         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
50579
50580 2008-09-21  Bruno Haible  <bruno@clisp.org>
50581
50582         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
50583         section.
50584         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
50585         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
50586         the new section.
50587         (Support for obsolete systems lacking POSIX:2001): New section.
50588         (String handling <string.h>): Move strdup to the new section.
50589         Suggested by Simon Josefsson and Paolo Bonzini.
50590
50591 2008-09-21  Bruno Haible  <bruno@clisp.org>
50592
50593         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
50594         exponents in %e and %g results on 'long double'. Needed for mingw's
50595         improved *printf functions.
50596         * tests/test-vasprintf-posix.c (test_function): Likewise.
50597         * tests/test-snprintf-posix.h (test_function): Likewise.
50598         * tests/test-sprintf-posix.h (test_function): Likewise.
50599         Reported by Eric Blake.
50600
50601 2008-09-21  Bruno Haible  <bruno@clisp.org>
50602
50603         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
50604         * tests/test-sprintf-posix.h (test_function): Likewise.
50605
50606 2008-09-21  Bruno Haible  <bruno@clisp.org>
50607
50608         * modules/getpass (Depends-on): Add strdup-posix.
50609
50610         New module 'strdup-posix'.
50611         * modules/strdup-posix: New file.
50612         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
50613         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
50614         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50615         REPLACE_STRDUP.
50616         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
50617         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
50618         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50619         strdup-posix.
50620
50621         * modules/strdup (Depends-on): Remove malloc-posix.
50622
50623 2008-09-20  Bruno Haible  <bruno@clisp.org>
50624
50625         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
50626         Wildenhues.
50627
50628 2008-09-20  Bruno Haible  <bruno@clisp.org>
50629
50630         Ensure that wint_t gets defined on IRIX 5.3.
50631         * lib/wchar.in.h (wint_t): Define if not defined by the system.
50632         * lib/wctype.in.h (wint_t): Likewise.
50633         (__wctype_wint_t): Remove type.
50634         (isw*): Use wint_t instead of __wctype_wint_t.
50635         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
50636         * modules/wchar (Files): Add m4/wint_t.m4.
50637         (Makefile.am): Substitute HAVE_WINT_T.
50638         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
50639         * tests/test-wctype.c: Check that wint_t is defined.
50640         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
50641         * doc/posix-headers/wctype.texi: Likewise.
50642         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50643
50644 2008-09-18  Bruno Haible  <bruno@clisp.org>
50645
50646         * gnulib-tool (func_exit): Update comment.
50647
50648 2008-09-18  Simon Josefsson  <simon@josefsson.org>
50649
50650         * modules/getaddrinfo (Depends-on): Remove strdup, this module
50651         assumes strdup exists and does not depend on strdup to return
50652         ENOMEM on out of memory conditions.
50653
50654 2008-09-18  Bruno Haible  <bruno@clisp.org>
50655
50656         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
50657         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
50658         digits for the exponent.
50659
50660 2008-09-18  Jim Meyering  <meyering@redhat.com>
50661             Bruno Haible  <bruno@clisp.org>
50662
50663         * lib/vasnprintf.c (decimal_point_char): Define also if
50664         NEED_PRINTF_INFINITE_LONG_DOUBLE.
50665
50666 2008-09-16  Bruno Haible  <bruno@clisp.org>
50667         and Eric Blake  <ebb9@byu.net>
50668
50669         vasnprintf: support Irix 5.3
50670         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
50671         that mishandle long double infinity.
50672         Reported by Tom G. Christensen.
50673
50674 2008-09-16  Bruno Haible  <bruno@clisp.org>
50675
50676         * doc/glibc-functions/scandir.texi: Mention the function is missing on
50677         Solaris 9.
50678         * doc/glibc-functions/alphasort.texi: Likewise.
50679         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
50680
50681 2008-09-16  Jim Meyering  <meyering@redhat.com>
50682
50683         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
50684         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
50685         a umask modification leak out of a subshell.  Otherwise, the
50686         opensolaris /bin/sh would be accepted and thus cause unwarranted
50687         failures in the coreutils test suite.
50688
50689 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
50690
50691         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
50692         to succeed.
50693
50694 2008-09-16  Jim Meyering  <meyering@redhat.com>
50695
50696         avoid spurious test failure when library is built without ACL support
50697         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
50698         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
50699         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
50700         * tests/test-copy-acl.sh: Likewise.
50701
50702 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50703
50704         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
50705         based on character occurrence counts.
50706
50707 2008-09-15  Eric Blake  <ebb9@byu.net>
50708
50709         tests: avoid some compiler warnings
50710         * tests/test-memchr.c (main): Pass NULL indirectly.
50711         * tests/test-closein.c (main): Avoid unused variable.
50712
50713 2008-09-15  Bruno Haible  <bruno@clisp.org>
50714
50715         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
50716         are missing on OpenBSD 4.0 individually.
50717         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50718
50719 2008-09-15  Bruno Haible  <bruno@clisp.org>
50720
50721         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
50722         * doc/posix-functions/strerror.texi: Mention also Cygwin.
50723         * doc/posix-functions/perror.texi: Likewise.
50724         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
50725         is missing.
50726         Reported by Eric Blake.
50727
50728         * lib/errno.in.h: Use replacement values >= 2000.
50729         Reported by Eric Blake.
50730
50731 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50732
50733         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
50734         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
50735         limit.
50736         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
50737         compareseq was aborted.
50738
50739 2008-09-14  Bruno Haible  <bruno@clisp.org>
50740
50741         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
50742         yvec_edit_count.
50743         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
50744         (fstrcmp_bounded): Simplify result computation accordingly.
50745
50746 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50747
50748         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
50749         (fstrcmp): Define in terms of fstrcmp_bounded.
50750         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
50751         lower_bound argument.
50752         Return quickly if the result is certainly < lower_bound.
50753         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
50754
50755 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50756
50757         * lib/diffseq.h (EARLY_ABORT): New macro.
50758         (compareseq): Change return type to bool. Return true when EARLY_ABORT
50759         evaluates to true.
50760
50761 2008-09-14  Bruno Haible  <bruno@clisp.org>
50762
50763         * modules/perror-tests: New file.
50764         * tests/test-perror.sh: New file.
50765         * tests/test-perror.c: New file.
50766
50767         New module 'perror'.
50768         * lib/stdio.in.h (perror): New declaration.
50769         * lib/perror.c: New file.
50770         * m4/perror.m4: New file.
50771         * modules/perror: New file.
50772         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
50773         * doc/posix-functions/perror.texi: Mention the perror module.
50774         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
50775         REPLACE_PERROR.
50776         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
50777         REPLACE_PERROR.
50778
50779 2008-09-14  Bruno Haible  <bruno@clisp.org>
50780
50781         * modules/stdio (Makefile.am): Reorder to match the order in
50782         lib/stdio.in.h.
50783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50784
50785 2008-09-13  Bruno Haible  <bruno@clisp.org>
50786
50787         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
50788
50789 2008-09-13  Bruno Haible  <bruno@clisp.org>
50790
50791         Extend strerror to cover the added errno values.
50792         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
50793         (rpl_strerror): Provide error messages for the added errno values and
50794         for the WSA* values.
50795         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
50796         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
50797         strerror.
50798         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
50799         * modules/strerror (Depends-on): Add errno.
50800         * doc/posix-functions/strerror.texi: Document the change.
50801         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
50802         and EOVERFLOW.
50803
50804 2008-09-13  Bruno Haible  <bruno@clisp.org>
50805
50806         * modules/EOVERFLOW: Remove file.
50807         * m4/eoverflow.m4: Remove file.
50808         * modules/EOVERFLOW-tests: Remove file.
50809         * tests/test-EOVERFLOW.c: Remove file.
50810         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
50811         * modules/ftell (Depends-on): Likewise.
50812         * modules/getdelim (Depends-on): Likewise.
50813         * modules/getugroups (Depends-on): Likewise.
50814         * modules/poll (Depends-on): Likewise.
50815         * modules/snprintf (Depends-on): Likewise.
50816         * modules/sprintf-posix (Depends-on): Likewise.
50817         * modules/vasnprintf (Depends-on): Likewise.
50818         * modules/vasprintf (Depends-on): Likewise.
50819         * modules/vfprintf-posix (Depends-on): Likewise.
50820         * modules/vsnprintf (Depends-on): Likewise.
50821         * modules/vsprintf-posix (Depends-on): Likewise.
50822         * modules/xvasprintf (Depends-on): Likewise.
50823         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50824         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
50825         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
50826         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
50827         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50828         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
50829         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
50830         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
50831         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50832         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
50833         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
50834         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
50835         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50836         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
50837         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
50838         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
50839         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50840         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
50841         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
50842         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
50843         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50844         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
50845         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
50846         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
50847         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
50848         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50849         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
50850         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
50851         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
50852         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
50853         * MODULES.html.sh: Remove EOVERFLOW.
50854         * NEWS: Mention the change.
50855
50856 2008-09-13  Bruno Haible  <bruno@clisp.org>
50857
50858         * modules/errno-tests: New file.
50859         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
50860
50861         * lib/errno.in.h: New file.
50862         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
50863         * modules/errno: New file.
50864         * doc/posix-headers/errno.texi: Update documentation.
50865         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
50866
50867 2008-09-13  Bruno Haible  <bruno@clisp.org>
50868
50869         * tests/test-poll.c: Use #if for native Windows, rather than testing
50870         __MSVCRT__.
50871
50872 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50873             Bruno Haible  <bruno@clisp.org>
50874
50875         * lib/glob.c: Don't include <pwd.h> on native Windows.
50876         (WINDOWS32): New macro.
50877         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
50878
50879 2008-09-13  Bruno Haible  <bruno@clisp.org>
50880
50881         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
50882         (ETIMEDOUT): Remove macro.
50883         (glthread_cond_timedwait_multithreaded): New declaration.
50884         (glthread_cond_timedwait): Use it.
50885         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
50886         (glthread_cond_timedwait_multithreaded): New function.
50887
50888 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50889
50890         * modules/poll-tests: Do not check for io.h.
50891         * tests/test-poll.c: Check for __MSVCRT__ instead.
50892
50893 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50894
50895         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
50896         * modules/poll-tests: Add inet_pton, stdbool, sockets.
50897         * tests/test-poll.c: Use them.  Use _pipe on Windows.
50898
50899 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50900
50901         * modules/poll-tests: New.
50902         * tests/test-poll.c: New.
50903
50904 2008-09-12  Eric Blake  <ebb9@byu.net>
50905
50906         frexp: test for NetBSD failure on -0.0
50907         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
50908         not all, bugs from NetBSD 3.0 have been fixed.
50909         * doc/posix-functions/frexp.texi (frexp): Document bug.
50910         Reported by Thomas Klausner.
50911
50912         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
50913         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
50914         literal -0.0.
50915         Reported by Jonathan C. Patschke <jp@centtech.com>.
50916
50917 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50918
50919         * lib/glthread/cond.h: Use dummy implementation also if
50920         USE_WIN32_THREADS.
50921
50922 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50923
50924         * modules/fnmatch-posix (License): Change to LGPLv2+.
50925         * modules/fnmatch-gnu (License): Likewise.
50926
50927 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50928
50929         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
50930
50931 2008-09-11  Jim Meyering  <meyering@redhat.com>
50932
50933         * users.txt: Add gtk-vnc.
50934
50935 2008-09-08  Simon Josefsson  <simon@josefsson.org>
50936
50937         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
50938         rotate amounts.
50939
50940         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
50941         required for 16-bit and 8-bit rotates.
50942         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
50943         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
50944         UINT8_MAX instead of hard-coded constants.
50945         Suggested by Paul Eggert.
50946
50947 2008-09-07  Bruno Haible  <bruno@clisp.org>
50948
50949         * tests/test-striconveh.c (main): Check behaviour when converting from
50950         UTF-7.
50951
50952         Make striconveh work better with stateful encodings.
50953         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
50954         that iconv does not increment the inptr when returning -1/EINVAL.
50955
50956 2008-09-07  Bruno Haible  <bruno@clisp.org>
50957
50958         * build-aux/config.rpath: Update according to libtool-2.2.6.
50959         * build-aux/config.libpath: Likewise.
50960
50961 2008-09-06  Bruno Haible  <bruno@clisp.org>
50962
50963         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
50964         * lib/freadptr.c (freadptr): Likewise.
50965         * lib/freadseek.c (freadptrinc): Likewise.
50966         Reported by Simon Josefsson.
50967
50968 2008-09-06  Bruno Haible  <bruno@clisp.org>
50969
50970         * modules/freadptr (License): Change to LGPLv2+.
50971         * modules/freadseek (License): Likewise.
50972         Suggested by Eric Blake.
50973
50974         * modules/memchr2 (License): Change to LGPLv2+.
50975         Approved by Eric Blake.
50976
50977 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50978             Bruno Haible  <bruno@clisp.org>
50979
50980         Make gnulib-tool work with native 'sed' on AIX.
50981         * gnulib-tool (sed_noop): New variable.
50982         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
50983         func_add_or_update, func_create_testdir): Use it to initialize sed
50984         script variables.
50985         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50986
50987 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
50988             Bruno Haible  <bruno@clisp.org>
50989
50990         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
50991         also works after #include directives.
50992
50993 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
50994
50995         getdate.y: reject an out-of-range timezone value
50996         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
50997         the range [-24...+24].  When specified with only one or two digits,
50998         * tests/test-getdate.c: Tests for the fix.
50999         * doc/getdate.texi: Document this change.
51000
51001 2008-09-03  Bruno Haible  <bruno@clisp.org>
51002
51003         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51004
51005 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51006
51007         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51008         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51009         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51010         Blake <ebb9@byu.net>.
51011
51012         * tests/test-bitrotate.c: Add more test vectors.
51013
51014 2008-09-02  Eric Blake  <ebb9@byu.net>
51015
51016         vasnprintf-posix: handle large precision via %.*d
51017         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51018         when handling it ourselves.
51019         * tests/test-vasnprintf-posix.c (test_function): Add test.
51020         * tests/test-snprintf-posix.h (test_function): Likewise.
51021         * tests/test-sprintf-posix.h (test_function): Likewise.
51022         * tests/test-vasprintf-posix.c (test_function): Likewise.
51023         Reported by Alain Guibert.
51024
51025 2008-09-01  Eric Blake  <ebb9@byu.net>
51026
51027         c-stack: make configure-time check more robust
51028         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51029         successful sigaction call.
51030         Reported by Tom G. Christensen.
51031
51032 2008-09-01  Bruno Haible  <bruno@clisp.org>
51033
51034         New module 'findprog-lgpl'.
51035         * modules/findprog-lgpl: New file.
51036         * lib/findprog-lgpl.c: New file.
51037         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51038         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51039         to decide whether to use strdup or xstrdup, concatenated_filename or
51040         xconcatenated_filename.
51041
51042 2008-09-01  Bruno Haible  <bruno@clisp.org>
51043
51044         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51045         'xconcat-filename' (GPL).
51046         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51047         (License): Change to LGPLv2+.
51048         * modules/xconcat-filename: New file.
51049         * lib/concat-filename.h (concatenated_filename): Change specification.
51050         (xconcatenated_filename): New declaration.
51051         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51052         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51053         memory situations.
51054         * lib/xconcat-filename.c: New file.
51055         * NEWS: Mention the change.
51056         * lib/findprog.c: Include concat-filename.h, not filename.h.
51057         (find_in_path): Use xconcatenated_filename instead of
51058         concatenated_filename.
51059         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51060         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51061         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51062         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51063         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51064         instead of concatenated_filename.
51065         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51066         (execute_java_class): Use xconcatenated_filename instead of
51067         concatenated_filename.
51068         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51069         * modules/javacomp (Depends-on): Likewise.
51070         * modules/javaexec (Depends-on): Likewise.
51071
51072 2008-09-01  Bruno Haible  <bruno@clisp.org>
51073
51074         Split module 'filename' into 'filename' and 'concat-filename'.
51075         * modules/filename: Keep only lib/filename.h.
51076         (License): Change to LGPLv2+.
51077         * modules/concat-filename: New file, extracted from modules/filename.
51078         * lib/filename.h (concatenated_filename): Remove declaration.
51079         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51080         * lib/concat-filename.c: Include concat-filename.h.
51081         * NEWS: Mention the change.
51082
51083 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51084
51085         * lib/bitrotate.h (rotl8, rotr8): Add.
51086
51087         * modules/bitrotate (configure.ac): Need
51088         AC_REQUIRE([AC_C_INLINE]).
51089         (Description): Mention stdint.h.  Reported by Bruno Haible
51090         <bruno@clisp.org>.
51091
51092         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51093         Paolo Bonzini <bonzini@gnu.org>.
51094
51095 2008-08-31  Bruno Haible  <bruno@clisp.org>
51096
51097         Assume Solaris specific bi-arch conventions on Solaris systems.
51098         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51099         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51100         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51101         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51102         like acl_libdirstem.
51103         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51104         acl_libdirstem.
51105         * NEWS: Mention the change.
51106         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51107
51108 2008-08-31  Jim Meyering  <meyering@redhat.com>
51109
51110         * lib/strftime.h: Add comments describing the two added arguments.
51111
51112         remove duplicate #include directives
51113         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51114         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51115
51116 2008-08-31  Bruno Haible  <bruno@clisp.org>
51117
51118         New module 'sigpipe-die'.
51119         * modules/sigpipe-die: New file.
51120         * lib/sigpipe-die.h: New file.
51121         * lib/sigpipe-die.c: New file.
51122         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51123
51124 2008-08-31  Bruno Haible  <bruno@clisp.org>
51125
51126         Don't override previously installed signal handlers.
51127         * lib/fatal-signal.c (saved_sigactions): New variable.
51128         (uninstall_handlers): Reset the signal to the saved handler, not
51129         to SIG_DFL (except when ignored).
51130         (install_handlers): Save the previous handlers.
51131
51132 2008-08-30  Bruno Haible  <bruno@clisp.org>
51133
51134         * gnulib-tool (func_reset_sigpipe): New function.
51135         (func_get_automake_snippet, func_modules_transitive_closure,
51136         func_import): Invoke it before a join command that reads from stdin,
51137         to avoid "echo: write error: Broken pipe" error messages on stderr.
51138         Reported by Sam Steingold <sds@gnu.org>.
51139
51140 2008-08-30  Bruno Haible  <bruno@clisp.org>
51141
51142         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51143         Code copied from m4/open.m4.
51144         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51145         access and the filename ends in a slash. Code copied from lib/open.c.
51146         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51147         * tests/test-fopen.c (main): Check against bug with trailing slash.
51148
51149 2008-08-29  Bruno Haible  <bruno@clisp.org>
51150
51151         Avoid some "gcc -pedantic" warnings.
51152         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51153         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51154         * lib/dirent.in.h: Likewise.
51155         * lib/fcntl.in.h: Likewise.
51156         * lib/float.in.h: Likewise.
51157         * lib/iconv.in.h: Likewise.
51158         * lib/inttypes.in.h: Likewise.
51159         * lib/locale.in.h: Likewise.
51160         * lib/math.in.h: Likewise.
51161         * lib/netinet_in.in.h: Likewise.
51162         * lib/search.in.h: Likewise.
51163         * lib/signal.in.h: Likewise.
51164         * lib/stdarg.in.h: Likewise.
51165         * lib/stdint.in.h: Likewise.
51166         * lib/stdio.in.h: Likewise.
51167         * lib/stdlib.in.h: Likewise.
51168         * lib/string.in.h: Likewise.
51169         * lib/strings.in.h: Likewise.
51170         * lib/sys_select.in.h: Likewise.
51171         * lib/sys_socket.in.h: Likewise.
51172         * lib/sys_stat.in.h: Likewise.
51173         * lib/sys_time.in.h: Likewise.
51174         * lib/sysexits.in.h: Likewise.
51175         * lib/time.in.h: Likewise.
51176         * lib/unistd.in.h: Likewise.
51177         * lib/wchar.in.h: Likewise.
51178         * lib/wctype.in.h: Likewise.
51179         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51180         * modules/fchdir (Makefile.am): Likewise.
51181         * modules/fcntl (Makefile.am): Likewise.
51182         * modules/float (Makefile.am): Likewise.
51183         * modules/iconv_open (Makefile.am): Likewise.
51184         * modules/inttypes (Makefile.am): Likewise.
51185         * modules/locale (Makefile.am): Likewise.
51186         * modules/math (Makefile.am): Likewise.
51187         * modules/netinet_in (Makefile.am): Likewise.
51188         * modules/search (Makefile.am): Likewise.
51189         * modules/signal (Makefile.am): Likewise.
51190         * modules/stdarg (Makefile.am): Likewise.
51191         * modules/stdint (Makefile.am): Likewise.
51192         * modules/stdio (Makefile.am): Likewise.
51193         * modules/stdlib (Makefile.am): Likewise.
51194         * modules/string (Makefile.am): Likewise.
51195         * modules/strings (Makefile.am): Likewise.
51196         * modules/sys_select (Makefile.am): Likewise.
51197         * modules/sys_socket (Makefile.am): Likewise.
51198         * modules/sys_stat (Makefile.am): Likewise.
51199         * modules/sys_time (Makefile.am): Likewise.
51200         * modules/sysexits (Makefile.am): Likewise.
51201         * modules/time (Makefile.am): Likewise.
51202         * modules/unistd (Makefile.am): Likewise.
51203         * modules/wchar (Makefile.am): Likewise.
51204         * modules/wctype (Makefile.am): Likewise.
51205         Reported by Reuben Thomas <rrt@sc3d.org>.
51206
51207 2008-08-29  Bruno Haible  <bruno@clisp.org>
51208
51209         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51210         any more.
51211
51212 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51213
51214         * MODULES.html.sh (Misc): Add bitrotate.
51215
51216         * modules/bitrotate: New file.
51217
51218         * lib/bitrotate.h: New file.
51219
51220         * modules/bitrotate-tests: New file.
51221
51222         * tests/test-bitrotate.c: New file.
51223
51224         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51225         on the bitrotate module.
51226
51227         * lib/arctwo.c: Use new bitrotate module.
51228
51229 2008-08-29  Jim Meyering  <meyering@redhat.com>
51230
51231         bootstrap: merge changes from coreutils
51232         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51233         of copied files.  Remove a kludge, now that this is fixed.
51234         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51235         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51236         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51237
51238 2008-08-29  Bruno Haible  <bruno@clisp.org>
51239
51240         * MODULES.html.sh: Remove --cvs-urls option.
51241
51242 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51243
51244         maint.mk: adjust to file name change
51245         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51246
51247 2008-08-28  Jim Meyering  <meyering@redhat.com>
51248
51249         * modules/getndelim2 (License): Relicense to LGPLv2+.
51250         Approved by Richard Stallman for the version of 1995, and by
51251         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51252
51253 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51254
51255         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51256         dummy if one is not available.  Do not touch them if
51257         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51258         (getc_maybe_unlocked): New.
51259         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51260
51261 2008-08-26  Eric Blake  <ebb9@byu.net>
51262
51263         doc/INSTALL: resync from autoconf
51264         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51265         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51266         moving...
51267         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51268         * INSTALL: Regenerate.
51269         * INSTALL.ISO: New file.
51270         * INSTALL.UTF-8: Likewise.
51271
51272 2008-08-26  Jim Meyering  <meyering@redhat.com>
51273
51274         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51275         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51276         these definitions conditional, so that they may be overridden, too.
51277
51278 2008-08-26  Bruno Haible  <bruno@clisp.org>
51279
51280         Generate INSTALL file variants with prettier quotes.
51281         * doc/Makefile (INSTALL_PRELUDE): New macro.
51282         (INSTALL): Use it.
51283         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51284
51285 2008-08-26  Bruno Haible  <bruno@clisp.org>
51286
51287         Run makeinfo in an English locale.
51288         * doc/Makefile (MAKEINFO): New variable.
51289
51290 2008-08-26  Bruno Haible  <bruno@clisp.org>
51291
51292         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51293         Suggested by Eric Blake.
51294
51295 2008-08-25  Bruno Haible  <bruno@clisp.org>
51296
51297         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51298
51299 2008-08-25  Eric Blake  <ebb9@byu.net>
51300
51301         c-stack: test that stack overflow can be caught
51302         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51303         that platform allows handling stack overflow; at least OS/2 EMX
51304         has sigaltstack, but crashes before transferring control to
51305         handler on stack overflow.
51306         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51307         check for HAVE_STACK_OVERFLOW_HANDLING.
51308         Reported by Elbert Pol.
51309
51310 2008-08-25  Bruno Haible  <bruno@clisp.org>
51311
51312         * doc/posix-functions/strftime.texi: Fix description of strftime
51313         module.
51314
51315 2008-08-24  Bruno Haible  <bruno@clisp.org>
51316
51317         * tests/uniwidth/test-uc_width2.c: New file.
51318         * tests/uniwidth/test-uc_width2.sh: New file.
51319         * modules/uniwidth/width-tests (Files): Add the new files.
51320         (TESTS): Add uniwidth/test-uc_width2.sh.
51321         (TESTS_ENVIRONMENT): New variable.
51322         (check_PROGRAMS): Add test-uc_width2.
51323         (test_uc_width2_SOURCES): New variable.
51324
51325         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
51326         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
51327         not 0x00AB.
51328         Reported by Alexander V. Lukyanov <lav@netis.ru>.
51329
51330 2008-08-22  Eric Blake  <ebb9@byu.net>
51331
51332         test-lock, test-tls: mention why a test is skipped
51333         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
51334         skipped.
51335         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51336
51337         count-one-bits: relax license
51338         * modules/count-one-bits (License): Relicense to LGPLv2+.
51339         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51340
51341 2008-08-22  Andreas Schwab  <schwab@suse.de>
51342
51343         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51344         Remove spurious space in assignment.
51345
51346 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51347
51348         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51349         Paul Eggert <eggert@CS.UCLA.EDU>.
51350
51351 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51352
51353         * modules/gettext: Add m4/threadlib.m4.
51354
51355 2008-08-19  Eric Blake  <ebb9@byu.net>
51356
51357         test-c-stack: fix compilation failure on FreeBSD 5.0
51358         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
51359         headers before <sys/resource.h>.
51360         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
51361         the bug.
51362         Reported by Nelson H. F. Beebe.
51363
51364         strverscmp: migrate from "strverscmp.h" to <string.h>
51365         * modules/string (Makefile.am): Add new hooks.
51366         * modules/strverscmp (Files): Remove strverscmp.h.
51367         (Depends-on): Add string.
51368         (configure.ac): Add indicator.
51369         (Include): Mention new header.
51370         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
51371         defaults.
51372         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
51373         results.
51374         * lib/strverscmp.h: Delete.
51375         * lib/string.in.h (strverscmp): Provide declaration, when needed.
51376         * tests/test-strverscmp.c (includes): Adjust client.
51377         * lib/check-version.c (includes): Likewise.
51378         * NEWS: Document the change.
51379
51380         strverscmp: add unit test
51381         * modules/strverscmp-tests: New file.
51382         * tests/test-strverscmp.c: Likewise.
51383
51384 2008-08-19  Simon Josefsson  <simon@josefsson.org>
51385
51386         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
51387         regarding Windows crypto stuff, from Mono.
51388
51389 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
51390
51391         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
51392         if present, for intel RND.  Return error on failures.
51393
51394 2008-08-18  Ben Pfaff  <blp@gnu.org>
51395
51396         gitlog-to-changelog: give better diagnostic for failed pipe-open
51397         * build-aux/gitlog-to-changelog: Improve error message: suggest
51398         that the version of Git may be too old.
51399
51400 2008-08-18  Simon Josefsson  <simon@josefsson.org>
51401
51402         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
51403         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
51404
51405 2008-08-18  Bruno Haible  <bruno@clisp.org>
51406
51407         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
51408         pthread_in_use().
51409
51410 2008-08-18  Bruno Haible  <bruno@clisp.org>
51411
51412         * lib/glthread/threadlib.c: Include <pthread.h>.
51413
51414 2008-08-18  Bruno Haible  <bruno@clisp.org>
51415
51416         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
51417         glthread_recursive_lock_* macros.
51418         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
51419         Fix syntax error.
51420
51421 2008-08-18  Bruno Haible  <bruno@clisp.org>
51422
51423         * lib/glthread/thread.c: Avoid forcing a context switch right after
51424         thread creation.
51425
51426 2008-08-17  Bruno Haible  <bruno@clisp.org>
51427
51428         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
51429         * lib/glthread/thread.h: Provide Win32 specific implementation.
51430         * modules/thread (Files): Add lib/glthread/thread.c.
51431         (Depends-on): Add lock.
51432         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
51433
51434 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51435
51436         New module 'yield'.
51437         * modules/yield: New file.
51438         * lib/glthread/yield.h: New file.
51439         * m4/yield.m4: New file.
51440         * MODULES.html.sh (Multithreading): Add yield.
51441
51442 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51443
51444         New module 'thread'.
51445         * modules/thread: New file.
51446         * lib/glthread/thread.h: New file.
51447         * m4/thread.m4: New file.
51448         * MODULES.html.sh (Multithreading): Add thread.
51449
51450 2008-08-17  Bruno Haible  <bruno@clisp.org>
51451
51452         * lib/glthread/lock.h: Include <stdlib.h> always.
51453         * lib/glthread/tls.h: Likewise.
51454         * lib/glthread/cond.h: Likewise.
51455
51456 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51457
51458         New module 'cond'.
51459         * modules/cond: New file.
51460         * lib/glthread/cond.h: New file.
51461         * lib/glthread/cond.c: New file.
51462         * m4/cond.m4: New file.
51463         * MODULES.html.sh (Multithreading): Add cond.
51464
51465 2008-08-16  Eric Blake  <ebb9@byu.net>
51466
51467         c-stack: fix regression on Irix 5.3 from 2008-06-21
51468         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
51469         sa_sigaction...
51470         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
51471         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
51472         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
51473         * modules/signal (Makefile.am): Use the value.
51474         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
51475         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
51476         * doc/posix-headers/signal.texi (signal.h): Document this
51477         portability issue.
51478         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
51479         Reported by Tom G. Christensen.
51480
51481 2008-08-17  Bruno Haible  <bruno@clisp.org>
51482
51483         New module 'threadlib'.
51484         * modules/threadlib: New file.
51485         * lib/glthread/threadlib.c: New file, extracted from
51486         lib/glthread/lock.c.
51487         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
51488         functions.
51489         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
51490         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
51491         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
51492         macros.
51493         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
51494         (gl_DISABLE_THREADS): Remove macro.
51495         * modules/lock (Files): Remove build-aux/config.rpath.
51496         (Depends-on): Remove havelib. Add threadlib.
51497         (configure.ac-early): Remove section.
51498         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
51499         * modules/tls (Depends-on): Remove lock. Add threadlib.
51500         (Link): New section, copied from threadlib.
51501         * MODULES.html.sh (Multithreading): Add threadlib.
51502
51503 2008-08-14  Bruno Haible  <bruno@clisp.org>
51504
51505         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
51506         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
51507         glthread_rwlock_unlock, glthread_rwlock_destroy,
51508         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
51509         glthread_recursive_lock_destroy): Define as macros always.
51510         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
51511         glthread_lock_lock.
51512         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
51513         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
51514         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
51515         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
51516         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
51517         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
51518         (glthread_recursive_lock_lock_func): Renamed from
51519         glthread_recursive_lock_lock.
51520         (glthread_recursive_lock_unlock_func): Renamed from
51521         glthread_recursive_lock_unlock.
51522         (glthread_recursive_lock_destroy_func): Renamed from
51523         glthread_recursive_lock_destroy.
51524
51525 2008-08-14  Bruno Haible  <bruno@clisp.org>
51526
51527         * lib/glthread/lock.h: Renamed from lib/lock.h.
51528         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
51529         * lib/glthread/tls.h: Renamed from lib/tls.h.
51530         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
51531         * lib/fstrcmp.c: Update includes.
51532         * lib/strsignal.c: Update includes.
51533         * modules/lock (Files, Makefile.am): Update.
51534         (Include): Change to "glthread/lock.h".
51535         * modules/tls (Files, Makefile.am): Update.
51536         (Include): Change to "glthread/tls.h".
51537         * tests/test-lock.c: Update includes.
51538         * tests/test-tls.c: Update includes.
51539         * NEWS: Mention the renamed header files.
51540
51541 2008-08-11  Jim Meyering  <meyering@redhat.com>
51542
51543         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
51544
51545 2008-08-11  Eric Blake  <ebb9@byu.net>
51546
51547         test-c-stack: avoid C99-ism
51548         * tests/test-c-stack.c (main): Fix whitespace, move declaration
51549         before statement.
51550         Reported by Alain Guibert.
51551
51552 2008-08-10  Jim Meyering  <meyering@redhat.com>
51553
51554         ensure that return value of uinttostr et al are not ignored
51555         * lib/inttostr.h (__GNUC_PREREQ): Define.
51556         (__attribute_warn_unused_result__): Define.
51557         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
51558
51559 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
51560
51561         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
51562         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
51563
51564 2008-08-07  Jim Meyering  <meyering@redhat.com>
51565
51566         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
51567
51568         * modules/mkstemp (License): Relicense under LGPLv2+.
51569         * modules/tempname (License): Likewise.
51570
51571 2008-08-06  Bruno Haible  <bruno@clisp.org>
51572
51573         * lib/poll.c (poll): Further micro-optimization.
51574
51575 2008-08-06  Jim Meyering  <meyering@redhat.com>
51576
51577         inet_pton.c: use locale-independent tolower
51578         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
51579         (inet_pton6): Use c_tolower rather than tolower.
51580         * modules/inet_pton (Depends-on): Add c-ctype.
51581
51582 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
51583
51584         * lib/poll.c (poll): Avoid division when timeout is 0, cache
51585         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
51586
51587 2008-08-06  Jim Meyering  <meyering@redhat.com>
51588
51589         * modules/inet_pton (License): Relicense under LGPLv2+.
51590
51591 2008-08-03  Bruno Haible  <bruno@clisp.org>
51592
51593         Additional non-aborting API for lock and tls.
51594         * lib/lock.h: Include <errno.h>.
51595         (glthread_lock_init): New macro/function.
51596         (gl_lock_init): Define as wrapper around glthread_lock_init.
51597         (glthread_lock_lock): New macro/function.
51598         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
51599         (glthread_lock_unlock): New macro/function.
51600         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
51601         (glthread_lock_destroy): New macro/function.
51602         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
51603         (glthread_rwlock_init): New macro/function.
51604         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
51605         (glthread_rwlock_rdlock): New macro/function.
51606         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
51607         (glthread_rwlock_wrlock): New macro/function.
51608         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
51609         (glthread_rwlock_unlock): New macro/function.
51610         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
51611         (glthread_rwlock_destroy): New macro/function.
51612         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
51613         (glthread_recursive_lock_init): New macro/function.
51614         (gl_recursive_lock_init): Define as wrapper around
51615         glthread_recursive_lock_init.
51616         (glthread_recursive_lock_lock): New macro/function.
51617         (gl_recursive_lock_lock): Define as wrapper around
51618         glthread_recursive_lock_lock.
51619         (glthread_recursive_lock_unlock): New macro/function.
51620         (gl_recursive_lock_unlock): Define as wrapper around
51621         glthread_recursive_lock_unlock.
51622         (glthread_recursive_lock_destroy): New macro/function.
51623         (gl_recursive_lock_destroy): Define as wrapper around
51624         glthread_recursive_lock_destroy.
51625         (glthread_once): New macro/function.
51626         (gl_once): Define as wrapper around glthread_once.
51627         Update function declarations.
51628         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
51629         glthread_rwlock_init. Return error code.
51630         (glthread_rwlock_rdlock_multithreaded): Renamed from
51631         glthread_rwlock_rdlock. Return error code.
51632         (glthread_rwlock_wrlock_multithreaded): Renamed from
51633         glthread_rwlock_wrlock. Return error code.
51634         (glthread_rwlock_unlock_multithreaded): Renamed from
51635         glthread_rwlock_unlock. Return error code.
51636         (glthread_rwlock_destroy_multithreaded): Renamed from
51637         glthread_rwlock_destroy. Return error code.
51638         (glthread_recursive_lock_init_multithreaded): Renamed from
51639         glthread_recursive_lock_init. Return error code.
51640         (glthread_recursive_lock_lock_multithreaded): Renamed from
51641         glthread_recursive_lock_lock. Return error code.
51642         (glthread_recursive_lock_unlock_multithreaded): Renamed from
51643         glthread_recursive_lock_unlock. Return error code.
51644         (glthread_recursive_lock_destroy_multithreaded): Renamed from
51645         glthread_recursive_lock_destroy. Return error code.
51646         (glthread_once_call): Make static.
51647         (glthread_once_multithreaded): Renamed from glthread_once.
51648         * lib/tls.h: Include <errno.h>.
51649         (glthread_tls_key_init): New macro/function.
51650         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
51651         (glthread_tls_set): New macro/function.
51652         (gl_tls_set): Define as wrapper around glthread_tls_set.
51653         (glthread_tls_key_destroy): New macro/function.
51654         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
51655         Update function declarations.
51656         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
51657         glthread_tls_get.
51658         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51659
51660 2008-08-04  Eric Blake  <ebb9@byu.net>
51661
51662         gnumakefile: use space, not TAB, outside of targets
51663         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
51664
51665 2008-08-02  Jim Meyering  <meyering@redhat.com>
51666
51667         getdate.y: avoid locale-dependent date parsing failure
51668         In Turkish locales, getdate would fail to recognize keywords
51669         containing a lowercase "i".  The solution is not to rely on
51670         locale-sensitive case-conversion.
51671         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
51672         (lookup_word): Use c_toupper in place of toupper.
51673         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
51674         Reported by Vefa Bicakci <bicave@superonline.com> in
51675         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
51676         * modules/getdate (Depends-on): Add c-ctype.
51677
51678 2008-08-02  Bruno Haible  <bruno@clisp.org>
51679
51680         * gnulib-tool (func_import): When updating or creating a .gitignore
51681         file, prepend each added line with a slash, and ignore leading slashes
51682         from the existing lines.
51683         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51684
51685 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51686
51687         Portability fix for GNU make 3.79.1.
51688         * top/GNUmakefile: Avoid 'else COND', which older GNU make
51689         versions do not understand.
51690
51691 2008-08-01  Bruno Haible  <bruno@clisp.org>
51692
51693         Work around bug of HP-UX 10.20 cc with -0.0 literal.
51694         * tests/test-isnanf.h (zero): New variable.
51695         (main): Avoid literal -0.0f.
51696         * tests/test-isnand.h (zero): New variable.
51697         (main): Avoid literal -0.0.
51698         * tests/test-isnanl.h (zero): New variable.
51699         (main): Avoid literal -0.0L.
51700         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
51701         (test_float, test_double, test_long_double): Avoid literals -0.0f,
51702         -0.0, -0.0L.
51703         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
51704         (test_signbitd): Avoid literal -0.0.
51705         (test_signbitl): Avoid literal -0.0L.
51706         * tests/test-ceilf1.c (zero): New variable.
51707         (main): Avoid literal -0.0f.
51708         * tests/test-ceill.c (zero): New variable.
51709         (main): Avoid literal -0.0L.
51710         * tests/test-floorf1.c (zero): New variable.
51711         (main): Avoid literal -0.0f.
51712         * tests/test-floorl.c (zero): New variable.
51713         (main): Avoid literal -0.0L.
51714         * tests/test-roundf1.c (zero): New variable.
51715         (main): Avoid literal -0.0f.
51716         * tests/test-round1.c (zero): New variable.
51717         (main): Avoid literal -0.0.
51718         * tests/test-roundl.c (zero): New variable.
51719         (main): Avoid literal -0.0L.
51720         * tests/test-truncf1.c (zero): New variable.
51721         (main): Avoid literal -0.0f.
51722         * tests/test-trunc1.c (zero): New variable.
51723         (main): Avoid literal -0.0.
51724         * tests/test-truncl.c (zero): New variable.
51725         (main): Avoid literal -0.0L.
51726         * tests/test-frexp.c (zero): New variable.
51727         (main): Avoid literal -0.0.
51728         * tests/test-frexpl.c (zero): New variable.
51729         (main): Avoid literal -0.0L.
51730         * tests/test-ldexpl.c (zero): New variable.
51731         (main): Avoid literal -0.0L.
51732         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51733         (zerod, zerol): New variables.
51734         (test_function): Avoid literals -0.0, -0.0L.
51735         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51736         (zerod, zerol): New variables.
51737         (test_function): Avoid literals -0.0, -0.0L.
51738         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51739         (zerod, zerol): New variables.
51740         (test_function): Avoid literals -0.0, -0.0L.
51741         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51742         (zerod, zerol): New variables.
51743         (test_function): Avoid literals -0.0, -0.0L.
51744         * tests/test-strtod.c (zero): New variable.
51745         (main): Avoid literal -0.0.
51746         Reported by Jonathan C. Patschke <jp@centtech.com>.
51747
51748 2008-07-31  Jim Meyering  <meyering@redhat.com>
51749
51750         sha256.h: correct definition of SHA224_DIGEST_SIZE
51751         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
51752         Reported by Paulie Pena IV <paulie4@gmail.com>.
51753         Define as 224 / 8, rather than as a literal.
51754         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
51755         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
51756         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
51757
51758 2008-07-31  Bruno Haible  <bruno@clisp.org>
51759
51760         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
51761         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
51762         Reported by Jonathan Patschke <jp@centtech.com>.
51763
51764 2008-07-31  Bruno Haible  <bruno@clisp.org>
51765
51766         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
51767         Reported by Paolo Bonzini <bonzini@gnu.org>.
51768
51769 2008-07-30  Eric Blake  <ebb9@byu.net>
51770
51771         test-strtod: allow compilation without -lm
51772         * tests/test-strtod.c (main): Avoid link dependence on fabs.
51773         Reported by Dennis Clarke <blastwave@gmail.com>.
51774
51775 2008-07-28  Jim Meyering  <meyering@redhat.com>
51776
51777         bootstrap: work also when there are no .po files in po/
51778         * build-aux/bootstrap (update_po_files): Complete the change
51779         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
51780
51781 2008-07-27  Jim Meyering  <meyering@redhat.com>
51782
51783         * users.txt: Add zile.
51784
51785 2008-07-26  Ben Pfaff  <blp@gnu.org>
51786
51787         Add missing dependencies on new m4/exponent[fdl].m4 files.
51788         * modules/isnanf-nolibm: Add m4/exponentf.m4.
51789         * modules/isnand-nolibm: Add m4/exponentd.m4.
51790         * modules/isnanl-nolibm: Add m4/exponentl.m4.
51791         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
51792         m4/isnan[fdl].m4, because the macros actually used moved.
51793         Reported by Jim Meyering.
51794
51795 2008-07-14  Ben Pfaff  <blp@gnu.org>
51796
51797         Add isinf module.
51798         * lib/isinf.c: New file.
51799         * lib/math.in.h: Define isinf macro if we have decided to replace
51800         it.
51801         * m4/isinf.m4: New file.
51802         * m4/math_h.m4: Initialize and substitute variables for isinf
51803         module.
51804         * modules/isinf: New file.
51805         * modules/isinf-tests: New file.
51806         * modules/math: Add substitutions for new module.
51807         * tests/test-isinf.c: New file.
51808         * doc/posix-functions/isinf.texi: Mention new module.
51809         * MODULES.html.sh: Mention new module.
51810
51811 2008-07-14  Ben Pfaff  <blp@gnu.org>
51812
51813         Factor out some macros for use by additional modules.
51814         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
51815         exponentf.m4.
51816         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
51817         exponentd.m4.
51818         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
51819         file exponentl.m4.
51820         * m4/exponentf.m4: New file.
51821         * m4/exponentd.m4: New file.
51822         * m4/exponentl.m4: New file.
51823         * modules/isnanf: Use new file m4/exponentf.m4.
51824         * modules/isnand: Use new file m4/exponentd.m4.
51825         * modules/isnanl: Use new file m4/exponentl.m4.
51826
51827 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
51828
51829         mktime.c: normalize tp->tm_isdst value to -1/0/1.
51830         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
51831         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
51832         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
51833
51834         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
51835         readlink on platforms without PATH_MAX.
51836
51837 2008-07-21  Eric Blake  <ebb9@byu.net>
51838
51839         Warn, not fail, on stale version.
51840         * top/GNUmakefile (_curr-ver): Tone down previous patch.
51841
51842         Don't allow installation with stale devel version number.
51843         * top/GNUmakefile (_is-install-target): New macro.
51844         (_curr-ver): Forbid installation with stale version number.
51845
51846 2008-07-20  Bruno Haible  <bruno@clisp.org>
51847
51848         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
51849         TESTS_ENVIRONMENT.
51850         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
51851
51852 2008-07-20  Bruno Haible  <bruno@clisp.org>
51853
51854         * lib/c-stack.h (c_stack_action): Add documentation.
51855         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
51856
51857 2008-07-20  Bruno Haible  <bruno@clisp.org>
51858
51859         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
51860         * modules/readlink (License): Likewise.
51861
51862 2008-07-17  Eric Blake  <ebb9@byu.net>
51863
51864         * modules/c-stack (Link): Fix typo.
51865
51866         Make c-stack use libsigsegv, when available.
51867         * modules/c-stack (Depends-on): Add libsigsegv.
51868         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
51869         needed.
51870         * lib/c-stack.c (SIGSTKSZ): Define fallback.
51871         (segv_handler, overflow_handler, c_stack_action)
51872         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
51873         implementation when libsigsegv is available, but only when using
51874         the library is necessary.
51875         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
51876         comment, explaining why XSI check fails on Linux.
51877         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
51878         * tests/test-c-stack2.sh: Tweak skip message.
51879         * NEWS: Document new link-time requirements.
51880
51881 2008-07-16  Eric Blake  <ebb9@byu.net>
51882
51883         c-stack: Expose false positives when not using libsigsegv.
51884         * modules/c-stack-tests (Files): Expand test.
51885         * tests/test-c-stack.c (main): Add means to conditionally trigger
51886         non-overflow SIGSEGV.
51887         * tests/test-c-stack2.sh: New file.
51888
51889 2008-07-14  Bruno Haible  <bruno@clisp.org>
51890
51891         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
51892         Reported by Eric Blake.
51893
51894 2008-07-14  Sam Steingold  <sds@gnu.org>
51895             Bruno Haible  <bruno@clisp.org>
51896
51897         New module libsigsegv.
51898         * modules/libsigsegv: New file.
51899         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
51900         modifications.
51901         * MODULES.html.sh (Signal handling): New section.
51902
51903 2008-07-14  Bruno Haible  <bruno@clisp.org>
51904
51905         * modules/unictype/ctype-* (Description): Add the word "function".
51906         Improves the resulting doc in MODULES.html.
51907
51908 2008-07-12  Ben Pfaff  <blp@gnu.org>
51909
51910         Add longlong module.
51911         * modules/longlong: New file.
51912
51913 2008-07-12  Bruno Haible  <bruno@clisp.org>
51914
51915         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
51916         to empty.
51917
51918 2008-07-10  Ben Pfaff  <blp@gnu.org>
51919
51920         Add isnan module.
51921         * doc/posix-functions/isnan.texi: Mention new module.
51922         * lib/math.in.h: Define isnan macro if we have decided to replace
51923         it.
51924         * m4/isnan.m4: New file.
51925         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
51926         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
51927         also.
51928         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
51929         redundancy.
51930         * m4/math_h.m4: Initialize and substitute variables for isnan
51931         module.
51932         * modules/isnan: New file.
51933         * modules/isnan-tests: New file.
51934         * modules/math: Add substitutions for new module.
51935         * tests/test-isnan.c: New file.
51936         * MODULES.html.sh: Mention new module.
51937
51938 2008-07-10  Ben Pfaff  <blp@gnu.org>
51939
51940         Add isnanf module.
51941         * lib/isnanf.m4: New file.
51942         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
51943         (gl_HAVE_ISNANF_IN_LIBM): New macro.
51944         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
51945         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
51946         * modules/isnanf: New file.
51947         * modules/isnanf-tests: New file.
51948         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
51949         files.
51950         * tests/test-isnanf-nolibm.c: factored most of its contents into
51951         new file tests/test-isnanf.h.
51952         * tests/test-isnanf.h: New file.
51953         * tests/test-isnanf.c: New file.
51954         * MODULES.html.sh: Mention new module.
51955         * doc/glibc-functions/isnanf.texi: Mention new module.
51956
51957 2008-07-10  Ben Pfaff  <blp@gnu.org>
51958
51959         Add isnand module.
51960         * lib/isnand.h: New file.
51961         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
51962         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
51963         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
51964         functionality also.
51965         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
51966         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
51967         (gl_HAVE_ISNAND_IN_LIBM): New macro.
51968         * modules/isnand: New file.
51969         * modules/isnand-tests: New file.
51970         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
51971         files.
51972         * tests/test-isnand-nolibm.c: factored most of its contents into
51973         new file tests/test-isnand.h.
51974         * tests/test-isnand.h: New file.
51975         * tests/test-isnand.c: New file.
51976         * MODULES.html.sh: Mention new module.
51977
51978 2008-07-10  Ben Pfaff  <blp@gnu.org>
51979
51980         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
51981         * lib/isnand.h: Rename lib/isnand-nolibm.h.
51982         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
51983         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
51984         * modules/isnanf-nolibm: Update references to renamed files.
51985         * modules/isnand-nolibm: Likewise.
51986         * modules/isnanf-nolibm-tests: Likewise.
51987         * modules/isnand-nolibm-tests: Likewise.
51988         * lib/frexp.c: Likewise.
51989         * lib/isfinite.c: Likewise.
51990         * lib/signbitd.c: Likewise.
51991         * lib/signbitf.c: Likewise.
51992         * lib/vasnprintf.c: Likewise.
51993         * tests/test-ceilf1.c: Likewise.
51994         * tests/test-ceilf2.c: Likewise.
51995         * tests/test-floorf1.c: Likewise.
51996         * tests/test-floorf2.c: Likewise.
51997         * tests/test-frexp.c: Likewise.
51998         * tests/test-round1.c: Likewise.
51999         * tests/test-round2.c: Likewise.
52000         * tests/test-roundf1.c: Likewise.
52001         * tests/test-strtod.c: Likewise.
52002         * tests/test-trunc1.c: Likewise.
52003         * tests/test-trunc2.c: Likewise.
52004         * tests/test-truncf1.c: Likewise.
52005         * tests/test-truncf2.c: Likewise.
52006         * NEWS: Mention the renamed header files.
52007
52008 2008-07-11  Jim Meyering  <meyering@redhat.com>
52009
52010         vc-list-files: make the last-resort awk code more portable
52011         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52012         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52013         does not support it.
52014
52015 2008-07-10  Eric Blake  <ebb9@byu.net>
52016
52017         Work with tar's bootstrap.
52018         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52019         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52020         an m4 comment.
52021
52022 2008-07-09  Jim Meyering  <meyering@redhat.com>
52023
52024         posix-shell.m4: fix typo that made this test malfunction
52025         * m4/posix-shell.m4: Remove capitalization in variable name.
52026
52027 2008-07-08  Bruno Haible  <bruno@clisp.org>
52028
52029         * m4/onceonly.m4: Update comments.
52030         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52031
52032 2008-07-04  Jim Meyering  <meyering@redhat.com>
52033
52034         * users.txt: Add vc-dwim.
52035         (bison, coreutils): Use the gitweb URL.
52036
52037 2008-07-03  Jim Meyering  <meyering@redhat.com>
52038
52039         * users.txt: Add libffcall.  From Sam Steingold.
52040
52041 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
52042
52043         getdate.y: do not ignore TZ with relative day, month or year offset
52044         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52045         relative-date-handling, since otherwise, the latter would clobber the
52046         sole output (an updated Start value) of the tz-handling block.
52047         * tests/test-getdate.c: Tests for the fix
52048
52049 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52050
52051         Recognize 'foo_LIBRARIES += libgnu.a'.
52052         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52053         makefile snippet has already specified an installation location,
52054         also using '+='.
52055
52056 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
52057
52058         getdate.y: factor out common actions
52059         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52060         Use them in place of open-coded actions.
52061
52062 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52063
52064         Add self-test for getdate module.
52065         * modules/getdate-tests: New file.
52066         * tests/test-getdate.c: New file.
52067
52068 2008-06-29  Bruno Haible  <bruno@clisp.org>
52069
52070         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52071         .gitignore.
52072         Reported by Sylvain Beucler <beuc@beuc.net>.
52073
52074 2008-06-29  Bruno Haible  <bruno@clisp.org>
52075
52076         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52077         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52078
52079 2008-06-29  Bruno Haible  <bruno@clisp.org>
52080
52081         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52082         EXTRA_DIST.
52083         Reported by Sylvain Beucler <beuc@beuc.net>.
52084
52085 2008-06-26  Jim Meyering  <meyering@redhat.com>
52086
52087         make several modules depend on the "open" module
52088         This provides slightly increased consistency when opening-for-write
52089         the name of a non-directory spelled with a trailing slash.
52090         * modules/chdir-safer: Likewise.
52091         * modules/chown: Likewise.
52092         * modules/clean-temp: Likewise.
52093         * modules/copy-file: Likewise.
52094         * modules/fchdir: Likewise.
52095         * modules/fcntl-safer: Likewise.
52096         * modules/pipe: Likewise.
52097         * modules/utime: Likewise.
52098         Prompted by Eric Blake and Bruno Haible.
52099
52100 2008-06-24  Andreas Schwab  <schwab@suse.de>
52101
52102         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52103         literals can be used as initializers for global variables.
52104
52105 2008-06-23  Eric Blake  <ebb9@byu.net>
52106
52107         Make gnulib-cache.m4 easier to diff.
52108         * gnulib-tool (func_import): Allow newlines when reading cached
52109         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52110
52111 2008-06-23  Bruno Haible  <bruno@clisp.org>
52112
52113         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52114         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52115         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52116         m4/signalblocking.m4.
52117         (gl_PREREQ_SIGACTION): Don't invoke it.
52118         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52119         gl_PREREQ_SIG_HANDLER_H.
52120         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52121         Don't check for sigaction here.
52122
52123 2008-06-23  Bruno Haible  <bruno@clisp.org>
52124
52125         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52126         (install_handlers): Don't set the SA_RESETHAND flag.
52127
52128 2008-06-23  Bruno Haible  <bruno@clisp.org>
52129
52130         * m4/sigaction.m4: Comment fixes.
52131         * lib/signal.in.h: Likewise.
52132
52133 2008-06-23  Eric Blake  <ebb9@byu.net>
52134
52135         Fix typo.
52136         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52137
52138         Avoid SA_ namespace.
52139         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52140         Reported by Ralf Wildenhues.
52141
52142         Avoid test failure due to SA_RESTORER.
52143         * tests/test-sigaction.c (SA_MASK): New macro.
52144         (main): Avoid failing due to extension flags being set.
52145         Reported by Jim Meyering.
52146
52147         Revert use of sig-handler.h in sigprocmask.c.
52148         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52149         it requires the existence of struct sigaction.
52150         * lib/sigprocmask.c (handler_t): Restore typedef.
52151         (rpl_signal, old_handlers): Use local type.
52152
52153 2008-06-22  Bruno Haible  <bruno@clisp.org>
52154
52155         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52156         conditionally.
52157         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52158
52159 2008-06-22  Bruno Haible  <bruno@clisp.org>
52160
52161         * doc/posix-functions/siginterrupt.texi: Move note.
52162
52163         * lib/signal.in.h (SA_RESTART): New macro.
52164         * lib/sigaction.c: Update comment.
52165
52166         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52167
52168         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52169         (gl_PREREQ_SIGPROCMASK): Invoke it.
52170         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52171
52172         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52173
52174         * lib/sigprocmask.c: Update a comment.
52175
52176 2008-06-21  Eric Blake  <ebb9@byu.net>
52177
52178         Use sigaction module rather than signal().
52179         * modules/c-stack (Depends-on): Add sigaction.
52180         * modules/fatal-signal (Depends-on): Likewise.
52181         * modules/nanosleep (Depends-on): Likewise.
52182         * modules/sigprocmask (Files): Add sig-handler.h.
52183         * modules/sigaction (Files): Likewise.
52184         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52185         Eggert.
52186         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52187         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52188         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52189         (init_fatal_signals): Likewise.
52190         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52191         (siginterrupt): Delete fallback.
52192         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52193         instead.
52194         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52195         siginterrupt.
52196
52197         New module sigaction, for mingw.
52198         * modules/sigaction: New module...
52199         * modules/sigaction-tests: ...and its test.
52200         * m4/sigaction.m4: New file.
52201         * lib/sigaction.c: Likewise.
52202         * tests/test-sigaction.c: Likewise.
52203         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52204         * modules/signal (Makefile.am): Likewise.
52205         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52206         needed.
52207         * doc/posix-headers/signal.texi (signal.h): Mention provided
52208         types.
52209         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52210         that sigaction is preferable.
52211         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52212         module.
52213         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52214         sigaction.
52215
52216         Improve robustness of sigprocmask by overriding signal.
52217         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52218         is in use.
52219         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52220         (SIGKILL, SIGSTOP): Provide fallbacks.
52221         (rpl_signal): Implement.
52222         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52223         signal can be called inside handlers.
52224
52225         Fix nanosleep module on mingw.
52226         * modules/nanosleep (Depends-on): Add sys_select.
52227         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52228
52229         Fix licensing of sigprocmask.
52230         * modules/raise (License): Relicense as LGPL.
52231
52232 2008-06-21  Bruno Haible  <bruno@clisp.org>
52233
52234         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52235         result if it contains question marks.
52236         Reported by Michael Geng <linux@michaelgeng.de>.
52237
52238 2008-06-19  Bruno Haible  <bruno@clisp.org>
52239
52240         Fix CVS-ism.
52241         * doc/gnulib.texi: Include updated-stamp.texi.
52242         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52243         (updated-stamp.texi): New rule.
52244         (gnulib.info): Depend on it.
52245         * doc/.gitignore: Add updated-stamp.texi.
52246         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52247
52248 2008-06-19  Bruno Haible  <bruno@clisp.org>
52249
52250         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52251         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52252
52253 2008-06-19  Eric Blake  <ebb9@byu.net>
52254
52255         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52256         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52257         Reported by Stepan Kasal.
52258
52259 2008-06-18  Bruno Haible  <bruno@clisp.org>
52260
52261         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52262         Reported by Eric Blake.
52263
52264 2008-06-18  Eric Blake  <ebb9@byu.net>
52265
52266         Work around cygwin 1.5.25 strsignal bug.
52267         * tests/test-strsignal.c: Allow for const char *.
52268         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52269
52270 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52271
52272         * users.txt: Update URL to article and add author/date
52273         information.
52274
52275 2008-06-17  Bruno Haible  <bruno@clisp.org>
52276
52277         New macro gl_DISABLE_THREADS.
52278         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52279         if the user did not pass --enable-threads or --disable-threads option.
52280         (gl_DISABLE_THREADS): New macro.
52281         Reported by Eric Blake <ebb9@byu.net>.
52282
52283 2008-06-17  Bruno Haible  <bruno@clisp.org>
52284
52285         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52286         when the macro ignores it.
52287         Based on a patch by Eric Blake <ebb9@byu.net>.
52288
52289 2008-06-17  Bruno Haible  <bruno@clisp.org>
52290
52291         * modules/tls (License): Change to LGPLv2+.
52292         Reported by Eric Blake.
52293
52294 2008-06-17  Eric Blake  <ebb9@byu.net>
52295
52296         Simplify c-stack prerequisites.
52297         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52298         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52299         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52300         check.
52301         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52302         <sys/resource.h>.
52303
52304         Move c-stack test into testsuite.
52305         * modules/c-stack-tests: New file.
52306         * lib/c-stack.c [DEBUG]: Move test program...
52307         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52308         fail test if sigaltstack is lacking.
52309         * tests/test-c-stack.sh: New driver file.
52310
52311 2008-06-16  Eric Blake  <ebb9@byu.net>
52312
52313         Use raise module consistently.
52314         * modules/fatal-signal (Depends-on): Add raise.
52315         * modules/sigprocmask (Depends-on): Likewise.
52316         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52317         * lib/sigprocmask.c (sigprocmask): Likewise.
52318         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52319         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52320
52321         Fix compliance bug in sigpending.
52322         * lib/sigprocmask.c (sigpending): Return pending array via
52323         parameter, not return value.
52324
52325 2008-06-14  Eric Blake  <ebb9@byu.net>
52326
52327         Improve obstack-printf test code.
52328         * tests/test-obstack-printf.c (test_function): Fix comment, and
52329         simplify usage of obstack_* in macros.  Add a test for coverage.
52330         Reported by Bruno Haible.
52331
52332 2008-06-14  Bruno Haible  <bruno@clisp.org>
52333
52334         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52335         array size as a constant, not as a const variable.
52336         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52337         AC_USE_SYSTEM_EXTENSIONS.
52338         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52339         Test whether the obstack_printf function actually exists.
52340         * modules/obstack-printf (Depends-on): Add extensions.
52341         (Include): Remove obstack.h.
52342         * modules/obstack-printf-posix (Depends-on): Add extensions.
52343         (Include): Remove obstack.h.
52344
52345 2008-06-13  Eric Blake  <ebb9@byu.net>
52346
52347         Add obstack-printf and obstack-printf-posix modules.
52348         * modules/obstack-printf: New file.
52349         * modules/obstack-printf-posix: Likewise.
52350         * MODULES.html.sh (Misc): Mention them.
52351         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52352         Likewise.
52353         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52354         Likewise.
52355         * modules/stdio (Makefile.am): Accomodate new modules.
52356         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52357         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
52358         Declare.
52359         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
52360         functions.
52361         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
52362         (gl_REPLACE_OBSTACK_PRINTF): New macros
52363         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
52364         * tests/test-obstack-printf.c: New file.
52365         * modules/obstack-printf-tests: Likewise.
52366         * modules/obstack-printf-posix-tests: Likewise.
52367
52368 2008-06-11  Bruno Haible  <bruno@clisp.org>
52369
52370         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
52371         * lib/open.c: Include errno.h.
52372         (open): Fail when attempting to write to a file that has a trailing
52373         slash.
52374         * tests/test-open.c (main): Test against trailing slash bug.
52375         * doc/posix-functions/open.texi: Mention the trailing slash bug.
52376
52377 2008-06-10  Bruno Haible  <bruno@clisp.org>
52378
52379         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
52380         for $? to work inside the trap command, with various /bin/sh-s.
52381         * tests/test-vc-list-files-cvs.sh: Likewise.
52382
52383 2008-06-10  Bruno Haible  <bruno@clisp.org>
52384
52385         * lib/acl-internal.h: Don't include gettext.h here.
52386         * lib/set-mode-acl.c: Include gettext.h here.
52387         * lib/copy-acl.c: Likewise.
52388
52389 2008-06-10  Bruno Haible  <bruno@clisp.org>
52390
52391         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
52392         * lib/wait-process.c (wait_subprocess): Likewise.
52393         * lib/execute.h (execute): Add termsigp argument.
52394         * lib/execute.c (execute): Likewise.
52395         * lib/csharpcomp.c (compile_csharp_using_pnet,
52396         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
52397         * lib/csharpexec.c (execute_csharp_using_pnet,
52398         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
52399         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
52400         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
52401         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
52402         is_jikes_present): Update.
52403         * lib/javaexec.c (execute_java_class): Update.
52404         * lib/javaversion.c (execute_and_read_line): Update.
52405         * NEWS: Document the changes.
52406         Reported by Eric Blake.
52407
52408 2008-06-10  Eric Blake  <ebb9@byu.net>
52409
52410         Add missing include.
52411         * tests/test-strstr.c (includes): Add <signal.h>.
52412         * tests/test-strcasestr.c (includes): Likewise.
52413         * tests/test-memmem.c (includes): Likewise.
52414
52415 2008-06-10  Bruno Haible  <bruno@clisp.org>
52416
52417         * lib/wait-process.c (wait_subprocess): Add an assertion.
52418
52419 2008-06-10  Bruno Haible  <bruno@clisp.org>
52420
52421         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
52422
52423 2008-06-10  Bruno Haible  <bruno@clisp.org>
52424
52425         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
52426         using alarm().
52427         * tests/test-strcasestr.c (main): Likewise.
52428         * tests/test-strstr.c (main): Likewise.
52429
52430 2008-06-09  Bruno Haible  <bruno@clisp.org>
52431
52432         Work around the Solaris 10 ACE ACLs ABI change.
52433         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
52434         declare if ACL_NO_TRIVIAL is present.
52435         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
52436         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
52437         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
52438         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
52439         define if ACL_NO_TRIVIAL is present.
52440         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
52441         and use the current ABI.
52442         (file_has_acl): Use same #if condition as elsewhere.
52443         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
52444         in use, and use the current ABI.
52445         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
52446         Reported by Jim Meyering.
52447
52448 2008-06-09  Eric Blake  <ebb9@byu.net>
52449
52450         Work around environments that (stupidly) ignore SIGALRM.
52451         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
52452         before using alarm().
52453         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52454         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52455         Reported by Ian Beckwith <ianb@erislabs.net>.
52456
52457         Produce autobuild blurb earlier in log.
52458         * modules/autobuild (configure.ac-early): Move AB_INIT here.
52459
52460 2008-06-09  Jim Meyering  <meyering@redhat.com>
52461         and OndÅ™ej Vašík  <ovasik@redhat.com>
52462
52463         utimens.c: correct kernel bug work-around
52464         OndÅ™ej Vašík found that the invalid return value of 280 indicates
52465         failure, not success, and the kernel bug we're trying to work
52466         around affects not just the utimensat call, but also the fallback
52467         futimens call.
52468         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
52469         not success.
52470         [HAVE_FUTIMENS]: Use the same work-around, here.
52471
52472 2008-06-09  Jim Meyering  <meyering@redhat.com>
52473
52474         add more guards around definition of ACE_-related code
52475         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
52476         ALLOW and ACE_OWNER are also defined.
52477
52478 2008-06-08  Bruno Haible  <bruno@clisp.org>
52479
52480         * lib/acl-internal.h: Add me as co-author.
52481         * lib/file-has-acl.c: Likewise.
52482         * lib/set-mode-acl.c: Likewise.
52483         * lib/copy-acl.c: Likewise.
52484
52485 2008-06-08  Bruno Haible  <bruno@clisp.org>
52486
52487         Add support for AIX ACLs.
52488         * lib/acl-internal.h (acl_nontrivial): New declaration.
52489         * lib/file-has-acl.c (acl_nontrivial): New function.
52490         (file_has_acl): Add implementation using AIX 4 ACL API.
52491         * lib/set-mode-acl.c (qset_acl): Likewise.
52492         * lib/copy-acl.c (qcopy_acl): Likewise.
52493
52494 2008-06-08  Bruno Haible  <bruno@clisp.org>
52495
52496         Add support for HP-UX ACLs.
52497         * lib/acl-internal.h (acl_nontrivial): New declaration.
52498         * lib/file-has-acl.c (acl_nontrivial): New function.
52499         (file_has_acl): Add implementation using HP-UX 11 ACL API.
52500         * lib/set-mode-acl.c (qset_acl): Likewise.
52501         * lib/copy-acl.c (qcopy_acl): Likewise.
52502
52503 2008-06-08  Bruno Haible  <bruno@clisp.org>
52504
52505         Add support for Cygwin ACLs.
52506         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
52507         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
52508         the chmod_or_fchmod call.
52509         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
52510
52511 2008-06-08  Bruno Haible  <bruno@clisp.org>
52512
52513         Fix bug with setuid modes in Solaris 10+ code.
52514         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
52515         succeeded, when the mode contains some special bits.
52516
52517 2008-06-08  Bruno Haible  <bruno@clisp.org>
52518
52519         Add support for Solaris 7..10 ACLs.
52520         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
52521         declarations.
52522         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
52523         functions.
52524         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
52525         * lib/set-mode-acl.c (qset_acl): Likewise.
52526         * lib/copy-acl.c (qcopy_acl): Likewise.
52527
52528 2008-06-08  Bruno Haible  <bruno@clisp.org>
52529
52530         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
52531         declaration.
52532         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
52533         (acl_access_nontrivial): Remove MacOS X case.
52534         (file_has_acl): Use acl_extended_nontrivial.
52535         * lib/copy-acl.c (qcopy_acl): Likewise.
52536
52537 2008-06-08  Bruno Haible  <bruno@clisp.org>
52538
52539         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
52540
52541 2008-06-08  Jim Meyering  <meyering@redhat.com>
52542
52543         * modules/acl (Maintainer): Add Bruno Haible.
52544
52545 2008-06-07  Bruno Haible  <bruno@clisp.org>
52546
52547         Improve support for Tru64 ACLs.
52548         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
52549         ACL on OSF/1.
52550
52551 2008-06-07  Bruno Haible  <bruno@clisp.org>
52552
52553         Add support for MacOS X ACLs.
52554         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
52555         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
52556         * lib/set-mode-acl.c (qset_acl): Likewise.
52557         * lib/copy-acl.c (qcopy_acl): Likewise.
52558
52559 2008-06-07  Bruno Haible  <bruno@clisp.org>
52560
52561         Fix memory leak introduced on 2008-05-22.
52562         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
52563         use.
52564
52565 2008-06-07  Bruno Haible  <bruno@clisp.org>
52566
52567         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
52568         to construct an empty ACL.
52569
52570 2008-06-07  Bruno Haible  <bruno@clisp.org>
52571
52572         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
52573         precisely.
52574         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
52575
52576 2008-06-07  Bruno Haible  <bruno@clisp.org>
52577
52578         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
52579         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
52580
52581 2008-06-07  Bruno Haible  <bruno@clisp.org>
52582
52583         * doc/posix-functions/_setjmp.texi: Explain the use of this function
52584         regardless of POSIX.
52585         * doc/posix-functions/_longjmp.texi: Likewise.
52586         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
52587         SystemV platform in this case.
52588
52589 2008-06-06  Eric Blake  <ebb9@byu.net>
52590
52591         Document abort() bugs.
52592         * doc/posix-functions/abort.texi (abort): Mention anomalies.
52593
52594         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
52595         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
52596         sigsetjmp.
52597         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
52598         siglongjmp, but only as a macro.
52599         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
52600         is obsolete.
52601         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
52602
52603         Tweak documentation to cover cygwin argz bugs.
52604         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
52605         argz bug fix; no code change needed since no cygwin releases
52606         occurred between the last fix and the bug being tested.
52607         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
52608         module and recently fixed cygwin bugs.
52609         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
52610         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
52611         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
52612         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
52613         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
52614         Likewise.
52615         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
52616         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
52617         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
52618         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
52619         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
52620         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
52621         Likewise.
52622
52623         Avoid gcc warning on cygwin.
52624         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
52625         !ACL_NO_TRIVIAL]: Avoid unused variable.
52626
52627 2008-06-05  Eric Blake  <ebb9@byu.net>
52628
52629         Be tolerant of UNKNOWN version in gnulib-tool test dir.
52630         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
52631         git-version-gen fails to come up with a version.
52632         Reported by Simon Josefsson.
52633
52634 2008-06-05  Jim Meyering  <meyering@redhat.com>
52635             Paul Eggert  <eggert@cs.ucla.edu>
52636
52637         utimens.c: work around a probable Linux kernel bug
52638         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
52639         appears to be a kernel bug that causes utimensat to return 280
52640         instead of 0, indicating success.
52641
52642 2008-06-04  Bruno Haible  <bruno@clisp.org>
52643
52644         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
52645         2008-06-01 commit.
52646
52647 2008-06-04  Bruno Haible  <bruno@clisp.org>
52648
52649         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
52650         * lib/file-has-acl.c (acl_access_nontrivial): New function.
52651         (file_has_acl): Use it. Save errno afterwards.
52652         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
52653
52654 2008-06-03  Bruno Haible  <bruno@clisp.org>
52655
52656         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
52657         draft code. Simplify #ifs.
52658         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
52659         Put Solaris code after POSIX-draft code. Fix comments regarding
52660         Solaris 10, HP-UX. Mention Cygwin.
52661         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
52662
52663 2008-06-03  Eric Blake  <ebb9@byu.net>
52664
52665         Provide fallback for older kernels.
52666         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
52667         Provide runtime fallback if kernel lacks support.
52668         Reported by Mike Frysinger.
52669
52670 2008-06-02  Bruno Haible  <bruno@clisp.org>
52671
52672         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
52673         it exists.
52674
52675 2008-06-02  Bruno Haible  <bruno@clisp.org>
52676
52677         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
52678         * lib/copy-acl.c (qcopy_acl): Update comment.
52679
52680 2008-06-02  Bruno Haible  <bruno@clisp.org>
52681
52682         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
52683         like ACL APIs.
52684
52685 2008-06-02  Bruno Haible  <bruno@clisp.org>
52686
52687         * tests/test-file-has-acl.sh: Use different code for Cygwin.
52688         * tests/test-set-mode-acl.sh: Likewise.
52689         * tests/test-copy-acl.sh: Likewise.
52690         * tests/test-copy-file.sh: Likewise.
52691
52692 2008-06-02  Bruno Haible  <bruno@clisp.org>
52693
52694         * tests/test-file-has-acl.sh: Remove unused code.
52695
52696 2008-06-01  Bruno Haible  <bruno@clisp.org>
52697
52698         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
52699         (copy_acl): Just a wrapper around qcopy_acl that emits the error
52700         messages.
52701         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
52702
52703 2008-06-01  Bruno Haible  <bruno@clisp.org>
52704
52705         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
52706         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
52707         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
52708         APIs.
52709         * modules/acl-tests (configure.ac): Remove tests now contained in
52710         m4/acl.m4.
52711
52712 2008-06-02  Jim Meyering  <meyering@redhat.com>
52713
52714         announce-gen: use a better key-server host name
52715         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
52716         it may be more consistently reliable.  Suggested by Werner Koch
52717         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
52718
52719 2008-06-01  Bruno Haible  <bruno@clisp.org>
52720
52721         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
52722         Reported by Voroskoi Andras <voroskoi@gmail.com>.
52723
52724 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
52725
52726         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
52727
52728 2008-06-01  Bruno Haible  <bruno@clisp.org>
52729
52730         New ACL tests.
52731         * tests/test-file-has-acl.sh: New file.
52732         * tests/test-file-has-acl.c: New file.
52733         * tests/test-set-mode-acl.sh: New file.
52734         * tests/test-set-mode-acl.c: New file.
52735         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
52736         * tests/test-copy-acl.c: New file.
52737         * modules/acl-tests: New file, based on modules/copy-file-tests.
52738         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
52739         (Depends-on): Add acl-tests.
52740         (configure.ac): Remove checks.
52741         (Makefile.am): Don't create test-sameacls program here any more.
52742
52743 2008-06-01  Bruno Haible  <bruno@clisp.org>
52744
52745         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
52746         * tests/test-sameacls.c: Include progname.h.
52747         (main): Invoke set_program_name. Portability fixes for MacOS X,
52748         Solaris, HP-UX.
52749
52750 2008-06-01  Bruno Haible  <bruno@clisp.org>
52751
52752         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
52753         function.
52754         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
52755
52756 2008-06-01  Bruno Haible  <bruno@clisp.org>
52757
52758         * modules/rpmatch (Depends-on): Add strdup.
52759
52760 2008-06-01  Bruno Haible  <bruno@clisp.org>
52761
52762         * lib/pipe.c: Include unistd-safer.h.
52763         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
52764         * modules/pipe (Depends-on): Add unistd-safer.
52765
52766 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52767
52768         * modules/autobuild (configure.ac): Call AB_INIT.
52769
52770 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52771
52772         * tests/test-getaddrinfo.c: Don't print debug messages by default.
52773         Suggested by Bruno Haible <bruno@clisp.org>.
52774
52775 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52776
52777         * tests/test-base64.c: Cast size_t to unsigned long when invoking
52778         printf.  Use %lu instead of %d.  Reported by Bruno Haible
52779         <bruno@clisp.org>.
52780
52781 2008-05-29  Eric Blake  <ebb9@byu.net>
52782
52783         Prefer new POSIX 200x interfaces over futimesat.
52784         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
52785         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
52786         when available.
52787         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
52788
52789 2008-05-28  Bruno Haible  <bruno@clisp.org>
52790
52791         * modules/stpcpy (License): Change to LGPLv2+.
52792         Requested by David Lutterkort <dlutter@redhat.com>.
52793
52794 2008-05-27  Bruno Haible  <bruno@clisp.org>
52795
52796         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
52797         current mingw.
52798         Reported by Jose E. Marchesi <jemarch@gnu.org>.
52799
52800 2008-05-27  Bruno Haible  <bruno@clisp.org>
52801
52802         * modules/iconv_open (Link): New section, from module 'iconv'.
52803         * modules/striconv (Link): Likewise.
52804         * modules/striconveh (Link): Likewise.
52805         * modules/xstriconv (Link): Likewise.
52806         * modules/unicodeio (Link): Likewise.
52807         * modules/propername (Link): Likewise.
52808         Reported by Jim Meyering.
52809
52810 2008-05-26  Jim Meyering  <meyering@redhat.com>
52811
52812         sha256: do not artificially restrict buffer length to be < 2^32
52813         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
52814         uint32_t to size_t.
52815         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
52816         to match.
52817
52818         avoid unaligned access errors, e.g., on sparc
52819         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
52820         direct access through a possibly-unaligned uint64* pointer.
52821         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
52822         direct access through a possibly-unaligned uint32* pointer.
52823         Prompted by this patch from Tom "spot" Callaway:
52824         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
52825
52826         sha512.c: fix typo in comment
52827         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
52828
52829 2008-05-25  Bruno Haible  <bruno@clisp.org>
52830
52831         * lib/set-mode-acl.c: Renamed from lib/acl.c.
52832         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
52833         (Makefile.am): Update lib_SOURCES.
52834
52835 2008-05-25  Bruno Haible  <bruno@clisp.org>
52836
52837         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
52838
52839 2008-05-25  Jim Meyering  <meyering@redhat.com>
52840
52841         useless-if-before-free: freed expr may have white-space differences
52842         * build-aux/useless-if-before-free: Recognize cases in which the
52843         freed expression differs from the tested one in embedded white
52844         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
52845         $1 was used, so we can't make any regexp shy.  Improved tests now
52846         detect this.
52847
52848         useless-if-before-free: accept white space in the expression.
52849         * build-aux/useless-if-before-free: For now, any white space
52850         in the expression must be identical in the free argument.
52851
52852         useless-if-before-free: efficiency tweak
52853         * build-aux/useless-if-before-free: Make the expression-matching
52854         regexp "shy".
52855         Make the *outer* regexp shy, not the expr-matching one.
52856
52857         update code-in-comment to accept cast of free arg
52858         * build-aux/useless-if-before-free: Update regexp.
52859
52860 2008-05-25  Bruno Haible  <bruno@clisp.org>
52861
52862         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
52863         * modules/copy-file-tests (Files, Makefile.am): Update.
52864         * tests/test-copy-file.c (func_test_copy): Update.
52865
52866 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
52867
52868         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
52869
52870 2008-05-23  Bruno Haible  <bruno@clisp.org>
52871
52872         Improve support for ACLs on OSF/1.
52873         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
52874         Remove fallback for unknown flavors of ACLs.
52875
52876 2008-05-22  Bruno Haible  <bruno@clisp.org>
52877
52878         Add support for ACLs on OSF/1.
52879         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
52880         replacements.
52881         (acl_free_text): New macro fallback.
52882         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
52883         acl_free.
52884         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
52885         acl_free_text function. Require AC_C_INLINE.
52886
52887 2008-05-22  Bruno Haible  <bruno@clisp.org>
52888
52889         Make copy_acl work on MacOS X 10.5.
52890         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
52891         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
52892         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
52893         If MODE_INSIDE_ACL, don't assume that every system has the same text
52894         representation for ACLs as FreeBSD.
52895         * lib/copy-acl.c (copy_acl): Add support for platforms with
52896         !MODE_INSIDE_ACL.
52897         * lib/file-has-acl.c (file_has_acl): Likewise.
52898         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
52899         FreeBSD, MacOS X, or IRIX, respectively.
52900
52901 2008-05-22  Bruno Haible  <bruno@clisp.org>
52902
52903         * lib/acl.h: Don't include <sys/acl.h>.
52904         (GETACLCNT): Move fallback to lib/acl-internal.h.
52905         * lib/acl-internal.h: Include <sys/acl.h> here.
52906         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
52907
52908 2008-05-22  Bruno Haible  <bruno@clisp.org>
52909
52910         Split off copy_acl function to separate file.
52911         * lib/copy-acl.c: New file, extracted from lib/acl.c.
52912         * lib/acl.c (copy_acl): Moved function to separate file.
52913         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
52914         * modules/acl (Files): Add lib/copy-acl.c.
52915         (Makefiles.am): Augment lib_SOURCES.
52916
52917 2008-05-22  Bruno Haible  <bruno@clisp.org>
52918
52919         * modules/copy-file-tests: New file.
52920         * tests/test-copy-file.sh: New file.
52921         * tests/test-copy-file.c: New file.
52922         * tests/test-copy-file-sameacls.c: New file.
52923
52924 2008-05-22  Eric Blake  <ebb9@byu.net>
52925
52926         Avoid gcc warning.
52927         * tests/test-memcmp.c (main): Pass NULL indirectly.
52928
52929 2008-05-21  Bruno Haible  <bruno@clisp.org>
52930
52931         Add reference doc about ACLs.
52932         * doc/acl-resources.txt: New file.
52933         * doc/acl-cygwin.txt: New file.
52934
52935 2008-05-21  Bruno Haible  <bruno@clisp.org>
52936
52937         Avoid one more warning from gcc.
52938         * lib/vasnprintf.c (IF_LINT): Update comments.
52939         (VASNPRINTF): Use it also for the 'prefix' array initializer.
52940
52941 2008-05-21  Jim Meyering  <meyering@redhat.com>
52942
52943         avoid a warning from gcc
52944         * lib/vasnprintf.c (IF_LINT): Define.
52945         (scale10_round_decimal_long_double):
52946         Use it to avoid a "may be used uninitialized" warning.
52947         (scale10_round_decimal_double): Likewise.
52948
52949 2008-05-21  Simon Josefsson  <simon@josefsson.org>
52950
52951         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
52952         declared.
52953
52954 2008-05-20  Bruno Haible  <bruno@clisp.org>
52955
52956         * tests/test-memcmp.c (main): Test also the sign of the result. Test
52957         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
52958
52959 2008-05-20  Simon Josefsson  <simon@josefsson.org>
52960
52961         * modules/memcmp-tests: New file.
52962         * tests/test-memcmp.c: New file.
52963
52964 2008-05-19  Bruno Haible  <bruno@clisp.org>
52965
52966         * modules/propername (Notice, configure.ac): Put quoted "..." into
52967         --keyword option.
52968         * lib/propername.h: Update comments accordingly.
52969         Reported by Eric Blake.
52970
52971 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
52972
52973         * modules/getpass-gnu (Depends-on): Add fseeko.
52974
52975 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52976
52977         * modules/base64-tests: New file.
52978
52979 2008-05-19  Bo Borgerson <gigabo@gmail.com>
52980
52981         * lib/base64.c (base64_decode_ctx): If a decode context structure
52982         was passed in use it to ignore newlines.  If a context structure
52983         was _not_ passed in, continue to treat newlines as garbage (this
52984         is the historical behavior).  Formerly base64_decode.
52985         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52986         takes a decode context structure.
52987         * lib/base64.h (base64_decode): Macro for four-argument calls.
52988         (base64_decode_alloc): Likewise.
52989         * lib/base64.c (base64_decode_ctx): If a decode context structure
52990         was passed in use it to ignore newlines.  If a context structure
52991         was _not_ passed in, continue to treat newlines as garbage (this
52992         is the historical behavior).  Formerly base64_decode.
52993         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52994         takes a decode context structure.
52995         * lib/base64.h (base64_decode): Macro for four-argument calls.
52996         (base64_decode_alloc): Likewise.
52997
52998 2008-05-19  Jim Meyering  <meyering@redhat.com>
52999
53000         avoid a warning from gcc
53001         * lib/trim.c (IF_LINT): Define.
53002         (trim2): Use it to avoid a "may be used uninitialized" warning.
53003
53004         Fix doc typo.
53005         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53006
53007 2008-05-19  Bruno Haible  <bruno@clisp.org>
53008
53009         * doc/glibc-functions/getpass.texi: Document limits of other
53010         implementations.
53011
53012 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53013             Bruno Haible <bruno@clisp.org>
53014
53015         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53016
53017 2008-05-18  Bruno Haible  <bruno@clisp.org>
53018
53019         * modules/propername: New file, from GNU gettext.
53020         * lib/propername.h: New file, from GNU gettext.
53021         * lib/propername.c: New file, from GNU gettext.
53022         * MODULES.html.sh (Internationalization functions): Add propername.
53023
53024 2008-05-16  Jim Meyering  <meyering@redhat.com>
53025             Bruno Haible  <bruno@clisp.org>
53026
53027         Avoid some warnings from "gcc -Wshadow".
53028         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53029
53030 2008-05-15  Eric Blake  <ebb9@byu.net>
53031
53032         Extend previous patch to cygwin 1.7.0.
53033         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53034         fast implementation in cygwin >= 1.7.0.
53035         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53036         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53037
53038 2008-05-15  Bruno Haible  <bruno@clisp.org>
53039
53040         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53041         implementation in glibc >= 2.9.
53042         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53043         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53044
53045 2008-05-15  Bruno Haible  <bruno@clisp.org>
53046
53047         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53048         (Unicode string functions): Add unilbrk/*.
53049         Reported by Karl Berry.
53050
53051 2008-05-15  Eric Blake  <ebb9@byu.net>
53052
53053         Fix violation of <stdbool.h> replacement in regex.
53054         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53055         * lib/regexec.c (re_search_internal): Likewise.
53056         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53057
53058 2008-05-15  Jim Meyering  <meyering@redhat.com>
53059
53060         avoid distracting test output when git or cvs is not found
53061         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53062         * tests/test-vc-list-files-git.sh: Likewise.
53063
53064 2008-05-15  Eric Blake  <ebb9@byu.net>
53065
53066         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53067         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53068         glibc version.
53069         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53070         * doc/posix-functions/strstr.texi (strstr): Likewise.
53071         * lib/str-two-way.h (MAX): Sychronize with glibc.
53072
53073 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53074
53075         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53076         opr.ctx_type.
53077         (calc_first): Initialize constraint field.
53078         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53079         Fix grammar.
53080         (duplicate_node): Merge constraint field for all node types.
53081         (calc_eclosure_iter): Look at constraint field for all node types.
53082         * lib/regex_internal.c (create_cd_newstate): Don't look at
53083         opr.ctx_type.
53084
53085 2008-05-14  Bruno Haible  <bruno@clisp.org>
53086
53087         Help GCC to do better code generation.
53088         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53089         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53090         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53091         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53092         Declare with attribute 'malloc' if supported.
53093
53094 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53095
53096         use "echo STR|wc -c" rather than unportable "expr length STR"
53097         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53098         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53099
53100 2008-05-14  Jim Meyering  <meyering@redhat.com>
53101
53102         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53103         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53104         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53105         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53106         via Collin Lasse.
53107
53108 2008-05-14  Eric Blake  <ebb9@byu.net>
53109
53110         Avoid quadratic growth in gl_LIBSOURCES.
53111         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53112         Suggested by Bruno Haible.
53113
53114         Test xmemdup0.
53115         * modules/xmemdup0-tests: New file.
53116         * tests/test-xmemdup0.c: Likewise.
53117
53118 2008-05-13  Eric Blake  <ebb9@byu.net>
53119
53120         Split xmemdup0 into its own module.
53121         * modules/xmemdup0: New file.
53122         * lib/xmemdup0.h: Likewise.
53123         * lib/xmemdup0.c: Likewise.
53124         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53125         * lib/xalloc.h (xmemdup0): Remove.
53126         * lib/xmalloc.c (xmemdup0): Likewise.
53127
53128 2008-05-13  Eric Blake  <ebb9@byu.net>
53129             Bruno Haible  <bruno@clisp.org>
53130
53131         Reduce number of forks required during autoconf.
53132         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53133         and gl_LIBSOURCES_DIR.
53134         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53135         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53136         m4_syscmd per file.
53137         <m4_foreach_w>: Move...
53138         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53139
53140 2008-05-13  Eric Blake  <ebb9@byu.net>
53141
53142         * gnulib-tool: Fix various comment typos.
53143
53144 2008-05-12  Bruno Haible  <bruno@clisp.org>
53145
53146         Tailor the linebreaking algorithm.
53147         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53148
53149 2008-05-12  Bruno Haible  <bruno@clisp.org>
53150
53151         Update to Unicode 5.0.0.
53152         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53153         LBP_JV, LBP_JT. Redistribute values.
53154         (unilbrk_table): Change size.
53155         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53156         Unicode TR#14 rev. 22.
53157         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53158         LBP_JV, LBP_JT. Redistribute values.
53159         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53160         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53161         Update.
53162         * lib/unilbrk/lbrkprop1.h: Regenerated.
53163         * lib/unilbrk/lbrkprop2.h: Regenerated.
53164         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53165         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53166         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53167         Likewise.
53168         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53169         Likewise.
53170         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53171         result.
53172         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53173         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53174         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53175         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53176         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53177         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53178
53179 2008-05-11  Bruno Haible  <bruno@clisp.org>
53180
53181         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53182
53183 2008-05-11  Bruno Haible  <bruno@clisp.org>
53184
53185         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53186         * modules/unilbrk/gen-lbrk: New file.
53187
53188 2008-05-11  Bruno Haible  <bruno@clisp.org>
53189
53190         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53191         * m4/sha512.m4 (gl_SHA512): Likewise.
53192
53193 2008-05-11  Jim Meyering  <meyering@redhat.com>
53194
53195         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53196         * modules/crypto/sha256: New file.
53197         * modules/crypto/sha512: Likewise.
53198         * lib/sha256.c: Likewise.
53199         * lib/sha256.h: Likewise.
53200         * lib/sha512.c: Likewise.
53201         * lib/sha512.h: Likewise.
53202         * lib/u64.h: Likewise.
53203         * m4/sha256.m4: Likewise.
53204         * m4/sha512.m4: Likewise.
53205         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53206
53207 2008-05-10  Bruno Haible  <bruno@clisp.org>
53208
53209         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53210         (Input/Output <stdio.h>): Add xprintf.
53211         (Signal handling <signal.h>): Add strsignal.
53212         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53213         (Core language properties): Add func.
53214         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53215         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53216         strings.
53217         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53218         (Input/output): New section.
53219         (File system functions): Add openat-die, stat-macros.
53220         (Networking functions): Add sockets.
53221         (Unicode string functions): Add unictype/*.
53222         (Support for building libraries and executables): Add gperf.
53223         (Support for building documentation): Add agpl-3.0.
53224         (Misc): Add nocrash.
53225
53226 2008-05-10  Bruno Haible  <bruno@clisp.org>
53227
53228         * modules/unictype/gen-ctype: New file.
53229
53230 2008-05-10  Jim Meyering  <meyering@redhat.com>
53231
53232         Make chdir-safer.c more efficient on a system with no symlinks.
53233         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53234         also if ELOOP is zero.  Suggested by Bruno Haible.
53235
53236         Make chdir-safer.c slightly safer.
53237         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53238         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53239
53240         Avoid compile failure on systems without ELOOP (like mingw).
53241         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53242         Reported by Bruno Haible.
53243
53244 2008-05-10  Bruno Haible  <bruno@clisp.org>
53245
53246         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53247         (is_utf8_encoding): Use a case-insensitive comparison.
53248         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53249         streq.
53250
53251 2008-05-10  Bruno Haible  <bruno@clisp.org>
53252
53253         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53254         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53255         * lib/unilbrk/ulc-common.h (iconv_string_length,
53256         iconv_string_keeping_offsets): Remove declarations.
53257         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53258         Don't include <iconv.h>, streq.h, xsize.h.
53259         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53260         conversion.
53261         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53262         <iconv.h>, streq.h, xsize.h.
53263         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53264         conversion.
53265         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53266         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53267         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53268         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53269
53270 2008-05-10  Bruno Haible  <bruno@clisp.org>
53271
53272         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53273         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53274
53275         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53276         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53277
53278         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53279         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53280
53281         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53282         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53283
53284         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53285         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53286
53287         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53288         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53289
53290         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53291         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53292
53293         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53294         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53295
53296 2008-05-10  Bruno Haible  <bruno@clisp.org>
53297
53298         Split up 'linebreak' module.
53299         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53300         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53301         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53302         modifications.
53303         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53304         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53305         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53306         lib/linebreak.c.
53307         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53308         lib/linebreak.c.
53309         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53310         lib/linebreak.c.
53311         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53312         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53313         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53314         lib/linebreak.c.
53315         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53316         lib/linebreak.c.
53317         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53318         lib/linebreak.c.
53319         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53320         lib/linebreak.c.
53321         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
53322         lib/linebreak.c.
53323         * modules/unilbrk/base: New file.
53324         * modules/unilbrk/tables: New file.
53325         * modules/unilbrk/u8-possible-linebreaks: New file.
53326         * modules/unilbrk/u16-possible-linebreaks: New file.
53327         * modules/unilbrk/u32-possible-linebreaks: New file.
53328         * modules/unilbrk/ulc-common: New file.
53329         * modules/unilbrk/ulc-possible-linebreaks: New file.
53330         * modules/unilbrk/u8-width-linebreaks: New file.
53331         * modules/unilbrk/u16-width-linebreaks: New file.
53332         * modules/unilbrk/u32-width-linebreaks: New file.
53333         * modules/unilbrk/ulc-width-linebreaks: New file.
53334         * lib/linebreak.h: Remove file.
53335         * lib/linebreak.c: Remove file.
53336         * m4/linebreak.m4: Remove file.
53337         * modules/linebreak: Remove file.
53338         * NEWS: Mention the changes.
53339
53340 2008-05-09  Eric Blake  <ebb9@byu.net>
53341
53342         Add xmemdup0.
53343         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53344         implementation.
53345         * lib/xmalloc.c (xmemdup0): New C implementation.
53346
53347 2008-05-08  Bruno Haible  <bruno@clisp.org>
53348
53349         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53350
53351 2008-05-07  Eric Blake  <ebb9@byu.net>
53352
53353         Support cross-compilation of <wctype.h>.
53354         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
53355         AC_CACHE_CHECK.
53356
53357 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
53358
53359         * build-aux/vc-list-files: Add support for bzr.
53360
53361 2008-05-03  Jim Meyering  <meyering@redhat.com>
53362
53363         avoid failed assertion with tight malloc
53364         * tests/test-getndelim2.c: Correct an off-by-one assertion.
53365
53366 2008-05-03  Simon Josefsson  <simon@josefsson.org>
53367
53368         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
53369         are needed from arpa/inet.h.
53370         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
53371         Reported by Bruno Haible.
53372
53373 2008-05-02  Jim Meyering  <meyering@redhat.com>
53374
53375         avoid compilation error on FreeBSD 6
53376         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
53377
53378 2008-05-01  Jim Meyering  <meyering@redhat.com>
53379
53380         useless-if-before-free: correct --help's exit status description
53381         * build-aux/useless-if-before-free (usage): Like grep, exit 0
53382         for one or more matches, etc.  Reported by Bruno Haible.
53383
53384         vc-list-files: make the stand-alone gnulib test work
53385         * modules/vc-list-files-tests (configure.ac):
53386         Define and AC_SUBST abs_aux_dir.
53387         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
53388         $(abs_top_srcdir) to each script and having each of them
53389         duplicate the work of setting PATH, set PATH here, using
53390         the new variable, abs_aux_dir instead.
53391         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
53392         * tests/test-vc-list-files-git.sh: Likewise.
53393         Reported by Bruno Haible.
53394
53395 2008-05-01  Bruno Haible  <bruno@clisp.org>
53396
53397         * lib/getndelim2.c (getndelim2): Fix newsize computation during
53398         reallocation. Rename 'done' to 'found_delimiter'.
53399
53400 2008-05-01  Jim Meyering  <meyering@redhat.com>
53401
53402         vc-list-files: accommodate /bin/sh like the one from Solaris 10
53403         * build-aux/vc-list-files: Use `...`, not $(...).
53404
53405 2008-04-30  Jim Meyering  <meyering@redhat.com>
53406
53407         add tests for vc-list-files
53408         * modules/vc-list-files-tests: New module.
53409         * tests/test-vc-list-files-cvs.sh: New file.
53410         * tests/test-vc-list-files-git.sh: New file.
53411
53412         avoid a warning from gcc
53413         * lib/getndelim2.c (IF_LINT): Define.
53414         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
53415
53416         vc-list-files: work properly with build-aux/cvsu, too
53417         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
53418         to all cvs-based clauses.
53419
53420         vc-list-files: work properly in the CVS+awk case, too
53421         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
53422
53423         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
53424         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
53425         take more than one file argument, so .  Add quotes, just in case $dir
53426         ever contains a shell meta-character.  Prompted by Soren Hansen in
53427         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
53428
53429 2008-04-29  Eric Blake  <ebb9@byu.net>
53430
53431         Optimize getndelim2 to use block operations when possible.
53432         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
53433         freadseek, and memchr2.
53434         * lib/getndelim2.c (getndelim2): Use them for block reads.
53435
53436 2008-04-29  Bruno Haible  <bruno@clisp.org>
53437
53438         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
53439         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53440         * modules/inet_ntop (Depends-on): Add extensions.
53441         * modules/inet_pton (Depends-on): Likewise.
53442         Reported by Simon Josefsson.
53443
53444 2008-04-29  Jim Meyering  <meyering@redhat.com>
53445
53446         When the is more than one match in a block, match all of them.
53447         * build-aux/useless-if-before-free: Iterate through each block
53448         until there are no more matches.
53449
53450         Fix broken useless-if-before-free script.
53451         * build-aux/useless-if-before-free: Fix typo: missing "?" after
53452         the expression to match cast of argument to free-like function.
53453
53454 2008-04-29  Eric Blake  <ebb9@byu.net>
53455
53456         Use new header.
53457         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
53458
53459 2008-04-29  Jim Meyering  <meyering@redhat.com>
53460
53461         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
53462         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
53463         by gnulib to exist and to declare e.g., inet_ntop.
53464         Don't include "inet_ntop.h", now removed.
53465
53466         * m4/arpa_inet_h.m4: Remove trailing blanks.
53467
53468 2008-04-29  Eric Blake  <ebb9@byu.net>
53469
53470         Silence valgrind on safe reads beyond potential array bounds.
53471         * lib/rawmemchr.valgrind: New file.
53472         * lib/strchrnul.valgrind: Likewise.
53473         * modules/rawmemchr (Files): Distribute new file.
53474         * modules/strchrnul (Files): Likewise.
53475         Suggested by Bruno Haible.
53476
53477 2008-04-29  Bruno Haible  <bruno@clisp.org>
53478
53479         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
53480         (inet_ntop, inet_pton): Change portability warning's wording.
53481         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
53482         Invoke gl_CHECK_NEXT_HEADERS.
53483         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
53484         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
53485         set ARPA_INET_H.
53486         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53487         * modules/arpa_inet (Description): No longer only for systems that
53488         lack it.
53489         (Depends-on): Add include_next.
53490         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
53491         HAVE_ARPA_INET_H.
53492
53493 2008-04-29  Jim Meyering  <meyering@redhat.com>
53494
53495         * modules/mkdir (License): Re-license as LGPLv2+.
53496
53497 2008-04-29  Bruno Haible  <bruno@clisp.org>
53498
53499         * modules/rawmemchr (Maintainer): Set to Eric.
53500         * modules/strchrnul (Maintainer): Likewise.
53501
53502 2008-04-29  Simon Josefsson  <simon@josefsson.org>
53503
53504         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
53505         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
53506
53507         * modules/arpa_inet (arpa/inet.h): Use them.
53508
53509 2008-04-28  Eric Blake  <ebb9@byu.net>
53510
53511         Test getndelim2.
53512         * modules/getndelim2-tests: New file.
53513         * tests/test-getndelim2.c: Likewise.
53514         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
53515         stream.
53516         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
53517
53518         * MODULES.html.sh: Document new module.
53519
53520 2008-04-20  Bruno Haible  <bruno@clisp.org>
53521
53522         * lib/c-stack.c (die): Use raise.
53523         * modules/c-stack (Depends-on): Add raise.
53524
53525 2008-04-28  Bruno Haible  <bruno@clisp.org>
53526
53527         Expect rpmatch to be declared.
53528         * lib/yesno.c (rpmatch): Remove declaration.
53529
53530         Declare rpmatch.
53531         * lib/stdlib.in.h (rpmatch): New declaration.
53532         * lib/rpmatch.c: Include <stdlib.h> first.
53533         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
53534         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
53535         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
53536         HAVE_RPMATCH.
53537         * modules/rpmatch (Depends-on): Add stdlib, extensions.
53538         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53539         (Include): Set to <stdlib.h>.
53540         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
53541         HAVE_RPMATCH.
53542         * NEWS: Document the change.
53543
53544 2008-04-28  Bruno Haible  <bruno@clisp.org>
53545
53546         Change rpmatch to use nl_langinfo when appropriate.
53547         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
53548         (N_): New macro.
53549         (localized_pattern): New function/macro.
53550         (try): Remove match, nomatch arguments. Copy the pattern into safe
53551         memory before caching it.
53552         (rpmatch): Use localized_pattern. Add translator comments.
53553         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
53554         Suggested by Eric Blake.
53555         * modules/rpmatch (Depends-on): Add stdbool.
53556
53557 2008-04-28  Eric Blake  <ebb9@byu.net>
53558
53559         Add rawmemchr module, matching glibc.
53560         * modules/string (Makefile.am): New indicator.
53561         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
53562         * lib/string.in.h (rawmemchr): Declare when appropriate.
53563         * modules/rawmemchr: New file.
53564         * m4/rawmemchr.m4: Likewise.
53565         * lib/rawmemchr.c: Likewise.
53566         * modules/rawmemchr-tests: Likewise.
53567         * tests/test-rawmemchr.c: Likewise.
53568         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
53569         module.
53570         * modules/strchrnul (Depends-on): Add rawmemchr.
53571         * lib/strchrnul.c (strchrnul): Optimize a corner case.
53572
53573         Whitespace cleanup.
53574         * tests/test-strchrnul.c: Reindent.
53575         * lib/strchrnul.c: Likewise.
53576
53577         Optimize and test strchrnul.
53578         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
53579         * modules/strchrnul-tests: New file.
53580         * tests/test-strchrnul.c: Likewise.
53581
53582         Remove intprops dependency.
53583         * modules/memchr (Depends-on): Remove intprops.
53584         * modules/memrchr (Depends-on): Likewise.
53585         * modules/memchr2 (Depends-on): Likewise.
53586         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
53587         * lib/memrchr.c (__memrchr): Likewise.
53588         * lib/memrchr2.c (memchr2): Likewise.
53589         Reported by Simon Josefsson.
53590
53591 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53592
53593         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
53594         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53595
53596 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53597
53598         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
53599
53600         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
53601
53602         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
53603
53604         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
53605         declarations.
53606         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
53607
53608         * m4/inet_pton.m4: Don't check for header files.
53609
53610         * m4/inet_ntop.m4: Don't check for header files.
53611
53612 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53613
53614         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
53615         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
53616         trigger for cygwin).
53617         Reported by Bruno Haible  <bruno@clisp.org>.
53618
53619 2008-04-28  Bruno Haible  <bruno@clisp.org>
53620
53621         * doc/posix-functions/strdup.texi: Mention mingw problem.
53622
53623 2008-04-27  Bruno Haible  <bruno@clisp.org>
53624
53625         * modules/stat-time-tests (Depends-on): Add sleep.
53626         * tests/test-stat-time.c (force_unlink): New function.
53627         (cleanup): Use it.
53628         (test_mtime): Remove the ctime related tests.
53629         (test_ctime): New function, containing the ctime related tests.
53630         (main): Call test_ctime, except on native Windows platforms.
53631
53632 2008-04-27  Bruno Haible  <bruno@clisp.org>
53633
53634         * lib/rpmatch.c (rpmatch): Add some comments.
53635         Reported by James Youngman <jay@gnu.org>.
53636
53637 2008-04-27  Bruno Haible  <bruno@clisp.org>
53638
53639         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
53640         quiet NaNs.
53641
53642 2008-04-27  Bruno Haible  <bruno@clisp.org>
53643
53644         Make test-yesno.sh work on mingw.
53645         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
53646         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
53647         (main): Set stdin to binary mode.
53648         * modules/yesno-tests (Depends-on): Add binary-io.
53649
53650 2008-04-27  Bruno Haible  <bruno@clisp.org>
53651
53652         Fix 'isfinite' on x86, x86_64, ia64 platforms.
53653         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
53654         argument that lie outside the IEEE 854 domain.
53655         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
53656         (gl_ISFINITE): Use it.
53657         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
53658
53659 2008-04-27  Bruno Haible  <bruno@clisp.org>
53660
53661         Allow local renaming in config.h.
53662         * lib/memrchr.c (memrchr): Don't undefine outside libc.
53663
53664 2008-04-27  Bruno Haible  <bruno@clisp.org>
53665
53666         * lib/memchr.c (__memchr): Change type of 'i'.
53667         * lib/memchr2.c (memchr2): Likewise.
53668
53669 2008-04-26  Eric Blake  <ebb9@byu.net>
53670         and Bruno Haible  <bruno@clisp.org>
53671
53672         Optimize and test memrchr.
53673         * modules/memrchr (Depends-on): Add intprops.
53674         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
53675         * modules/memrchr-tests: New file.
53676         * tests/test-memrchr.c: New file.
53677
53678 2008-04-26  Bruno Haible  <bruno@clisp.org>
53679
53680         Add tentative support for DragonFly BSD.
53681         * lib/stdio-impl.h: Add macros for DragonFly BSD.
53682         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
53683         fp.
53684         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53685         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
53686         * lib/fpurge.c (fpurge): Likewise.
53687         * lib/freadable.c (freaadable): Likewise.
53688         * lib/freadahead.c (freadahead): Likewise.
53689         * lib/freading.c (freading): Likewise.
53690         * lib/freadptr.c (freadptr): Likewise.
53691         * lib/freadseek.c (freadptrinc): Likewise.
53692         * lib/fseeko.c (fseeko): Likewise.
53693         * lib/fseterr.c (fseterr): Likewise.
53694         * lib/fwritable.c (fwritable): Likewise.
53695         * lib/fwriting.c (fwriting): Likewise.
53696
53697 2008-04-26  Bruno Haible  <bruno@clisp.org>
53698
53699         * lib/stdio-impl.h: New file.
53700         * lib/fbufmode.c: Include stdio-impl.h.
53701         (fbufmode): Use fp_, remove redundant #defines.
53702         * lib/fflush.c: Include stdio-impl.h.
53703         (clear_ungetc_buffer): Remove redundant #defines.
53704         * lib/fpurge.c: Include stdio-impl.h.
53705         (fpurge): Remove redundant #defines.
53706         * lib/freadable.c: Include stdio-impl.h.
53707         (freadable): Remove redundant #defines.
53708         * lib/freadahead.c: Include stdio-impl.h.
53709         (freadahead): Remove redundant #defines.
53710         * lib/freading.c: Include stdio-impl.h.
53711         (freading): Remove redundant #defines.
53712         * lib/freadptr.c: Include stdio-impl.h.
53713         (freadptr): Remove redundant #defines.
53714         * lib/freadseek.c: Include stdio-impl.h.
53715         (freadptrinc): Remove redundant #defines.
53716         * lib/fseeko.c: Include stdio-impl.h.
53717         (rpl_fseeko): Remove redundant #defines.
53718         * lib/fseterr.c: Include stdio-impl.h.
53719         (fseterr): Remove redundant #defines.
53720         * lib/fwritable.c: Include stdio-impl.h.
53721         (fwritable: Remove redundant #defines.
53722         * lib/fwriting.c: Include stdio-impl.h.
53723         (fwriting): Remove redundant #defines.
53724         * modules/fbufmode (Files): Add lib/stdio-impl.h.
53725         * modules/fflush (Files): Likewise.
53726         * modules/fpurge (Files): Likewise.
53727         * modules/freadable (Files): Likewise.
53728         * modules/freadahead (Files): Likewise.
53729         * modules/freading (Files): Likewise.
53730         * modules/freadptr (Files): Likewise.
53731         * modules/freadseek (Files): Likewise.
53732         * modules/fseeko (Files): Likewise.
53733         * modules/fseterr (Files): Likewise.
53734         * modules/fwritable (Files): Likewise.
53735         * modules/fwriting (Files): Likewise.
53736
53737 2008-04-26  Bruno Haible  <bruno@clisp.org>
53738
53739         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53740         restore_seek_optimization, update_fpos_cache): New functions, extracted
53741         from rpl_fflush.
53742         (rpl_fflush): Use them.
53743         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
53744         (gl_REPLACE_FFLUSH): Use it.
53745
53746 2008-04-26  Bruno Haible  <bruno@clisp.org>
53747
53748         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
53749         on Solaris.
53750         * tests/test-xstrtoimax.sh: Likewise.
53751         * tests/test-xstrtoumax.sh: Likewise.
53752         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53753
53754 2008-04-26  Bruno Haible  <bruno@clisp.org>
53755
53756         * modules/memchr-tests: New file.
53757         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
53758
53759 2008-04-26  Eric Blake  <ebb9@byu.net>
53760             Bruno Haible  <bruno@clisp.org>
53761
53762         * lib/memchr.c: Include intprops.h.
53763         (__memchr): Optimize parallel detection of matching bytes. Rename local
53764         variables. Add explanatory comments.
53765
53766 2008-04-26  Bruno Haible  <bruno@clisp.org>
53767
53768         Fix module 'memchr', broken since 2000-10-28.
53769         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
53770
53771 2008-04-26  Bruno Haible  <bruno@clisp.org>
53772
53773         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
53774         comments.
53775
53776 2008-04-25  Eric Blake  <ebb9@byu.net>
53777
53778         Use native fstatat on cygwin 1.7.0.
53779         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
53780         first.
53781
53782 2008-04-23  Eric Blake  <ebb9@byu.net>
53783
53784         Improve memchr2 performance.
53785         * lib/memchr2.c (memchr2): Further optimize parallel detection of
53786         NUL bytes.
53787         * modules/memchr2 (Depends-on): Use intprops.h.
53788
53789 2008-04-23  Simon Josefsson  <simon@josefsson.org>
53790
53791         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
53792         an inline function instead of a CPP macro.  Patch by Ben Pfaff
53793         <blp@cs.stanford.edu>.
53794
53795 2008-04-23  Simon Josefsson  <simon@josefsson.org>
53796
53797         * lib/arpa_inet.in.h: New file.
53798
53799         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
53800         (Makefile.am): Sed in substitute header file.
53801
53802         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
53803         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
53804
53805         * modules/inet_ntop (configure.ac): Use
53806         gl_ARPA_INET_MODULE_INDICATOR.
53807
53808         * modules/inet_pton (configure.ac): Use
53809         gl_ARPA_INET_MODULE_INDICATOR.
53810
53811 2008-04-22  Jim Meyering  <meyering@redhat.com>
53812
53813         * modules/verify (License): Re-license as LGPLv2+.
53814
53815 2008-04-22  Simon Josefsson  <simon@josefsson.org>
53816
53817         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
53818         parameter to void* as per POSIX standard (MinGW uses char*).
53819
53820 2008-04-21  Bruno Haible  <bruno@clisp.org>
53821
53822         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
53823         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
53824         Define to replacements if REPLACE_ISWCNTRL is 1.
53825         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
53826         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
53827         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
53828         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
53829         what it fixes.
53830         * doc/posix-functions/iswalpha.texi: Likewise.
53831         * doc/posix-functions/iswblank.texi: Likewise.
53832         * doc/posix-functions/iswcntrl.texi: Likewise.
53833         * doc/posix-functions/iswdigit.texi: Likewise.
53834         * doc/posix-functions/iswgraph.texi: Likewise.
53835         * doc/posix-functions/iswlower.texi: Likewise.
53836         * doc/posix-functions/iswprint.texi: Likewise.
53837         * doc/posix-functions/iswpunct.texi: Likewise.
53838         * doc/posix-functions/iswspace.texi: Likewise.
53839         * doc/posix-functions/iswupper.texi: Likewise.
53840         * doc/posix-functions/iswxdigit.texi: Likewise.
53841         Reported by Alain Guibert.
53842
53843 2008-04-21  Bruno Haible  <bruno@clisp.org>
53844
53845         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
53846         Patch by Alain Guibert.
53847
53848 2008-04-21  Bruno Haible  <bruno@clisp.org>
53849
53850         Fix test failures on mingw.
53851         * tests/test-xstrtol.c (print_no_progname): New function.
53852         (main): Install it in error_print_progname hook.
53853         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
53854         * tests/test-xstrtoimax.sh: Likewise.
53855         * tests/test-xstrtoumax.sh: Likewise.
53856
53857 2008-04-21  Bruno Haible  <bruno@clisp.org>
53858
53859         Fix test failure on mingw.
53860         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
53861
53862 2008-04-21  Bruno Haible  <bruno@clisp.org>
53863
53864         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
53865         Actually assign a value.
53866
53867 2008-04-20  Bruno Haible  <bruno@clisp.org>
53868
53869         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
53870         take 2.
53871         * lib/canonicalize.c (canonicalize_file_name): Elide if the
53872         'canonicalize-lgpl' module is also used.
53873         * lib/canonicalize-lgpl.c: Undo last change.
53874         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
53875
53876 2008-04-20  Bruno Haible  <bruno@clisp.org>
53877
53878         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
53879         config.h. Provide _mkdir based fallback for mingw.
53880         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
53881         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
53882         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
53883         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
53884         rather than defining mkdir in config.h.
53885         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
53886         (gl_SYS_STAT_H_DEFAULTS): New macro.
53887         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
53888         HAVE_IO_H any more.
53889         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
53890         HAVE_DECL_MKDIR and HAVE_IO_H.
53891
53892 2008-04-20  Bruno Haible  <bruno@clisp.org>
53893
53894         * lib/isapipe.c: Port to native Windows platforms.
53895
53896 2008-04-20  Bruno Haible  <bruno@clisp.org>
53897
53898         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
53899
53900 2008-04-21  Eric Blake  <ebb9@byu.net>
53901
53902         Work around preprocessors that don't handle UINTMAX_MAX.
53903         * lib/memchr2.c (memchr2): Avoid embedded #if.
53904         Reported by Alain Guibert, fix suggested by Bruno Haible.
53905
53906 2008-04-21  Simon Josefsson  <simon@josefsson.org>
53907
53908         * doc/posix-functions/strftime.texi (strftime): Explain better
53909         Windows incompatibility.  Suggested by Micah Cowan
53910         <micah@cowan.name>.
53911
53912 2008-04-20  Bruno Haible  <bruno@clisp.org>
53913
53914         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
53915         unistr/u8-mblen.
53916
53917 2008-04-20  Bruno Haible  <bruno@clisp.org>
53918
53919         Fix test failure on platforms with non-GNU iconv.
53920         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
53921         (U_TO_U8): Use it, rather than u16_to_u8.
53922         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
53923         units at the end of the input string.
53924         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
53925
53926 2008-04-20  Bruno Haible  <bruno@clisp.org>
53927
53928         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
53929         when the resulting length is 0.
53930         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
53931
53932 2008-04-20  Bruno Haible  <bruno@clisp.org>
53933
53934         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
53935         works.
53936         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
53937
53938 2008-04-20  Bruno Haible  <bruno@clisp.org>
53939
53940         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
53941         * modules/tsearch-tests (configure.ac): Test for initstate function.
53942
53943 2008-04-20  Bruno Haible  <bruno@clisp.org>
53944
53945         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
53946         for nlink_t if missing.
53947         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
53948
53949 2008-04-19  Bruno Haible  <bruno@clisp.org>
53950
53951         Work around snprintf bug on Linux libc5.
53952         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
53953         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53954         gl_SNPRINTF_SIZE1.
53955         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53956         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
53957         that test failed.
53958         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
53959         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
53960         * modules/snprintf (Files): Add m4/printf.m4.
53961         * modules/vsnprintf (Files): Likewise.
53962         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
53963         * doc/posix-functions/vsnprintf.texi: Likewise.
53964
53965 2008-04-19  Bruno Haible  <bruno@clisp.org>
53966
53967         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
53968         from 0.0058 to less than 10^-7.
53969
53970 2008-04-19  Bruno Haible  <bruno@clisp.org>
53971
53972         Fix rounding when a precision is given.
53973         * lib/vasnprintf.c (is_borderline): New function.
53974         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
53975         9...9x.
53976         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
53977         %e, %g.
53978         * tests/test-vasprintf-posix.c (test_function): Likewise.
53979         * tests/test-snprintf-posix.h (test_function): Likewise.
53980         * tests/test-sprintf-posix.h (test_function): Likewise.
53981         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
53982         * tests/test-printf-posix.h (test_function): Likewise.
53983         * tests/test-printf-posix.output: Update.
53984         Reported by John Darrington <john@darrington.wattle.id.au> via
53985         Ben Pfaff <blp@cs.stanford.edu>.
53986
53987 2008-04-18  Simon Josefsson  <simon@josefsson.org>
53988
53989         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
53990         Suggested by Bruno Haible <bruno@clisp.org>.
53991
53992 2008-04-17  Bruno Haible  <bruno@clisp.org>
53993
53994         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
53995         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
53996         implementation.
53997         Patch by Bruce Merry <bmerry@gmail.com>.
53998
53999 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54000
54001         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54002         doesn't work under Windows.
54003
54004 2008-04-16  Bruno Haible  <bruno@clisp.org>
54005
54006         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54007         New macros.
54008         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54009         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54010         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54011         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54012         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54013         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54014         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54015         macros.
54016         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54017         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54018         Northern Sotho, Uighur.
54019
54020 2008-04-16  Bruno Haible  <bruno@clisp.org>
54021
54022         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54023         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54024         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54025         Reported by Daniel Bergström <daniel@octocode.com>.
54026
54027 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54028             Bruno Haible  <bruno@clisp.org>
54029
54030         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54031         function.
54032         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54033         New functions, mostly extracted from gl_locale_name_default.
54034         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54035
54036 2008-04-16  Eric Blake  <ebb9@byu.net>
54037
54038         Adjust strtod detection to catch glibc 2.7 bug.
54039         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54040         Reported by John Gatewood Ham.
54041
54042 2008-04-16  Bruno Haible  <bruno@clisp.org>
54043
54044         Add tentative support for Linux libc5.
54045         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54046         * lib/fpurge.c (fpurge): Likewise.
54047         * lib/freadable.c (freadable): Likewise.
54048         * lib/freadahead.c (freadahead): Likewise.
54049         * lib/freading.c (freading): Likewise.
54050         * lib/freadptr.c (freadptr): Likewise.
54051         * lib/freadseek.c (freadptrinc): Likewise.
54052         * lib/fseeko.c (rpl_fseeko): Likewise.
54053         * lib/fseterr.c (fseterr): Likewise.
54054         * lib/fwritable.c (fwritable): Likewise.
54055         * lib/fwriting.c (fwriting): Likewise.
54056         Reported by Alain Guibert <alguibert+bts@free.fr>.
54057
54058 2008-04-15  Bruno Haible  <bruno@clisp.org>
54059
54060         * modules/mathl (configure.ac): Define module indicator.
54061
54062 2008-04-15  Bruno Haible  <bruno@clisp.org>
54063
54064         * lib/logl.c (logl): Remove unused variables.
54065
54066 2008-04-15  Bruno Haible  <bruno@clisp.org>
54067
54068         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54069         fails.
54070
54071 2008-04-15  Bruno Haible  <bruno@clisp.org>
54072
54073         * lib/trim.c (trim2): Fix argument of isspace() macro.
54074
54075 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54076
54077         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54078         to 0.
54079         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54080
54081 2008-04-14  Bruno Haible  <bruno@clisp.org>
54082
54083         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54084         AC_LANG_PROGRAM argument.
54085         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54086         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54087         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54088         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54089         * m4/math_h.m4 (gl_MATH_H): Likewise.
54090         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54091         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54092         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54093         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54094         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54095         * m4/regex.m4 (gl_REGEX): Likewise.
54096         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54097         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54098         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54099         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54100         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54101         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54102         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54103         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54104
54105 2008-04-14  Jim Meyering  <meyering@redhat.com>
54106
54107         test-strtod: fix typos: s/abs/fabs/
54108         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54109
54110 2008-04-13  Bruno Haible  <bruno@clisp.org>
54111
54112         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54113         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54114         module is also used and while not building the reloc-wrapper.
54115
54116 2008-04-13  Bruno Haible  <bruno@clisp.org>
54117
54118         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54119
54120 2008-04-13  Bruno Haible  <bruno@clisp.org>
54121
54122         Fix AIX compilation failure introduced on 2008-04-02.
54123         * tests/test-frexp.c (exp): Undefine before redefining.
54124         * tests/test-frexpl.c (exp): Likewise.
54125
54126 2008-04-13  Bruno Haible  <bruno@clisp.org>
54127
54128         Work around a HP-UX stdio bug.
54129         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54130         * tests/test-ftello.c (main): Likewise.
54131         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54132         * doc/posix-functions/ftello.texi: Likewise.
54133
54134 2008-04-13  Bruno Haible  <bruno@clisp.org>
54135
54136         Make test-signbit pass on HP-UX/hppa.
54137         * tests/test-signbit.c (minus_zerol): New variable.
54138         (test_signbitl): Use it.
54139
54140 2008-04-13  Bruno Haible  <bruno@clisp.org>
54141
54142         Make truncl work on OSF/1 4.0.
54143         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54144         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54145         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54147         HAVE_DECL_TRUNCL.
54148         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54149         HAVE_DECL_TRUNCL.
54150         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54151
54152 2008-04-13  Bruno Haible  <bruno@clisp.org>
54153
54154         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54155
54156 2008-04-13  Bruno Haible  <bruno@clisp.org>
54157
54158         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54159         expression, so as to avoid HP-UX 11 cc compiler bug.
54160
54161 2008-04-13  Bruno Haible  <bruno@clisp.org>
54162
54163         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54164
54165 2008-04-13  Bruno Haible  <bruno@clisp.org>
54166
54167         * lib/git-merge-changelog.c: Remove empty declaration outside of
54168         functions.
54169
54170 2008-04-13  Bruno Haible  <bruno@clisp.org>
54171
54172         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54173
54174 2008-04-13  Bruno Haible  <bruno@clisp.org>
54175
54176         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54177         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54178         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54179         also if it exists but lacks definitions of the SHUT_* macros.
54180         * modules/sys_socket (Description): Update.
54181         Reported by Elbert Pol <e.pol@chello.nl>.
54182
54183 2008-04-13  Bruno Haible  <bruno@clisp.org>
54184
54185         * lib/localcharset.c (OS2): Don't redefine if already defined.
54186         Reported by Elbert Pol <e.pol@chello.nl>.
54187
54188 2008-04-13  Bruno Haible  <bruno@clisp.org>
54189
54190         * lib/binary-io.h [__EMX__]: Include <io.h>.
54191         Reported by Elbert Pol <e.pol@chello.nl>.
54192
54193 2008-04-12  Bruno Haible  <bruno@clisp.org>
54194
54195         * lib/fpucw.h: Enable the definitions also for x86_64.
54196         Needed for NetBSD/x86_64.
54197         Reported by Thomas Klausner <tk@giga.or.at>.
54198
54199 2008-04-12  Bruno Haible  <bruno@clisp.org>
54200
54201         * tests/test-strtod.c: Include isnand.h.
54202         (main): Use isnand instead of isnan.
54203         Reported by Jim Meyering.
54204
54205 2008-04-12  Bruno Haible  <bruno@clisp.org>
54206
54207         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54208         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54209
54210 2008-04-12  Jim Meyering  <meyering@redhat.com>
54211
54212         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54213
54214 2008-04-12  Bruno Haible  <bruno@clisp.org>
54215
54216         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54217         Reported by Elbert Pol <e.pol@chello.nl>.
54218
54219 2008-04-12  Eric Blake  <ebb9@byu.net>
54220
54221         Work around Solaris 10 math.h bug.
54222         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54223         (gl_MATH_H_DEFAULTS): Set up default.
54224         * modules/math (Makefile.am): Replace new indicators.
54225         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54226         * tests/test-math.c (main): Test this.
54227         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54228         * doc/posix-headers/math.texi (math.h): Mention bug.
54229         Reported by Nelson H. F. Beebe and Jim Meyering.
54230
54231 2008-04-11  Bruno Haible  <bruno@clisp.org>
54232
54233         Adapt to future versions of Apple GCC.
54234         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54235         Reported by Peter O'Gorman <peter@pogma.com>.
54236
54237 2008-04-11  Bruno Haible  <bruno@clisp.org>
54238
54239         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54240
54241 2008-04-11  Bruno Haible  <bruno@clisp.org>
54242
54243         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54244
54245         * modules/getaddrinfo-tests (Makefile.am): Define
54246         test_getaddrinfo_LDADD.
54247
54248 2008-04-11  Bruno Haible  <bruno@clisp.org>
54249
54250         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54251         (init): Fix syntax error.
54252         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54253         is declared.
54254
54255 2008-04-11  Bruno Haible  <bruno@clisp.org>
54256
54257         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54258         * modules/glob (Depends-on): Add stdbool.
54259
54260 2008-04-11  Bruno Haible  <bruno@clisp.org>
54261
54262         * lib/trim.c: Include <string.h>.
54263
54264 2008-04-11  Eric Blake  <ebb9@byu.net>
54265
54266         Avoid compile failure on OS/2.
54267         * lib/regex_internal.h (internal_function): Disable optimization
54268         on OS/2 (__EMX__), where it caused compiler error.
54269         Reported by Elbert Pol.
54270
54271 2008-04-11  Bruno Haible  <bruno@clisp.org>
54272
54273         Flush the standard error stream before aborting. Needed on mingw.
54274         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54275         * tests/test-array_list.c (ASSERT): Likewise.
54276         * tests/test-array_oset.c (ASSERT): Likewise.
54277         * tests/test-avltree_list.c (ASSERT): Likewise.
54278         * tests/test-avltree_oset.c (ASSERT): Likewise.
54279         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54280         * tests/test-binary-io.c (ASSERT): Likewise.
54281         * tests/test-byteswap.c (ASSERT): Likewise.
54282         * tests/test-c-ctype.c (ASSERT): Likewise.
54283         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54284         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54285         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54286         * tests/test-c-strstr.c (ASSERT): Likewise.
54287         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54288         * tests/test-canonicalize.c (ASSERT): Likewise.
54289         * tests/test-carray_list.c (ASSERT): Likewise.
54290         * tests/test-ceilf1.c (ASSERT): Likewise.
54291         * tests/test-ceilf2.c (ASSERT): Likewise.
54292         * tests/test-ceill.c (ASSERT): Likewise.
54293         * tests/test-count-one-bits.c (ASSERT): Likewise.
54294         * tests/test-fbufmode.c (ASSERT): Likewise.
54295         * tests/test-fflush2.c (ASSERT): Likewise.
54296         * tests/test-floorf1.c (ASSERT): Likewise.
54297         * tests/test-floorf2.c (ASSERT): Likewise.
54298         * tests/test-floorl.c (ASSERT): Likewise.
54299         * tests/test-fopen.c (ASSERT): Likewise.
54300         * tests/test-fpending.c (ASSERT): Likewise.
54301         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54302         * tests/test-fpurge.c (ASSERT): Likewise.
54303         * tests/test-freadable.c (ASSERT): Likewise.
54304         * tests/test-freadahead.c (ASSERT): Likewise.
54305         * tests/test-freading.c (ASSERT): Likewise.
54306         * tests/test-freadptr.c (ASSERT): Likewise.
54307         * tests/test-freadptr2.c (ASSERT): Likewise.
54308         * tests/test-freadseek.c (ASSERT): Likewise.
54309         * tests/test-freopen.c (ASSERT): Likewise.
54310         * tests/test-frexp.c (ASSERT): Likewise.
54311         * tests/test-frexpl.c (ASSERT): Likewise.
54312         * tests/test-fseek.c (ASSERT): Likewise.
54313         * tests/test-fseeko.c (ASSERT): Likewise.
54314         * tests/test-fstrcmp.c (ASSERT): Likewise.
54315         * tests/test-ftell.c (ASSERT): Likewise.
54316         * tests/test-ftello.c (ASSERT): Likewise.
54317         * tests/test-func.c (ASSERT): Likewise.
54318         * tests/test-fwritable.c (ASSERT): Likewise.
54319         * tests/test-fwriting.c (ASSERT): Likewise.
54320         * tests/test-getdelim.c (ASSERT): Likewise.
54321         * tests/test-getline.c (ASSERT): Likewise.
54322         * tests/test-i-ring.c (ASSERT): Likewise.
54323         * tests/test-iconv-utf.c (ASSERT): Likewise.
54324         * tests/test-iconv.c (ASSERT): Likewise.
54325         * tests/test-isfinite.c (ASSERT): Likewise.
54326         * tests/test-isnand.c (ASSERT): Likewise.
54327         * tests/test-isnanf.c (ASSERT): Likewise.
54328         * tests/test-isnanl.h (ASSERT): Likewise.
54329         * tests/test-ldexpl.c (ASSERT): Likewise.
54330         * tests/test-linked_list.c (ASSERT): Likewise.
54331         * tests/test-linkedhash_list.c (ASSERT): Likewise.
54332         * tests/test-localename.c (ASSERT): Likewise.
54333         * tests/test-lseek.c (ASSERT): Likewise.
54334         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54335         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54336         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54337         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54338         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54339         * tests/test-mbschr.c (ASSERT): Likewise.
54340         * tests/test-mbscspn.c (ASSERT): Likewise.
54341         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54342         * tests/test-mbspbrk.c (ASSERT): Likewise.
54343         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54344         * tests/test-mbsrchr.c (ASSERT): Likewise.
54345         * tests/test-mbsspn.c (ASSERT): Likewise.
54346         * tests/test-mbsstr1.c (ASSERT): Likewise.
54347         * tests/test-mbsstr2.c (ASSERT): Likewise.
54348         * tests/test-mbsstr3.c (ASSERT): Likewise.
54349         * tests/test-memchr2.c (ASSERT): Likewise.
54350         * tests/test-memmem.c (ASSERT): Likewise.
54351         * tests/test-open.c (ASSERT): Likewise.
54352         * tests/test-printf-frexp.c (ASSERT): Likewise.
54353         * tests/test-printf-frexpl.c (ASSERT): Likewise.
54354         * tests/test-printf-posix.c (ASSERT): Likewise.
54355         * tests/test-quotearg.c (ASSERT): Likewise.
54356         * tests/test-rbtree_list.c (ASSERT): Likewise.
54357         * tests/test-rbtree_oset.c (ASSERT): Likewise.
54358         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
54359         * tests/test-round1.c (ASSERT): Likewise.
54360         * tests/test-roundf1.c (ASSERT): Likewise.
54361         * tests/test-roundl.c (ASSERT): Likewise.
54362         * tests/test-signbit.c (ASSERT): Likewise.
54363         * tests/test-sleep.c (ASSERT): Likewise.
54364         * tests/test-snprintf-posix.c (ASSERT): Likewise.
54365         * tests/test-snprintf.c (ASSERT): Likewise.
54366         * tests/test-sprintf-posix.c (ASSERT): Likewise.
54367         * tests/test-stat-time.c (ASSERT): Likewise.
54368         * tests/test-strcasestr.c (ASSERT): Likewise.
54369         * tests/test-strerror.c (ASSERT): Likewise.
54370         * tests/test-striconv.c (ASSERT): Likewise.
54371         * tests/test-striconveh.c (ASSERT): Likewise.
54372         * tests/test-striconveha.c (ASSERT): Likewise.
54373         * tests/test-strsignal.c (ASSERT): Likewise.
54374         * tests/test-strstr.c (ASSERT): Likewise.
54375         * tests/test-strtod.c (ASSERT): Likewise.
54376         * tests/test-trunc1.c (ASSERT): Likewise.
54377         * tests/test-trunc2.c (ASSERT): Likewise.
54378         * tests/test-truncf1.c (ASSERT): Likewise.
54379         * tests/test-truncf2.c (ASSERT): Likewise.
54380         * tests/test-truncl.c (ASSERT): Likewise.
54381         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
54382         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
54383         * tests/test-vasnprintf.c (ASSERT): Likewise.
54384         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
54385         * tests/test-vasprintf.c (ASSERT): Likewise.
54386         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
54387         * tests/test-vprintf-posix.c (ASSERT): Likewise.
54388         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
54389         * tests/test-vsnprintf.c (ASSERT): Likewise.
54390         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
54391         * tests/test-wcwidth.c (ASSERT): Likewise.
54392         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
54393         * tests/test-xprintf-posix.c (ASSERT): Likewise.
54394         * tests/test-xvasprintf.c (ASSERT): Likewise.
54395         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
54396         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
54397         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
54398         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
54399         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
54400         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
54401         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
54402         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
54403         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
54404         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
54405         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
54406         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
54407         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
54408         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
54409         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
54410         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
54411         * tests/unictype/test-block_list.c (ASSERT): Likewise.
54412         * tests/unictype/test-block_of.c (ASSERT): Likewise.
54413         * tests/unictype/test-block_test.c (ASSERT): Likewise.
54414         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
54415         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
54416         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
54417         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
54418         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
54419         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
54420         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
54421         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
54422         * tests/unictype/test-combining.c (ASSERT): Likewise.
54423         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
54424         * tests/unictype/test-digit.c (ASSERT): Likewise.
54425         * tests/unictype/test-mirror.c (ASSERT): Likewise.
54426         * tests/unictype/test-numeric.c (ASSERT): Likewise.
54427         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
54428         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
54429         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
54430         * tests/unictype/test-scripts.c (ASSERT): Likewise.
54431         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
54432         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
54433         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
54434         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
54435         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
54436         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
54437         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
54438         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
54439         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
54440         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
54441         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
54442         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
54443         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
54444         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
54445         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
54446         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
54447         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
54448         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
54449         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
54450         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
54451         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
54452         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
54453         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
54454         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
54455         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
54456         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
54457         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
54458         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
54459         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
54460         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
54461         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
54462         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
54463         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
54464         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
54465         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
54466         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
54467         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
54468         Reported by Eric Blake.
54469
54470 2008-04-11  Bruno Haible  <bruno@clisp.org>
54471
54472         * lib/wchar.in.h: Tweak comment.
54473
54474 2008-04-11  Bruno Haible  <bruno@clisp.org>
54475
54476         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
54477         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
54478         gl_COMMON.
54479         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
54480
54481 2008-04-11  Bruno Haible  <bruno@clisp.org>
54482
54483         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
54484
54485 2008-04-11  Simon Josefsson  <simon@josefsson.org>
54486
54487         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
54488         of attempting to use non-existing /dev/*random.  Based on patch
54489         from Adam Strzelecki <ono@java.pl> in
54490         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
54491
54492 2008-04-08  Bruno Haible  <bruno@clisp.org>
54493
54494         Add tentative support for emx+gcc.
54495         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
54496         * lib/fpurge.c (fpurge): Likewise.
54497         * lib/freadable.c (freadable): Likewise.
54498         * lib/freadahead.c (freadahead): Likewise.
54499         * lib/freading.c (freading): Likewise.
54500         * lib/freadptr.c (freadptr): Likewise.
54501         * lib/freadseek.c (freadptrinc): Likewise.
54502         * lib/fseeko.c (rpl_fseeko): Likewise.
54503         * lib/fseterr.c (fseterr): Likewise.
54504         * lib/fwritable.c (fwritable): Likewise.
54505         * lib/fwriting.c (fwriting): Likewise.
54506         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
54507
54508 2008-04-09  Eric Blake  <ebb9@byu.net>
54509
54510         Avoid some autoconf warnings.
54511         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
54512         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
54513         * m4/afs.m4 (gl_AFS): Likewise.
54514         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
54515         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
54516         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54517         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
54518         (gl_INTEGER_TYPE_SUFFIX): Likewise.
54519         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
54520         (AC_CHECK_DECLS_ONCE): Likewise.
54521         Rename file...
54522         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
54523         gnulib-tool requires autoconf 2.59 or better.
54524         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
54525
54526 2008-04-08  Eric Blake  <ebb9@byu.net>
54527
54528         Use 'git describe --match' if present (added in git 1.5.5).
54529         * build-aux/git-version-gen: Limit result to tags that match 'v*'
54530         if possible.
54531
54532 2008-04-08  Bruno Haible  <bruno@clisp.org>
54533
54534         Add tentative support for OpenServer.
54535         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
54536         _ptr, _cnt.
54537         * lib/fpurge.c (fpurge): Likewise.
54538         * lib/freadable.c (freadable): Likewise.
54539         * lib/freadahead.c (freadahead): Likewise.
54540         * lib/freading.c (freading): Likewise.
54541         * lib/freadptr.c (freadptr): Likewise.
54542         * lib/freadseek.c (freadptrinc): Likewise.
54543         * lib/fseeko.c (rpl_fseeko): Likewise.
54544         * lib/fseterr.c (fseterr): Likewise.
54545         * lib/fwritable.c (fwritable): Likewise.
54546         * lib/fwriting.c (fwriting): Likewise.
54547         Reported by Roger Cornelius <rac@tenzing.org> and
54548         Brian K. White <brian@aljex.com>.
54549
54550 2008-04-06  Jim Meyering  <meyering@redhat.com>
54551
54552         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
54553
54554 2008-04-06  Bruno Haible  <bruno@clisp.org>
54555
54556         Avoid possible error with non-ASCII bytes in UTF-8 locales.
54557         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
54558         * tests/test-printf-posix.sh: Likewise.
54559         * tests/test-vfprintf-posix.sh: Likewise.
54560         * tests/test-vprintf-posix.sh: Likewise.
54561         * tests/test-xprintf-posix.sh: Likewise.
54562
54563 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54564
54565         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
54566         hide error from 'ls', needed on OS/2.
54567         Report by Elbert Pol <elbert.pol@gmail.com>.
54568
54569 2008-04-04  Eric Blake  <ebb9@byu.net>
54570
54571         Make test-fseeko.c failures meaningful.
54572         * tests/test-fseeko.c: Print line number on failure.
54573         * tests/test-fseek.c: Likewise.
54574         Reported by Nelson H. F. Beebe.
54575
54576         Improve strtod bug detection check.
54577         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
54578         required for Solaris 10.
54579         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
54580
54581 2008-04-04  Bruno Haible  <bruno@clisp.org>
54582
54583         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
54584         by m4/setenv.m4.
54585
54586 2008-04-03  Eric Blake  <ebb9@byu.net>
54587
54588         Ensure sane .version contents.
54589         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
54590         version string.
54591         * build-aux/git-version-gen: Improve documentation.
54592
54593         Make GNU make output nicer.
54594         * top/GNUmakefile [!_have-Makefile]: Add dependency on
54595         MAKECMDGOALS to enforce message for all command line targets.  Set
54596         srcdir for use in maint.mk.
54597
54598         Another maintainer tweak.
54599         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
54600         a target that regenerates version.
54601
54602 2008-04-03  Jim Meyering  <meyering@redhat.com>
54603
54604         vc-list-files: don't cause coreutils "make po-check" failure
54605         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
54606
54607 2008-04-03  Eric Blake  <ebb9@byu.net>
54608
54609         Allow VPATH usage of vc-list-files.
54610         * build-aux/vc-list-files (scriptversion): Add timestamp.
54611         (options): Add --help, --version, -C.
54612         (CVS): Support installed cvsu.
54613
54614 2008-04-02  Bruno Haible  <bruno@clisp.org>
54615
54616         Avoid some "statement with no effect" warnings from gcc.
54617         * tests/test-wctype.c (main): Explicitly ignore unused values.
54618         Reported by Jim Meyering.
54619
54620 2008-04-02  Jim Meyering  <meyering@redhat.com>
54621
54622         Avoid some warnings from "gcc -Wshadow".
54623         * tests/test-frexp.c (exp): Define to a different identifier.
54624         * tests/test-frexpl.c (exp): Likewise.
54625
54626 2008-04-03  Jim Meyering  <meyering@redhat.com>
54627
54628         bootstrap: remove dangling *.[ch] symlinks from lib
54629         * build-aux/bootstrap [dangling symlink removal]: Move find's
54630         -depth option to precede all others, to avoid a warning.
54631         Remove *.[ch] files too, and from "$source_base" (usually lib/).
54632
54633 2008-04-02  Bruno Haible  <bruno@clisp.org>
54634
54635         Avoid some warnings from "gcc -Wshadow".
54636         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
54637         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
54638         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
54639         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
54640         Reported by Jim Meyering.
54641
54642 2008-04-01  Bruno Haible  <bruno@clisp.org>
54643
54644         Fix test to work on IRIX 6.5 with cc.
54645         * tests/test-math.c (numeric_equal): New function.
54646         (main): Use it.
54647
54648 2008-04-01  Bruno Haible  <bruno@clisp.org>
54649
54650         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
54651
54652 2008-04-01  Bruno Haible  <bruno@clisp.org>
54653
54654         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
54655         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54656         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
54657         (Depends-on): Remove math.
54658
54659         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
54660         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54661         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
54662         (Depends-on): Remove math.
54663
54664         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
54665         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54666         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
54667         (Depends-on): Remove math.
54668         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
54669         (Depends-on): Remove math.
54670
54671         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
54672         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54673         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
54674         (Depends-on): Remove math.
54675         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
54676         (Depends-on): Remove math.
54677
54678         * tests/test-round1.c: Include nan.h.
54679         (main): Use NaNd instead of NAN.
54680         * modules/round-tests (Files): Add tests/nan.h.
54681
54682         * tests/test-trunc1.c: Include nan.h.
54683         (main): Use NaNd instead of NAN.
54684         * modules/trunc-tests (Files): Add tests/nan.h.
54685
54686         * tests/test-roundf1.c: Include nan.h.
54687         (main): Use NaNf instead of NAN.
54688         * modules/roundf-tests (Files): Add tests/nan.h.
54689
54690         * tests/test-truncf1.c: Include nan.h.
54691         (main): Use NaNf instead of NAN.
54692         * modules/truncf-tests (Files): Add tests/nan.h.
54693
54694         * tests/test-ceilf1.c: Include nan.h.
54695         (main): Use NaNf instead of NAN.
54696         * modules/ceilf-tests (Files): Add tests/nan.h.
54697
54698         * tests/test-floorf1.c: Include nan.h.
54699         (main): Use NaNf instead of NAN.
54700         * modules/floorf-tests (Files): Add tests/nan.h.
54701
54702         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
54703         (main): Use NaNf instead of NAN.
54704         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
54705
54706         * tests/test-isnand.c: Include nan.h instead of <math.h>.
54707         (main): Use NaNd instead of NAN.
54708         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
54709
54710         * tests/test-frexp.c: Include nan.h.
54711         (main): Use NaNd instead of NAN.
54712         * modules/frexp-tests (Files): Add tests/nan.h.
54713
54714         * lib/isnan.c: Don't include <math.h>.
54715         (FUNC): Don't use NAN macro.
54716         * modules/isnand-nolibm (Depends-on): Remove math.
54717         * modules/isnanf-nolibm (Depends-on): Remove math.
54718         * modules/isnanl (Depends-on): Remove math.
54719         * modules/isnanl-nolibm (Depends-on): Remove math.
54720
54721         * tests/nan.h: New file.
54722
54723 2008-04-01  Eric Blake  <ebb9@byu.net>
54724
54725         Fix typos.
54726         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
54727         values to be the right type.
54728
54729         For now, cater to gnulib strtod inaccuracies.
54730         * tests/test-strtod.c (main): Allow 1-ulp error on expected
54731         fractional results.  While not as nice from a QoI perspective, it
54732         is a quicker patch than correctly implementing decimal to binary
54733         rounding.
54734
54735 2008-03-31  Eric Blake  <ebb9@byu.net>
54736
54737         Guarantee a definition of NAN.
54738         * lib/math.in.h (NAN): Define if missing.
54739         * tests/test-math.c (main): Test it.
54740         * doc/posix-headers/math.texi (math.h): Document this.
54741         * lib/isnan.c (rpl_isnand): Use it.
54742         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
54743         * tests/test-floorf1.c (NaN): Likewise.
54744         * tests/test-frexp.c (NaN): Likewise.
54745         * tests/test-isnand.c (NaN): Likewise.
54746         * tests/test-isnanf.c (NaN): Likewise.
54747         * tests/test-round1.c (NaN): Likewise.
54748         * tests/test-roundf1.c (NaN): Likewise.
54749         * tests/test-snprintf-posix.h (NaN): Likewise.
54750         * tests/test-sprintf-posix.h (NaN): Likewise.
54751         * tests/test-trunc1.c (NaN): Likewise.
54752         * tests/test-truncf1.c (NaN): Likewise.
54753         * tests/test-vasnprintf-posix.c (NaN): Likewise.
54754         * tests/test-vasprintf-posix.c (NaN): Likewise.
54755         * modules/isnand-nolibm (Depends-on): Add math.
54756         * modules/isnanf-nolibm (Depends-on): Likewise.
54757         * modules/isnanl (Depends-on): Likewise.
54758         * modules/isnanl-nolibm (Depends-on): Likewise.
54759         * modules/snprintf-posix-tests (Depends-on): Likewise.
54760         * modules/sprintf-posix-tests (Depends-on): Likewise.
54761         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
54762         * modules/vsprintf-posix-tests (Depends-on): Likewise.
54763         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
54764         * modules/vasprintf-posix-tests (Depends-on): Likewise.
54765
54766 2008-03-31  Bruno Haible  <bruno@clisp.org>
54767
54768         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
54769         * doc/posix-functions/strtod.texi: Likewise.
54770
54771 2008-03-31  Bruno Haible  <bruno@clisp.org>
54772
54773         * tests/test-strtod.c (main): Don't use C99 syntax.
54774
54775 2008-03-31  Bruno Haible  <bruno@clisp.org>
54776
54777         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
54778         Reported by Eric Blake.
54779
54780 2008-03-31  Jim Meyering  <meyering@redhat.com>
54781
54782         Don't compare actual signbit return values.
54783         * tests/test-strtod.c (main): Rather, compare only their
54784         zero/non-zero nature.
54785
54786 2008-03-31  Eric Blake  <ebb9@byu.net>
54787
54788         More strtod documentation.
54789         * doc/posix-functions/strtod.texi (strtod): Interpret more test
54790         failures as distinct bugs.
54791
54792 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
54793
54794         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
54795         Problem reported by Erik Benada in
54796         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
54797
54798 2008-03-30  Bruno Haible  <bruno@clisp.org>
54799
54800         * tests/test-strtod.c: Add comments about which assertion fails on which
54801         platform.
54802         * doc/posix-functions/strtod.texi: Add info about many more platforms.
54803
54804 2008-03-30  Eric Blake  <ebb9@byu.net>
54805
54806         Test signbit behavior on zeros.
54807         * tests/test-signbit.c (test_signbitf): Add tests for zero.
54808         (test_signbitd, test_signbitl): Likewise.
54809
54810         More strtod touchups.
54811         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
54812         sign of negative underflow, for now.  Use .5, not .1.
54813         * doc/posix-functions/strtod.texi (strtod): Mention these
54814         limitations.
54815         Reported by Jim Meyering.
54816
54817 2008-03-30  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
54820         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
54821
54822 2008-03-30  Bruno Haible  <bruno@clisp.org>
54823
54824         Avoid failure when attempting to return empty iconv results on some
54825         platforms.
54826         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
54827         allocation, don't report ENOMEM when the resulting string is empty.
54828
54829 2008-03-30  Bruno Haible  <bruno@clisp.org>
54830
54831         Fix buffer overrun.
54832         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
54833         Don't consider the width for tmp_length. Check count against tmp_length
54834         before doing the padding. Ensure enough allocation during padding.
54835
54836 2008-03-30  Eric Blake  <ebb9@byu.net>
54837
54838         strtod touchups.
54839         * lib/strtod.c (strtod): Avoid compiler warnings.
54840         Reported by Jim Meyering.
54841
54842 2008-03-30  Bruno Haible  <bruno@clisp.org>
54843
54844         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
54845         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
54846         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
54847         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
54848         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
54849         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
54850         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
54851         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
54852
54853         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
54854         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
54855         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
54856         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
54857         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
54858         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
54859         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
54860         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
54861
54862         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
54863         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
54864         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
54865         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
54866         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
54867         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
54868         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
54869         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
54870
54871         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
54872         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
54873
54874         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
54875         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
54876
54877         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
54878         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
54879
54880         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
54881         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
54882         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
54883
54884         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
54885         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
54886         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
54887
54888         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
54889         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
54890         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
54891
54892         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
54893         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
54894         * modules/vasprintf (Depends-on): Add EOVERFLOW.
54895
54896         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
54897         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
54898         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
54899         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
54900         (Depends-on): Add EOVERFLOW.
54901         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
54902         (Depends-on): Add EOVERFLOW.
54903         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54904         (Depends-on): Add EOVERFLOW.
54905         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54906         (Depends-on): Add EOVERFLOW.
54907         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54908         (Depends-on): Add EOVERFLOW.
54909         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54910         (Depends-on): Add EOVERFLOW.
54911         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54912         (Depends-on): Add EOVERFLOW.
54913         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54914         (Depends-on): Add EOVERFLOW.
54915
54916         * lib/sprintf.c (EOVERFLOW): Remove fallback.
54917         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
54918         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
54919
54920         * lib/snprintf.c (EOVERFLOW): Remove fallback.
54921         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
54922         * modules/snprintf (Depends-on): Add EOVERFLOW.
54923
54924         * lib/poll.c (EOVERFLOW): Remove fallback.
54925         * modules/poll (Depends-on): Add EOVERFLOW.
54926
54927         * lib/getugroups.c (EOVERFLOW): Remove fallback.
54928         * modules/getugroups (Depends-on): Add EOVERFLOW.
54929
54930         * lib/getdelim.c (EOVERFLOW): Remove fallback.
54931         * modules/getdelim (Depends-on): Add EOVERFLOW.
54932
54933         * lib/ftell.c (EOVERFLOW): Remove fallback.
54934         * modules/ftell (Depends-on): Add EOVERFLOW.
54935
54936         * lib/fprintf.c (EOVERFLOW): Remove fallback.
54937         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
54938         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
54939
54940         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
54941
54942         * modules/EOVERFLOW-tests: New file.
54943         * tests/test-EOVERFLOW.c: New file.
54944
54945         * modules/EOVERFLOW: New file.
54946         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
54947
54948 2008-03-30  Bruno Haible  <bruno@clisp.org>
54949
54950         Fix bug introduced on 2007-06-10.
54951         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
54952         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
54953
54954 2008-03-30  Bruno Haible  <bruno@clisp.org>
54955
54956         Improve freadseek's efficiency after ungetc.
54957         * lib/freadseek.c: Include freadahead.h.
54958         (freadptrinc): New function, extracted from freadseek.
54959         (freadseek): Use it in a loop. Use freadahead to determine the number
54960         of loop iterations.
54961         * modules/freadseek (Depends-on): Add freadahead.
54962         (configure.ac): Require AC_C_INLINE.
54963
54964 2008-03-30  Bruno Haible  <bruno@clisp.org>
54965
54966         * lib/freadseek.c (freadseek): Don't ignore the return value of
54967         freadptr.
54968
54969 2008-03-29  Eric Blake  <ebb9@byu.net>
54970
54971         Add hex float support.
54972         * modules/strtod (Depends-on): Add c-ctype.
54973         (Link): Mention POW_LIB.
54974         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
54975         whitespace between 'e' and exponent.
54976         * tests/test-strtod.c (main): Enable hex float tests.
54977         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
54978         now provides.
54979
54980         Document various strtod bugs, with some fixes.
54981         * doc/posix-functions/strtod.texi (strtod): Document bugs with
54982         "-0x", "inf", "nan", and hex constants.
54983         * doc/posix-functions/atof.texi (atof): Likewise.
54984         * modules/stdlib (Makefile.am): Support strtod.
54985         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
54986         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
54987         detect additional strtod bugs.
54988         * lib/stdlib.in.h (rpl_strtod): Add declarations.
54989         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
54990         bool where appropriate.  Parse 'inf' and 'nan'.
54991         * tests/test-strtod.c: New file.
54992         * modules/strtod (Depends-on): Add stdbool, stdlib.
54993         (configure.ac): Turn on module indicator.
54994         * modules/strtod-tests: New module.
54995
54996 2008-03-29  Eric Blake  <ebb9@byu.net>
54997
54998         Fix ftell on mingw.
54999         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55000         * modules/ftell-tests (Depends-on): Add binary-io.
55001         * modules/ftello-tests (Depends-on): Likewise.
55002         * tests/test-ftell.c (main): Enhance test to cover behavior after
55003         ungetc.  Enforce binary mode.
55004         * tests/test-ftello.c (main): Likewise.
55005
55006         Pass test-freadseek on cygwin.
55007         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55008         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55009         ungetc buffer.
55010
55011         * tests/test-fflush2.c (main): Fix typo.
55012
55013 2008-03-29  Bruno Haible  <bruno@clisp.org>
55014
55015         * tests/test-fflush2.c (main): Temporarily disable the contents of
55016         this test.
55017         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55018         Reported by Eric Blake.
55019
55020 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55021
55022         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55023         (GC_SHA224_DIGEST_SIZE): Add.
55024
55025         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55026         (gc_hash_digest_length): Likewise.
55027         (gc_hash_buffer): Likewise.
55028
55029 2008-03-25  Bruno Haible  <bruno@clisp.org>
55030
55031         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55032         detail which gettext release to use.
55033         Reported by Simon Josefsson.
55034
55035 2008-03-26  Jim Meyering  <meyering@redhat.com>
55036
55037         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55038         * modules/gnumakefile (clean-GNUmakefile): Also, use
55039         test ... && ... || : syntax rather than if-then ... fi.
55040
55041         gnumakefile: Don't double-quote-expand $(VPATH) value.
55042         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55043
55044 2008-03-24  Eric Blake  <ebb9@byu.net>
55045
55046         Alter GNUmakefile to install into top directory.
55047         * modules/maintainer-makefile: Split, and add dependency...
55048         * modules/gnumakefile: to this new module.
55049         * build-aux/GNUmakefile: Move...
55050         * top/GNUmakefile: ...here.
55051         * build-aux/maint.mk: Move...
55052         * top/maint.mk: ...here.
55053         * MODULES.html.sh (Support for maintaining...): Document new
55054         module.
55055
55056 2008-03-23  Bruno Haible  <bruno@clisp.org>
55057
55058         * gnulib-tool: New options --vc-files, --no-vc-files.
55059         (func_usage): Document them.
55060         (vc_files): New variable.
55061         (func_import): Consider vc_files.
55062         (func_create_testdir): Set vc_files to empty.
55063         Suggested by Jim Meyering and Karl Berry.
55064
55065 2008-03-23  Bruno Haible  <bruno@clisp.org>
55066
55067         Fix regex compilation error on HP-UX 11.
55068         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55069         * modules/regex (Files): Add m4/mbstate_t.m4.
55070         Reported by Ton Voon <ton.voon@altinity.com>.
55071
55072 2008-03-23  Bruno Haible  <bruno@clisp.org>
55073
55074         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55075
55076 2008-03-23  Eric Blake  <ebb9@byu.net>
55077             Bruno Haible  <bruno@clisp.org>
55078
55079         Install files from top/ in the destination directory.
55080         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55081         augmentation also for the files from top/.
55082         (func_import, func_create_testdir): Rewrite file names:
55083         top/filename -> filename.
55084
55085 2008-03-23  Bruno Haible  <bruno@clisp.org>
55086
55087         Tweak "gnulib --version" output.
55088         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55089
55090 2008-03-23  Bruno Haible  <bruno@clisp.org>
55091
55092         Tweak "gnulib --version" output.
55093         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55094         rather than contents of ChangeLog, when possible.
55095
55096 2008-03-21  Eric Blake  <ebb9@byu.net>
55097
55098         More --version tweaks.
55099         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55100         date of last ChangeLog entry.
55101
55102 2008-03-21  Jim Meyering  <meyering@redhat.com>
55103
55104         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55105
55106 2008-03-20  Eric Blake  <ebb9@byu.net>
55107
55108         VPATH fix.
55109         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55110
55111 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55112
55113         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55114         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55115
55116 2008-03-20  Eric Blake  <ebb9@byu.net>
55117
55118         Sync GNUmakefile with coreutils.
55119         * build-aux/GNUmakefile (have-Makefile): Rename...
55120         (_have-Makefile): ...to this, for namespace consideration.
55121         (GNUmakefile.cfg): Include, if present.
55122         (_autoreconf): Define a default.
55123         (_is-dist-target): New rule for rebuilds to pick up intra-release
55124         version.
55125         (maint-cfg.mk): Rename...
55126         (cfg.mk): ...to this.
55127
55128 2008-03-18  Jim Meyering  <meyering@redhat.com>
55129
55130         New script and module: mktempd
55131         * MODULES.html.sh (maint+release support): Add mktempd.
55132         * build-aux/mktempd: New file.
55133         * modules/mktempd: New file.
55134
55135 2008-03-15  Jim Meyering  <meyering@redhat.com>
55136
55137         Undo last change.
55138         * lib/sha1.c, lib/md5.c: 63 != ~63.
55139         Reported by Andreas Schwab.
55140
55141         sha1.c, md5.c: Hoist a redundant expression.
55142         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55143         "ctx->buflen" only once, before calling *_process_block.
55144         * lib/md5.c (md5_process_bytes): Likewise.
55145
55146 2008-03-14  Eric Blake  <ebb9@byu.net>
55147
55148         Bump copyright year in files generated by gnulib-tool.
55149         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55150         gnulib-tool, rather than hard-coding it.
55151
55152         Fix 'gnulib-tool --version' output to work with git.
55153         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55154         (startup): ...here.
55155         (func_version): Use it to invoke git-version-gen, rather than
55156         relying on CVS keyword expansion.  Modernize wording.
55157         (cvsdatestamp, last_checkin_date, version): Kill unused
55158         variables.
55159
55160 2008-03-12  Jim Meyering  <meyering@redhat.com>
55161
55162         Recognize optional cast of the argument to free.
55163         * build-aux/useless-if-before-free: Update regexps.
55164
55165         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55166
55167 2008-03-11  Bruno Haible  <bruno@clisp.org>
55168
55169         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55170         by a single package.
55171         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55172         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55173         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55174         Reported by Sam Steingold <sds@gnu.org>.
55175
55176 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55177
55178         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55179         repositories.
55180
55181 2008-03-11  Bruno Haible  <bruno@clisp.org>
55182
55183         Avoid conflicts between local macro definitions.
55184         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55185         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55186
55187 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55188             Bruno Haible  <bruno@clisp.org>
55189
55190         Make va_copy work with some version of xlc on AIX 5.1.
55191         * lib/stdarg.in.h: New file.
55192         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55193         On AIX, use a <stdarg.h> file substitute.
55194         * modules/stdarg (Files): Add lib/stdarg.in.h.
55195         (Depends-on): Add include_next.
55196         (Makefile.am): Build a stdarg.h substitute if requested.
55197         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55198
55199 2008-03-10  Bruno Haible  <bruno@clisp.org>
55200
55201         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55202         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55203         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55204
55205 2008-03-10  Bruno Haible  <bruno@clisp.org>
55206
55207         * modules/stdlib (Depends-on): Add include_next, remove
55208         absolute-header.
55209
55210 2008-03-09  Bruno Haible  <bruno@clisp.org>
55211
55212         * lib/freadahead.h (freadahead): Document more precisely.
55213         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55214         the sum of both buffer sizes.
55215         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55216         * NEWS: Document the change.
55217
55218 2008-03-09  Bruno Haible  <bruno@clisp.org>
55219
55220         Extend freadptr to return also the buffer size.
55221         * lib/freadptr.h (freadptr): Add sizep argument.
55222         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55223         (freadptr): Add sizep argument. Determine buffer size like freadahead
55224         does.
55225         * tests/test-freadptr.c: Don't include freadahead.h.
55226         (main): Adapt for new calling convention of freadptr.
55227         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55228         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55229         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55230         tests/test-freadptr2.sh.
55231         (Depends): Remove freadahead.
55232         (TESTS): Add test-freadptr2.sh.
55233         (check_PROGRAMS): Add test-freadptr2.
55234
55235 2008-03-09  Bruno Haible  <bruno@clisp.org>
55236
55237         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55238         Report and solution by Simon Josefsson.
55239
55240 2008-03-06  Bruno Haible  <bruno@clisp.org>
55241
55242         Make fflush after ungetc work on BSD platforms.
55243         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55244         * tests/test-fflush2.c: New file.
55245         * tests/test-fflush2.sh: New file.
55246         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55247         tests/test-fflush2.c.
55248         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55249         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55250
55251 2008-03-06  Eric Blake  <ebb9@byu.net>
55252
55253         Likewise for ftello.
55254         * modules/ftello (Dependencies): Add extensions.
55255         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55256
55257 2008-03-06  Bruno Haible  <bruno@clisp.org>
55258
55259         * modules/fseeko (Dependencies): Add extensions.
55260         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55261         Needed on glibc systems.
55262
55263 2008-03-06  Bruno Haible  <bruno@clisp.org>
55264
55265         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55266         email address.
55267         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55268
55269 2008-03-06  Bruno Haible  <bruno@clisp.org>
55270
55271         * users.txt: Add libgnupdf.
55272
55273 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55274
55275         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55276         (Header File Substitutes, Function Substitutes,
55277         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55278         (Build robot for gnulib): Fix typo.
55279
55280 2008-03-06  Bruno Haible  <bruno@clisp.org>
55281
55282         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55283         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55284
55285 2008-03-06  Bruno Haible  <bruno@clisp.org>
55286
55287         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55288         * doc/gnulib.texi: Include it.
55289
55290 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55291
55292         * modules/func (License): Change license to unlimited; there was
55293         no LGPL parts in the module anyway.
55294
55295 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55296
55297         * modules/__func__: Renamed to modules/func.
55298         * modules/__func__-tests: Renamed to modules/func-tests.
55299         * tests/test-__func__.c: Renamed to tests/test-func.c.
55300         * m4/__func__.m4: Renamed to m4/func.m4.
55301         * doc/gnulib.texi (__func__): Section renamed to func.
55302         Suggested by Eric Blake <ebb9@byu.net>.
55303
55304 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55305
55306         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55307         about __func__.  Make example self-contained.  Suggested by Eric
55308         Blake <ebb9@byu.net>.
55309
55310         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55311         Suggested by Eric Blake <ebb9@byu.net>.
55312
55313 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55314
55315         * modules/__func__: New file.
55316         * modules/__func__-tests: New file.
55317         * tests/test-__func__.c: New file.
55318         * m4/__func__.m4: New file.
55319         * doc/gnulib.texi (__func__): Document __func__ module.
55320
55321 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55322
55323         * modules/byteswap (License): Re-license as LGPLv2+.
55324
55325 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55326
55327         * doc/Makefile: Add pdf target.
55328
55329 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55330
55331         * modules/inline (License): Use 'unlimited', since there are only
55332         *.m4 files in this module.
55333
55334 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55335             Bruno Haible  <bruno@clisp.org>
55336
55337         Add support for HP C 7.1 on OpenVMS 8.3.
55338         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55339
55340 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55341
55342         Update VMS specifics.
55343         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55344
55345 2008-03-02  Jim Meyering  <meyering@redhat.com>
55346
55347         Remove the last dependency on the "free" module.
55348         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55349         Reported by Bob Proulx.
55350
55351         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55352
55353         Remove useless "if" tests before free.  Deprecate "free" module.
55354         * doc/posix-functions/free.texi: Mention that this
55355         module is no longer useful.
55356         * modules/free (Notice): Say this module is obsolete.
55357         * modules/readutmp (Depends-on): Remove free.
55358         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
55359         * lib/putenv.c (putenv): Likewise.
55360         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
55361         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
55362         * tests/test-c-strcasestr.c (main): Likewise.
55363         * tests/test-c-strstr.c (main): Likewise.
55364         * tests/test-mbscasestr1.c (main): Likewise.
55365         * tests/test-mbscasestr2.c (main): Likewise.
55366         * tests/test-mbsstr1.c (main): Likewise.
55367         * tests/test-mbsstr2.c (main): Likewise.
55368         * tests/test-memmem.c (main): Likewise.
55369         * tests/test-strcasestr.c (main): Likewise.
55370         * tests/test-striconv.c (main): Likewise.
55371         * tests/test-striconveh.c (main): Likewise.
55372         * tests/test-striconveha.c (main): Likewise.
55373         * tests/test-strstr.c (main): Likewise.
55374
55375         * build-aux/git-version-gen: Adjust a comment and the Usage string.
55376
55377         bootstrap: sync from coreutils again
55378         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
55379
55380 2008-03-01  Jim Meyering  <meyering@redhat.com>
55381
55382         bootstrap: sync from coreutils
55383         * build-aux/bootstrap (update_po_files): Copy a .po file into place
55384         also when the target doesn't exist.
55385
55386 2008-03-01  Eric Blake  <ebb9@byu.net>
55387
55388         Fix bugs in last patch.
55389         * lib/memchr2.c (memchr2): Fix typo.
55390         * tests/test-memchr2.c: Test previous bug, and don't use GNU
55391         extension.
55392         Reported by Bruce Korb.
55393
55394         New module 'memchr2'.
55395         * modules/memchr2: New file.
55396         * modules/memchr2-tests: Likewise.
55397         * lib/memchr2.h: Likewise.
55398         * lib/memchr2.c: Likewise, based on memchr.c.
55399         * tests/test-memchr2.c: New test.
55400         * MODULES.html.sh (String handling): Add memchr2.
55401
55402 2008-02-29  Bruno Haible  <bruno@clisp.org>
55403
55404         * modules/freadseek-tests: New file.
55405         * tests/test-freadseek.sh: New file.
55406         * tests/test-freadseek.c: New file.
55407
55408         New module 'freadseek'.
55409         * modules/freadseek: New file.
55410         * lib/freadseek.h: New file.
55411         * lib/freadseek.c: New file.
55412         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
55413
55414 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55415
55416         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
55417         wydawca.
55418
55419         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
55420         program_invocation_name and program_invocation_short_name are
55421         present.
55422
55423 2008-02-28  Bruno Haible  <bruno@clisp.org>
55424
55425         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
55426         * tests/test-freadptr.sh: Also test non-seekable stdin.
55427
55428 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
55429
55430         * build-aux/bootstrap (source_base, m4_base)
55431         (doc_base, tests_base): New variables.
55432         (gnulib_tool_options): Do not hardcode base directories, use
55433         the above variables instead.
55434
55435 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
55436
55437         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
55438
55439 2008-02-28  Bruno Haible  <bruno@clisp.org>
55440
55441         * modules/freadptr-tests: New file.
55442         * tests/test-freadptr.sh: New file.
55443         * tests/test-freadptr.c: New file.
55444
55445         New module 'freadptr'.
55446         * modules/freadptr: New file.
55447         * lib/freadptr.h: New file.
55448         * lib/freadptr.c: New file.
55449         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
55450
55451 2008-02-26  Karl Berry  <karl@freefriends.org>
55452
55453         Sync from Libtool:
55454         * libltdl/argz.c (argz_add, argz_count): New functions.
55455         * libltdl/argz.in.h: Declare them.
55456         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
55457
55458 2008-02-22  Bruno Haible  <bruno@clisp.org>
55459
55460         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
55461         is a pointer type.  Needed for HP-UX 10.
55462         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
55463         * doc/posix-functions/gmtime_r.texi: Likewise.
55464         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55465
55466 2008-02-24  Bruno Haible  <bruno@clisp.org>
55467
55468         * modules/environ-tests: New file.
55469         * tests/test-environ.c: New file.
55470
55471         New module 'environ'.
55472         * modules/environ: New file.
55473         * lib/unistd.in.h (environ): New declaration.
55474         * m4/environ.m4: New file.
55475         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
55476         after use.
55477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
55478         HAVE_DECL_ENVIRON.
55479         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
55480         HAVE_DECL_ENVIRON.
55481         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
55482         wrong claim that 'environ' is missing on some systems.
55483         * modules/execute (Depends-on): Add environ.
55484         * lib/execute.c (environ): Remove fallback declaration.
55485         * modules/pipe (Depends-on): Add environ.
55486         * lib/pipe.c (environ): Remove fallback declaration.
55487         * modules/setenv (Depends-on): Add environ.
55488         * lib/setenv.c (environ): Remove fallback declaration.
55489         * modules/unsetenv (Depends-on): Add environ.
55490         * lib/unsetenv.c (environ): Remove fallback declaration.
55491         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
55492         m4/environ.m4.
55493         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
55494         (gl_PREREQ_UNSETENV): Likewise.
55495
55496 2008-02-24  Bruno Haible  <bruno@clisp.org>
55497
55498         * doc/posix-functions/environ.texi: Document the MacOS X problem.
55499
55500 2008-02-20  Bob Proulx  <bob@proulx.com>
55501
55502         Enable use of older two part flavor 'git describe'.
55503         * build-aux/git-version-gen: If using the older two part flavor of
55504         git version then recreate the third part now present in the
55505         newer three part flavor of git describe.
55506
55507 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
55508
55509         * lib/fts.c (fts_build): Typo correction to comment.
55510
55511 2008-02-17  Bruno Haible  <bruno@clisp.org>
55512
55513         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
55514         generating no-op conflicts.
55515
55516 2008-02-17  Bruno Haible  <bruno@clisp.org>
55517
55518         Speed up by 10%.
55519         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
55520         result_entries, rather than an index-based loop.
55521
55522 2008-02-17  Bruno Haible  <bruno@clisp.org>
55523
55524         Speed up by 25%.
55525         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
55526         'hashcode_cached'.
55527         (entry_create): New function.
55528         (entry_hashcode): Use the cached hashcode if possible.
55529         (read_changelog_file, try_split_merged_entry): Use entry_create.
55530
55531 2008-02-17  Bruno Haible  <bruno@clisp.org>
55532
55533         Speed up from O(n^2) to O(n) for long ChangeLog files.
55534         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
55535         (read_changelog_file): Change implementation of entries_reversed list
55536         to rbtreehash.
55537         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
55538
55539 2008-02-17  Bruno Haible  <bruno@clisp.org>
55540
55541         New option --split-merged-entry.
55542         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
55543         (find_paragraph_end, try_split_merged_entry): New functions.
55544         (long_options): Add option --split-merged-entry.
55545         (usage): Document option --split-merged-entry.
55546         (main): Implement option --split-merged-entry.
55547         Reported by Eric Blake.
55548
55549 2008-02-17  Bruno Haible  <bruno@clisp.org>
55550
55551         * lib/git-merge-changelog.c: Include c-strstr.h.
55552         (main): Support the "git pull --rebase" situation.
55553         * modules/git-merge-changelog (Depends-on): Add c-strstr.
55554         Reported by Eric Blake.
55555
55556 2008-02-16  Eric Blake  <ebb9@byu.net>
55557
55558         Avoid doubling \ in common case of "c-maybe" quoting style.
55559         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
55560         eliding outer quotes.
55561         * lib/quotearg.h: Document this.
55562         * tests/test-quotearg.c (result_strings, inputs, results_g)
55563         (flag_results, locale_results): Test it by adding a new string to
55564         each test group.
55565         (compare_strings): Test new string.
55566
55567 2008-02-13  Eric Blake  <ebb9@byu.net>
55568
55569         Avoid trigraph quoting in default output.
55570         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
55571         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
55572         unless explicitly requested.
55573         * tests/test-quotearg.c (flag_results, main): Add additional tests.
55574
55575 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
55576
55577         Don't rely on signed integer overflowing to negative value.
55578         * lib/getugroups.c (getugroups): Include <limits.h>.
55579         Instead, compare against INT_MAX, and increment only if the test passes.
55580
55581 2008-02-13  Jim Meyering  <meyering@redhat.com>
55582         and Eric Blake  <ebb9@byu.net>
55583
55584         Avoid shadowing warning and compile errors on Linux.
55585         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
55586         forwarding macros on Linux.
55587         (dcgettext): Define a stub, for Linux.
55588         (results_g, main): Avoid warnings.
55589
55590 2008-02-12  Eric Blake  <ebb9@byu.net>
55591
55592         Silence warning in last patch.
55593         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
55594
55595         Quotearg part 4: add tests, fix c-maybe colon quoting.
55596         * lib/quotearg.h: Improve documentation.
55597         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
55598         escapes when adding outer quotes.  When quoting trigraphs, use
55599         valid C notation.  When quoting NUL, omit extra characters if next
55600         character is not digit.  Alter prototype.
55601         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
55602         callers.
55603         * modules/quotearg-tests: New module.
55604         * tests/test-quotearg.c: New test.
55605
55606 2008-02-07  Eric Blake  <ebb9@byu.net>
55607
55608         Quotearg part 3: add flag to control outer quote elision.
55609         * lib/quotearg.h (c_maybe_quoting_style): New style.
55610         (enum quoting_flags): Better documentation of flags.
55611         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
55612         c-maybe style.
55613         (quotearg_buffer_restyled): Handle new flag to elide outer
55614         quotes.
55615
55616         Quotearg part 2: add flag that can control NUL elision.
55617         * lib/quotearg.h (set_quoting_flags): New prototype.
55618         * lib/quotearg.c (struct quoting_options): Add flag field.
55619         (set_quoting_flags): New function.
55620         (quotearg_buffer_restyled): Add flags parameter.
55621         (quotearg_alloc_mem): Set the flag if length cannot be returned.
55622         (quotearg_n_options): Set the flag, since length cannot be
55623         returned.
55624         (quoting_options_from_style): Default flags correctly.
55625
55626         Quotearg part 1: more wrappers, restore quotearg_char state.
55627         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
55628         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
55629         (quotearg_colon_mem): New wrappers.
55630         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
55631         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
55632         functions.
55633         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
55634         (quotearg_colon_mem): New functions.
55635
55636 2008-02-11  Bruno Haible  <bruno@clisp.org>
55637
55638         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
55639         library in the current directory: it does not work with parallel make.
55640         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55641
55642 2008-02-11  Bruno Haible  <bruno@clisp.org>
55643
55644         * .gitattributes: New file.
55645
55646 2008-02-11  Jim Meyering  <meyering@redhat.com>
55647
55648         useless-if-before-free: Fix reversed exit values.
55649         * build-aux/useless-if-before-free: Use correct values
55650         for EXIT_MATCH and EXIT_NO_MATCH.
55651
55652         * build-aux/useless-if-before-free: Close stdout carefully.
55653
55654 2008-02-10  Bruno Haible  <bruno@clisp.org>
55655
55656         New module 'git-merge-changelog'.
55657         * modules/git-merge-changelog: New file.
55658         * lib/git-merge-changelog.c: New file.
55659
55660 2008-02-10  Jim Meyering  <meyering@redhat.com>
55661
55662         useless-if-before-free: New option: --list (-l).
55663
55664         useless-if-before-free: Don't exit immediately upon open failure.
55665         * build-aux/useless-if-before-free: Exit 2 for errors.
55666         Upon failure to open a file, don't exit immediately.
55667         Rather, just warn and continue with any remaining files.
55668
55669 2008-02-10  Bruno Haible  <bruno@clisp.org>
55670
55671         New abstract list operation 'node_set_value'.
55672         * lib/gl_list.h (gl_list_node_set_value): New function.
55673         (struct gl_list_implementation): New field node_set_value.
55674         * lib/gl_list.c (gl_list_node_set_value): New function.
55675         * lib/gl_array_list.c (gl_array_node_set_value): New function.
55676         (gl_array_list_implementation): Update.
55677         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
55678         (gl_carray_list_implementation): Update.
55679         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
55680         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55681         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55682         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
55683         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55684         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55685         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55686         Update.
55687         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55688         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
55689         (gl_sublist_list_implementation): Update.
55690
55691 2008-02-10  Bruno Haible  <bruno@clisp.org>
55692
55693         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
55694         Needed when ELEMENT is #defined to 'some_type *'.
55695
55696 2008-02-10  Jim Meyering  <meyering@redhat.com>
55697
55698         New script and module: useless-if-before-free
55699         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
55700         * build-aux/useless-if-before-free: New file.
55701         * modules/useless-if-before-free: New file.
55702
55703         * build-aux/gitlog-to-changelog: Use committer date, not author date.
55704
55705         xstrtol_error: Fix typo.
55706         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
55707         s/exit_failure/exit_status/.
55708
55709 2008-02-09  Jim Meyering  <meyering@redhat.com>
55710
55711         New script and module: gitlog-to-changelog
55712         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
55713         * modules/gitlog-to-changelog: New file.
55714         * build-aux/gitlog-to-changelog: New file.
55715
55716 2008-02-08  Jim Meyering  <meyering@redhat.com>
55717
55718         Avoid two "parameter unused" warnings.
55719         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
55720         Mark "st" as used.
55721
55722         Use "git COMMAND", not "git-COMMAND".
55723         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
55724         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
55725         * build-aux/git-version-gen: Use "git status", not "git-status".
55726
55727 2008-02-07  Bruno Haible  <bruno@clisp.org>
55728
55729         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
55730         Avoids a crash on Windows Vista.
55731         Reported by Adam Strzelecki <ono@java.pl> via
55732         Simon Josefsson <simon@josefsson.org>.
55733
55734 2008-02-06  Bruno Haible  <bruno@clisp.org>
55735
55736         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
55737         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
55738         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
55739         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
55740         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
55741         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55742         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
55743         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
55744         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55745         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55746         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55747         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55748         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55749         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55750         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55751         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
55752         left-adjust flag.
55753         * tests/test-snprintf-posix.h (test_function): Likewise.
55754         * tests/test-sprintf-posix.h (test_function): Likewise.
55755         * tests/test-vasprintf-posix.c (test_function): Likewise.
55756         * doc/posix-functions/fprintf.texi: Update.
55757         * doc/posix-functions/printf.texi: Update.
55758         * doc/posix-functions/snprintf.texi: Update.
55759         * doc/posix-functions/sprintf.texi: Update.
55760         * doc/posix-functions/vfprintf.texi: Update.
55761         * doc/posix-functions/vprintf.texi: Update.
55762         * doc/posix-functions/vsnprintf.texi: Update.
55763         * doc/posix-functions/vsprintf.texi: Update.
55764         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55765
55766 2008-02-06  Bruno Haible  <bruno@clisp.org>
55767
55768         Fix bug introduced on 2008-01-26.
55769         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
55770
55771 2008-02-06  Bruno Haible  <bruno@clisp.org>
55772
55773         Fix bug introduced on 2007-06-10.
55774         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
55775         !NEED_PRINTF_FLAG_ZERO.
55776
55777 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
55778
55779         getloadavg: use libperfstat on AIX5
55780         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
55781
55782 2008-02-03  Bruno Haible  <bruno@clisp.org>
55783
55784         * lib/diffseq.h: Add comments about required #includes.
55785         Reported by Michael Biggs <gnulib@doubleplum.net>.
55786
55787 2008-02-01  Bruno Haible  <bruno@clisp.org>
55788
55789         * users.txt: Add gnuit.
55790
55791 2008-01-31  Bruno Haible  <bruno@clisp.org>
55792
55793         * lib/md4.c (set_uint32): Mark as inline.
55794         * lib/md5.c (set_uint32): Likewise.
55795         * lib/sha1.c (set_uint32): Likewise.
55796         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
55797         * m4/md5.m4 (gl_MD5): Likewise.
55798         * m4/sha1.m4 (gl_SHA1): Likewise.
55799
55800 2008-01-31  Jim Meyering  <meyering@redhat.com>
55801
55802         Use "sizeof VAR", rather than a literal "4".
55803         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
55804         * lib/md4.c (md4_read_ctx): Likewise.
55805         * lib/sha1.c (sha1_read_ctx): Likewise.
55806
55807 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55808
55809         * tests/test-sha1.c: New file, based on test-md5.c.
55810
55811         * modules/crypto/sha1-tests: New file.
55812
55813 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55814
55815         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
55816
55817 2008-01-31  Jim Meyering  <meyering@redhat.com>
55818
55819         Prefer "sizeof v" over the equivalent "4".
55820         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
55821         * lib/md5.c (set_uint32): Likewise.
55822         * lib/sha1.c (set_uint32): Likewise.
55823
55824 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55825
55826         * lib/sha1.c (set_uint32): Mark function as static.
55827
55828 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55829
55830         md2: clarify comments to say that alignment is not required.
55831         * lib/md2.h: Remove warning about alignment in comment.
55832         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
55833         never been required.
55834
55835 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55836
55837         md4: adapt alignment constraint fix from sha1.
55838         * lib/md4.c (set_uint32): New function, from sha1.c
55839         (md4_read_ctx): Use it.
55840         (md4_finish_ctx): Doc fix.
55841         * lib/md4.h: Doc fix.
55842
55843 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55844
55845         md5: adapt alignment constraint fix from sha1.
55846         * lib/md5.c (set_uint32): New function, from sha1.c
55847         (md5_read_ctx): Use it.
55848         (md5_finish_ctx): Doc fix.
55849         * lib/md5.h: Doc fix.
55850
55851 2008-01-30  Peter Palfrader  <weasel@debian.org>
55852
55853         sha1: remove the result buffer alignment constraint
55854         * lib/sha1.c (set_uint32): New function.
55855         (sha1_read_ctx): Rewrite to remove the result buffer alignment
55856         constraint.
55857         (sha1_finish_ctx): Remove comment warning about alignment constraint.
55858         * lib/sha1.h: Likewise.
55859
55860 2008-01-30  Andreas Schwab  <schwab@suse.de>
55861             Bruno Haible  <bruno@clisp.org>
55862
55863         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
55864         correct definition of LDBL_MIN_EXP.
55865
55866 2008-01-30  Karl Berry  <karl@gnu.org>
55867
55868         * config/srclist-update: try to preserve x bit on updates.
55869         * config/srclistvars.sh: update for karl.
55870
55871 2008-01-29  Jim Meyering  <meyering@redhat.com>
55872
55873         vasnprintf.c: Avoid warning about unused label
55874         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
55875         "overflow" label definition and associated code with the
55876         same cpp condition that guards the sole use of that label.
55877
55878 2008-01-26  Bruno Haible  <bruno@clisp.org>
55879
55880         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
55881         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
55882         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
55883         * lib/isnanl-nolibm.h (isnanl): Likewise.
55884         Reported by Paul Eggert <eggert@cs.ucla.edu>.
55885
55886 2008-01-26  Bruno Haible  <bruno@clisp.org>
55887
55888         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
55889         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
55890
55891 2008-01-26  Bruno Haible  <bruno@clisp.org>
55892
55893         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
55894         GCC >= 4.0 built-in.
55895         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
55896
55897 2008-01-26  Bruno Haible  <bruno@clisp.org>
55898
55899         Rename isnan, applicable to 'double' only, to isnand.
55900         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
55901         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
55902         (configure.ac): Update.
55903         (Include): Replace "isnan.h" with "isnand.h".
55904         * m4/isnand.m4: Renamed from m4/isnan.m4.
55905         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
55906         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
55907         instead of isnan.c.
55908         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
55909         instead of HAVE_ISNAN_IN_LIBC.
55910         (isnand): Renamed from isnan.
55911         * lib/isnand.c: New file.
55912         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
55913         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
55914         (Makefile.am): Update.
55915         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
55916         Include isnand.h instead of isnan.h.
55917         (main): Test isnand instead of isnan.
55918         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
55919         isnan-nolibm.
55920         * modules/frexp (Depends-on): Likewise.
55921         * modules/frexp-tests (Depends-on): Likewise.
55922         * modules/frexp-nolibm (Depends-on): Likewise.
55923         * modules/frexp-nolibm-tests (Depends-on): Likewise.
55924         * modules/isfinite (Depends-on): Likewise.
55925         * modules/round-tests (Depends-on): Likewise.
55926         * modules/signbit (Depends-on): Likewise.
55927         * modules/signbit-tests (Depends-on): Likewise.
55928         * modules/snprintf-posix (Depends-on): Likewise.
55929         * modules/sprintf-posix (Depends-on): Likewise.
55930         * modules/trunc-tests (Depends-on): Likewise.
55931         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55932         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55933         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55934         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55935         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55936         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55937         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55938         * modules/vasnprintf-posix (Depends-on): Likewise.
55939         * modules/vasprintf-posix (Depends-on): Likewise.
55940         * modules/vfprintf-posix (Depends-on): Likewise.
55941         * modules/vsnprintf-posix (Depends-on): Likewise.
55942         * modules/vsprintf-posix (Depends-on): Likewise.
55943         * lib/frexp.c: Include isnand.h instead of isnan.h.
55944         (ISNAN): Set to isnand instead of isnan.
55945         * lib/isfinite.c: Include isnand.h instead of isnan.h.
55946         (gl_isfinited): Use isnand instead of isnan.
55947         * lib/signbitd.c: Include isnand.h instead of isnan.h.
55948         (gl_signbitd): Use isnand instead of isnan.
55949         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
55950         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
55951         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
55952         (main): Use isnand instead of isnan.
55953         * tests/test-round1.c: Include isnand.h.
55954         (main): Use isnand instead of isnan.
55955         * tests/test-round2.c: Include isnand.h instead of isnan.h.
55956         (ISNAN): Set to isnand instead of isnan.
55957         * tests/test-trunc1.c: Include isnand.h.
55958         (main): Use isnand instead of isnan.
55959         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
55960         (equal): Use isnand instead of isnan.
55961         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
55962         isnand-nolibm.
55963         * NEWS: Mention the change.
55964
55965 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
55966             Bruno Haible  <bruno@clisp.org>
55967
55968         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
55969         the GCC builtins for signbits are present and set
55970         REPLACE_SIGNBIT_USING_GCC if so.
55971         * lib/math.in.h (signbit): Define using GCC builtins if
55972         REPLACE_SIGNBIT_USING_GCC is set.
55973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
55974         REPLACE_SIGNBIT_USING_GCC.
55975         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
55976
55977 2008-01-25  Jim Meyering  <meyering@redhat.com>
55978
55979         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
55980         * lib/poll.c: Include <config.h>, not "config.h".
55981         * tests/test-getaddrinfo.c: Likewise.
55982
55983 2008-01-25  Simon Josefsson  <simon@josefsson.org>
55984
55985         * modules/sockets-tests: New file.
55986
55987 2008-01-24  Simon Josefsson  <simon@josefsson.org>
55988
55989         * modules/sockets: New module, can be used to call WSA_Startup and
55990         WSA_Cleanup when needed.
55991
55992         * lib/sockets.h, lib/sockets.c: New files.
55993
55994         * m4/sockets.m4: New file.
55995
55996         * tests/test-sockets.c: New file.
55997
55998 2008-01-19  Bruno Haible  <bruno@clisp.org>
55999
56000         * doc/posix-headers: Renamed from doc/headers.
56001         * doc/posix-functions: Renamed from doc/functions.
56002         * doc/gnulib.texi: Update.
56003
56004 2008-01-19  Bruno Haible  <bruno@clisp.org>
56005
56006         * doc/glibc-functions/strcasestr.texi: Include contents of
56007         doc/functions/strcasestr.texi, fixing the list of platforms.
56008         * doc/functions/strcasestr.texi: Remove file.
56009
56010 2008-01-19  Bruno Haible  <bruno@clisp.org>
56011
56012         * doc/glibc-functions/memmem.texi: Include contents of
56013         doc/functions/memmem.texi.
56014         * doc/functions/memmem.texi: Remove file.
56015
56016 2008-01-18  Bruno Haible  <bruno@clisp.org>
56017
56018         * doc/glibc-functions/*.texi: New files.
56019         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56020         to use the new files.
56021
56022 2008-01-17  Bruno Haible  <bruno@clisp.org>
56023
56024         * tests/test-gethostname.c (main): Fix printf statement.
56025
56026 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56027
56028         * modules/gethostname-tests: New file.
56029
56030         * tests/test-gethostname.c: New file.
56031
56032 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56033
56034         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56035         used by the UNAME case.  Reported by Bruno Haible
56036         <bruno@clisp.org>.
56037
56038 2008-01-17  Eric Blake  <ebb9@byu.net>
56039
56040         Convert c-strcasestr to be more efficient.
56041         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56042         (Depends-on): Add c-strcase, remove malloca, strnlen.
56043         * tests/test-c-strcasestr.c (main): Enhance test.
56044         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56045
56046 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56047
56048         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56049         Use it in creating po/Makevars.
56050
56051 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56052
56053         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56054         Applications that requires it should initialize libgcrypt
56055         manually.
56056
56057 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56058
56059         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56060
56061 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56062
56063         Fix problem with getdate on mingw32 reported by Simon Josefsson
56064         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56065         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56066         tzname", when deciding whether to declare tzname.
56067         * lib/strftime.c (tzname): Likewise.
56068
56069 2008-01-15  Bruno Haible  <bruno@clisp.org>
56070
56071         Work around a MacOS X 10.5 bug in frexpl().
56072         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56073         * doc/functions/frexpl.texi: Document the bug.
56074         Reported by Elias Pipping <pipping@gentoo.org>.
56075
56076 2008-01-14  Eric Blake  <ebb9@byu.net>
56077
56078         Touch up previous patch.
56079         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56080         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56081
56082         Convert strcasestr module to use Two-Way algorithm.
56083         * modules/strcasestr-simple: New module, based on the old
56084         strcasestr, but with Two-Way rather than KMP.
56085         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56086         * lib/string.in.h (rpl_strcasestr): Declare.
56087         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56088         performance.
56089         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56090         * modules/string (Makefile.am): Support strcasestr.
56091         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56092         * modules/strcasestr-tests (Depends-on): Check for alarm.
56093         * tests/test-strcasestr.c: Augment test.
56094         * lib/str-two-way.h: Clean up stray macro.
56095         * NEWS: Document new module.
56096         * MODULES.html.sh (string handling): Likewise.
56097         * doc/functions/strcasestr.texi: New file.
56098         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56099         here, since it is not a POSIX function.
56100
56101 2008-01-14  Colin Watson  <cjwatson@debian.org>
56102             Bruno Haible  <bruno@clisp.org>
56103
56104         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56105         works fine; if not, set REPLACE_STRSIGNAL.
56106         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56107         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56108         REPLACE_STRSIGNAL.
56109         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56110         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56111         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56112
56113 2008-01-14  Bruno Haible  <bruno@clisp.org>
56114
56115         * modules/strsignal (Include): Change to <string.h>.
56116
56117 2008-01-14  Colin Watson  <cjwatson@debian.org>
56118
56119         * modules/argp (Notice): Add a notice recommending to change
56120         XGETTEXT_OPTIONS.
56121         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56122
56123 2008-01-13  Colin Watson  <cjwatson@debian.org>
56124
56125         * modules/strsignal-tests: New file.
56126         * tests/test-strsignal.c: New file.
56127
56128         * lib/strsignal.c: New file, from glibc with modifications.
56129         * lib/siglist.h: New file, from glibc with modifications.
56130         * lib/string.in.h (strsignal): New declaration.
56131         * m4/strsignal.m4: New file.
56132         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56133         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56134         * modules/strsignal: New file.
56135         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56136         HAVE_DECL_STRSIGNAL.
56137
56138 2008-01-13  Bruno Haible  <bruno@clisp.org>
56139
56140         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56141         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56142         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56143         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56144
56145 2008-01-13  Bruno Haible  <bruno@clisp.org>
56146
56147         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56148         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56149         * lib/argp.h (__attribute__): Likewise.
56150         * lib/c-stack.c (__attribute__): Likewise.
56151         * lib/error.h (__attribute__): Likewise.
56152         * lib/fts.c (__attribute__): Likewise.
56153         * lib/openat.h (__attribute__): Likewise.
56154         * lib/stdio.in.h (__attribute__): Likewise.
56155         * lib/string.in.h (__attribute__): Likewise.
56156         * lib/utimens.c (__attribute__): Likewise.
56157         * lib/vasnprintf.h (__attribute__): Likewise.
56158         * lib/xalloc.h (__attribute__): Likewise.
56159         * lib/xprintf.h (__attribute__): Likewise.
56160         * lib/xstrtol.h (__attribute__): Likewise.
56161         * lib/xvasprintf.h (__attribute__): Likewise.
56162
56163 2008-01-12  Bruno Haible  <bruno@clisp.org>
56164
56165         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56166         * doc/glibc-headers/a.out.texi: New file.
56167         * doc/glibc-headers/aliases.texi: New file.
56168         * doc/glibc-headers/alloca.texi: New file.
56169         * doc/glibc-headers/ar.texi: New file.
56170         * doc/glibc-headers/argp.texi: New file.
56171         * doc/glibc-headers/argz.texi: New file.
56172         * doc/glibc-headers/byteswap.texi: New file.
56173         * doc/glibc-headers/crypt.texi: New file.
56174         * doc/glibc-headers/endian.texi: New file.
56175         * doc/glibc-headers/envz.texi: New file.
56176         * doc/glibc-headers/err.texi: New file.
56177         * doc/glibc-headers/error.texi: New file.
56178         * doc/glibc-headers/execinfo.texi: New file.
56179         * doc/glibc-headers/fpu_control.texi: New file.
56180         * doc/glibc-headers/fstab.texi: New file.
56181         * doc/glibc-headers/fts.texi: New file.
56182         * doc/glibc-headers/getopt.texi: New file.
56183         * doc/glibc-headers/ieee754.texi: New file.
56184         * doc/glibc-headers/ifaddrs.texi: New file.
56185         * doc/glibc-headers/libintl.texi: New file.
56186         * doc/glibc-headers/mcheck.texi: New file.
56187         * doc/glibc-headers/mntent.texi: New file.
56188         * doc/glibc-headers/obstack.texi: New file.
56189         * doc/glibc-headers/paths.texi: New file.
56190         * doc/glibc-headers/printf.texi: New file.
56191         * doc/glibc-headers/pty.texi: New file.
56192         * doc/glibc-headers/resolv.texi: New file.
56193         * doc/glibc-headers/shadow.texi: New file.
56194         * doc/glibc-headers/sysexits.texi: New file.
56195         * doc/glibc-headers/ttyent.texi: New file.
56196
56197 2008-01-12  Jim Meyering  <meyering@redhat.com>
56198
56199         announce-gen: emit Gnulib's git-based version string.
56200         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56201         New option --gnulib-version=V, where V is expected to be
56202         the output of running git describe in the gnulib directory.
56203         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56204         not useful, and plan to stop publishing an xdelta file with each
56205         coreutils release.
56206
56207         * build-aux/announce-gen: Also check for lzma-compressed files.
56208
56209 2008-01-11  Bruno Haible  <bruno@clisp.org>
56210
56211         * tests/test-memmem.c (main): Increase maximum allowed time.
56212         * tests/test-strstr.c (main): Likewise.
56213
56214 2008-01-11  Bruno Haible  <bruno@clisp.org>
56215
56216         * doc/functions/memmem.texi: Add more precisions about platforms.
56217         * doc/functions/strstr.texi: Likewise.
56218
56219 2008-01-10  Eric Blake  <ebb9@byu.net>
56220
56221         * m4/strstr.m4: Delete cruft from copy-n-paste.
56222         Reported by Bruno Haible.
56223
56224 2008-01-10  Bruno Haible  <bruno@clisp.org>
56225
56226         Make c-strstr rely on strstr.
56227         * lib/c-strstr.c: Don't include str-kmp.h.
56228         (c_strstr): Define in terms of strstr.
56229         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56230         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56231
56232 2008-01-10  Bruno Haible  <bruno@clisp.org>
56233
56234         * doc/gnulib.texi (String Functions in C Locale): New section.
56235         * doc/c-ctype.texi: New file.
56236         * doc/c-strcase.texi: New file.
56237         * doc/c-strcaseeq.texi: New file.
56238         * doc/c-strcasestr.texi: New file.
56239         * doc/c-strstr.texi: New file.
56240         * doc/c-strtod.texi: New file.
56241         * doc/c-strtold.texi: New file.
56242
56243 2008-01-10  Eric Blake  <ebb9@byu.net>
56244
56245         * lib/relocatable.h: Fix a comment.
56246
56247 2008-01-10  Eric Blake  <ebb9@byu.net>
56248
56249         Share two-way algorithm.
56250         * lib/str-two-way.h: New file, merged from...
56251         * lib/memmem.c: ...here...
56252         * lib/strstr.c: ...and here.
56253         * modules/memmem (Files): Use it.
56254         * modules/strstr (Files): Likewise.
56255
56256         Avoid quadratic strstr implementations.
56257         * lib/strstr.c: New file.
56258         * m4/strstr.m4: Likewise.
56259         * modules/strstr: Likewise.
56260         * modules/strstr-tests: Likewise.
56261         * tests/test-strstr.c: Likewise.
56262         * lib/string.in.h (rpl_strstr): Declare.
56263         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56264         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56265         * modules/string (Makefile.am): Likewise.
56266         * MODULES.html.sh (string handling): Mention new module.
56267         * doc/functions/strstr.texi (strstr): Document the bug.
56268
56269 2008-01-10  Bruno Haible  <bruno@clisp.org>
56270
56271         * lib/relocatable.h (relocate): State whether result is freshly
56272         allocated or not.
56273         * lib/relocatable.c (relocate): Return a freshly allocated string
56274         instead of a pointer to a privately held string.
56275         Reported by Sylvain Beucler <beuc@gnu.org>.
56276
56277 2008-01-10  Colin Watson  <cjwatson@debian.org>
56278
56279         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56280         s/S_ISNLK/S_ISLNK/.
56281
56282 2008-01-09  Bruno Haible  <bruno@clisp.org>
56283
56284         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56285         and other files.
56286         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56287         if it's only a guess.
56288         * modules/memmem: Simplify by depending on memmem-simple.
56289
56290 2008-01-09  Bruno Haible  <bruno@clisp.org>
56291
56292         Work around OpenBSD 4.0 tdelete() bug.
56293         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56294         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56295         macros and don't redefine the enum values.
56296         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56297         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56298         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56299
56300 2008-01-09  Bruno Haible  <bruno@clisp.org>
56301
56302         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56303         (main): Don't perform the tests if setlocale did not install a UTF-8
56304         locale. Needed on OpenBSD 4.0.
56305         * modules/wcwidth-tests (Depends-on): Add localcharset.
56306
56307 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56308
56309         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56310         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56311         * NEWS: announce this.
56312         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56313
56314 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56315         and Eric Blake  <ebb9@byu.net>
56316
56317         Add memmem-simple module.
56318         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56319         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56320         * modules/memmem-simple: New file.
56321         * modules/memmem (Description): Tweak.
56322         * MODULES.html.sh (string handling): Mention new module.
56323         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
56324         addressed by memmem-simple.
56325         * NEWS: Document the difference.
56326
56327 2008-01-09  Eric Blake  <ebb9@byu.net>
56328
56329         Give gcc some memmem optimization hints.
56330         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
56331         (strcasestr): Declare as pure.
56332         * modules/memmem (Maintainer): Claim my implementation.
56333
56334 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56335
56336         Support AIX 6.1 and higher.
56337         * build-aux/config.libpath: Likewise.
56338         * build-aux/config.rpath: Likewise.
56339
56340 2008-01-08  Jim Meyering  <meyering@redhat.com>
56341             Bruno Haible  <bruno@clisp.org>
56342
56343         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56344         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56345         Reported by Peter Fales in
56346         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56347
56348 2008-01-08  Bruno Haible  <bruno@clisp.org>
56349
56350         * modules/unictype/category-of (Depends-on): Add
56351         unictype/category-none.
56352         * modules/unictype/category-and-tests (Depends-on): Add
56353         unictype/category-{L,N,Lu,Nd}.
56354         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
56355         * modules/unictype/category-or-tests (Depends-on): Add
56356         unictype/category-{L,N}.
56357         * modules/unictype/category-name-tests (Depends-on): Add
56358         unictype/category-{Z,Nl}.
56359         Reported by Simon Josefsson.
56360
56361 2008-01-08  Bruno Haible  <bruno@clisp.org>
56362
56363         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
56364         convention better.
56365         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
56366         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
56367         Reported by Peter Miller <millerp@canb.auug.org.au>.
56368
56369 2008-01-08  Eric Blake  <ebb9@byu.net>
56370
56371         Rewrite memmem to guarantee linear complexity without malloc.
56372         * lib/memmem.c (memmem): Use Two-Way rather than
56373         Knuth-Morris-Pratt, to allow O(1) space usage.
56374         (critical_factorization, two_way_short_needle)
56375         (two_way_long_needle): New functions.
56376         (knuth_morris_pratt): Delete.
56377         * modules/memmem (Depends-on): No longer need malloca or stdbool.
56378         Add stdint.
56379         * tests/test-memmem.c (main): Add tests for periodic needle and
56380         sublinear performance.
56381         * doc/functions/memmem.texi (memmem): Document other deficiencies
56382         in cygwin and older glibc.
56383
56384 2008-01-08  Bruno Haible  <bruno@clisp.org>
56385
56386         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
56387         augmentation.
56388
56389 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
56390
56391         Add a configure time option: --disable-acl.
56392         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
56393         AC_ARG_ENABLE(acl).
56394
56395 2008-01-06  Simon Josefsson  <simon@josefsson.org>
56396
56397         * tests/test-localename.c: Don't include obsolete "setenv.h".
56398
56399         * modules/localename-tests (Depends-on): Need unsetenv.
56400
56401 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56402
56403         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
56404
56405 2008-01-06  Colin Watson  <cjwatson@debian.org>
56406
56407         * users.txt: Add man-db.
56408
56409 2008-01-07  Bruno Haible  <bruno@clisp.org>
56410
56411         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
56412         previous section name.
56413
56414 2008-01-07  Bruno Haible  <bruno@clisp.org>
56415
56416         * lib/progname.c (set_program_name): Don't strip off a leading
56417         "lt-" prefix outside a .libs directory.
56418         Suggested by Paul Eggert.
56419
56420 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
56421             Bruno Haible  <bruno@clisp.org>
56422
56423         Improve memory cleanup in 'relocatable' module.
56424         * lib/relocatable.h (compute_curr_prefix): Change return type to
56425         'char *'.
56426         * lib/relocatable.c (compute_curr_prefix): Change return type to
56427         'char *'. Free curr_installdir after use.
56428         (relocate): Free curr_prefix_better after use.
56429         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
56430
56431 2008-01-01  Bruno Haible  <bruno@clisp.org>
56432
56433         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
56434         failure on older glibc systems.
56435         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56436
56437 2008-01-05  Eric Blake  <ebb9@byu.net>
56438
56439         Avoid quadratic system memmem.
56440         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
56441         Reported by Ralf Wildenhues.
56442
56443         Fix memmem test for mingw.
56444         * modules/memmem-tests (configure.ac): Check for alarm.
56445         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
56446         it.
56447         * doc/functions/memmem.texi: New file.
56448         * doc/gnulib.texi (Function Substitutes): Add memmem.
56449         Reported by Bruno Haible.
56450
56451 2008-01-04  Bruno Haible  <bruno@clisp.org>
56452
56453         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
56454         Require gl_HEADER_STRINGS_H_DEFAULTS, not
56455         gl_HEADER_STRING_H_DEFAULTS.
56456
56457 2008-01-04  Eric Blake  <ebb9@byu.net>
56458
56459         Shorten duration of memmem test.
56460         * tests/test-memmem.c (main): Use alarm to declare failure if test
56461         is taking too long.
56462         Reported by Ralf Wildenhues.
56463
56464 2007-12-21  Simon Josefsson  <simon@josefsson.org>
56465
56466         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
56467         string, needed by strerror.
56468
56469 2008-01-03  Colin Watson  <cjwatson@debian.org>
56470             Bruno Haible  <bruno@clisp.org>
56471
56472         * doc/gnulib-tool.texi (Localization): New section.
56473
56474 2008-01-02  Bruno Haible  <bruno@clisp.org>
56475
56476         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
56477         variables to 'unsigned char *' type.
56478         Reported by Paul Eggert.
56479
56480 2008-01-02  Jim Meyering  <jim@meyering.net>
56481
56482         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
56483
56484 2007-12-31  Jim Meyering  <jim@meyering.net>
56485
56486         Avoid use of private FTS type name.
56487         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
56488
56489 2007-12-30  Karl Berry  <karl@gnu.org>
56490
56491         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
56492         work around defect in Texinfo and/or the standalone Info browser.
56493
56494 2007-12-30  Bruno Haible  <bruno@clisp.org>
56495
56496         Unify 5 copies of the KMP code.
56497         * lib/str-kmp.h: New file.
56498         * lib/c-strcasestr.c: Include str-kmp.h.
56499         (knuth_morris_pratt): Remove function.
56500         (c_strcasestr): Update.
56501         * lib/c-strstr.c: Include str-kmp.h.
56502         (knuth_morris_pratt): Remove function.
56503         (c_strcasestr): Update.
56504         * lib/mbscasestr.c: Include str-kmp.h.
56505         (knuth_morris_pratt_unibyte): Remove function.
56506         * lib/mbsstr.c: Include str-kmp.h.
56507         (knuth_morris_pratt_unibyte): Remove function.
56508         * lib/strcasestr.c: Include str-kmp.h.
56509         (knuth_morris_pratt): Remove function.
56510         (strcasestr): Update.
56511         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
56512         * modules/c-strstr (Files): Likewise.
56513         * modules/mbscasestr (Files): Likewise.
56514         * modules/mbsstr (Files): Likewise.
56515         * modules/strcasestr (Files): Likewise.
56516         Suggested by Paul Eggert.
56517
56518 2007-12-30  Bruno Haible  <bruno@clisp.org>
56519
56520         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
56521         defined.
56522
56523 2007-12-30  Bruno Haible  <bruno@clisp.org>
56524
56525         * lib/xmalloca.h: Include xalloc.h.
56526         (xnmalloca): New macro.
56527
56528 2007-12-30  Bruno Haible  <bruno@clisp.org>
56529
56530         * lib/malloca.h (nmalloca): New macro.
56531         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
56532         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
56533         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
56534         knuth_morris_pratt_multibyte): Likewise.
56535         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
56536         knuth_morris_pratt_multibyte): Likewise.
56537         * lib/memmem.c (knuth_morris_pratt): Likewise.
56538         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
56539
56540 2007-12-25  Bruno Haible  <bruno@clisp.org>
56541
56542         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
56543         * lib/glob.c: Don't include openat.h.
56544         (link_exists2_p): Add back the code that deals with the
56545         !GLOB_ALTDIRFUNC case.
56546         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
56547         let it do the filename concatenation.
56548         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
56549         * modules/glob (Depends-on): Remove openat.
56550
56551 2007-12-31  Bruno Haible  <bruno@clisp.org>
56552
56553         * modules/dirfd (License): Change to LGPLv2+.
56554         Approved by Jim Meyering.
56555
56556 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56557
56558         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
56559         when multiplying M by sizeof (size_t).
56560
56561 2007-12-10  Martin Lambers  <marlam@marlam.de>
56562
56563         Override getpagesize on mingw.
56564         * lib/getpagesize.c: New file.
56565         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
56566         * modules/getpagesize (Files): Add lib/getpagesize.c.
56567         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
56568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56569         REPLACE_GETPAGESIZE.
56570         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
56571
56572 2007-12-25  Bruno Haible  <bruno@clisp.org>
56573
56574         * modules/localcharset (Notice): New field.
56575         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
56576         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56577
56578 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56579             Bruno Haible  <bruno@clisp.org>
56580
56581         Avoid using the syntax symbol() in formatted documentation.
56582         * MODULES.html.sh (func_module): When replacing symbol() with a
56583         hyperlink, remove the parentheses. Show an error if some remain.
56584         Recognize and render the '...' syntax.
56585         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
56586         Rework. Add paragraph about GCC's inlining.
56587         * doc/alloca.texi: Likewise.
56588         * doc/error.texi: Remove parentheses from symbol reference.
56589         * doc/gnulib-intro.texi: Likewise.
56590         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
56591         * modules/fnmatch (Description): Reword to say "the ... function".
56592         * modules/full-read (Description): Likewise.
56593         * modules/full-write (Description): Likewise.
56594         * modules/safe-read (Description): Likewise.
56595         * modules/safe-write (Description): Likewise.
56596         * modules/strchrnul (Description): Likewise.
56597         * modules/trim (Description): Likewise.
56598         * modules/error (Description): Remove parentheses from symbol
56599         references.
56600         * modules/verror (Description): Likewise.
56601         Reported by Karl Berry.
56602
56603 2007-12-25  Bruno Haible  <bruno@clisp.org>
56604
56605         Fixup after 2007-10-16 commit.
56606         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
56607
56608 2007-12-24  Bruno Haible  <bruno@clisp.org>
56609
56610         Make --enable-relocatable work with DESTDIR.
56611         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
56612         to compute installdir from destprog.
56613         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
56614         also set the RELOC_DESTDIR variable.
56615         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56616
56617 2007-12-24  Bruno Haible  <bruno@clisp.org>
56618
56619         Fix link error due to xalloc_die().
56620         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
56621         of xreadlink.
56622         * lib/relocwrapper.c: Update comments.
56623         * build-aux/install-reloc: Remove xreadlink.c from file list.
56624         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
56625         xreadlink.c.
56626         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56627
56628 2007-12-24  Bruno Haible  <bruno@clisp.org>
56629
56630         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
56631         * lib/setenv.h: Remove file.
56632         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
56633         lib/setenv.h.
56634         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
56635         (Depends-on): Add stdlib.
56636         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
56637         gl_FUNC_UNSETENV.
56638         (Include): Replace setenv.h with <stdlib.h>.
56639         * modules/unsetenv: New file.
56640         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
56641         * lib/unsetenv.c: Include <stdlib.h> first.
56642         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
56643         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
56644         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
56645         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
56646         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
56647         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56648         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
56649         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56650         * doc/functions/unsetenv.texi: Update.
56651         * modules/xsetenv (Depends-on): Add unsetenv.
56652         * modules/getdate (Depends-on): Likewise.
56653         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
56654         * lib/xsetenv.c: Don't include setenv.h.
56655         * lib/getdate.y: Likewise.
56656         * lib/relocwrapper.c: Likewise.
56657         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
56658         (Depends-on): Add stdlib.
56659         * NEWS: Mention the changes.
56660         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56661
56662 2007-12-23  Bruno Haible  <bruno@clisp.org>
56663
56664         * lib/memmem.c (memmem): Use lowercase variable names. Tab
56665         indentation.
56666
56667 2007-12-23  Bruno Haible  <bruno@clisp.org>
56668
56669         * lib/c-strcasestr.c: Add more comments.
56670         * lib/c-strstr.c: Likewise.
56671         * lib/mbscasestr.c: Likewise.
56672         * lib/mbsstr.c: Likewise.
56673         * lib/strcasestr.c: Likewise.
56674         * lib/memmem.c: Likewise.
56675
56676 2007-12-23  Bruno Haible  <bruno@clisp.org>
56677
56678         * tests/test-memmem.c: Include <string.h> first.
56679
56680 2007-12-22  Bruno Haible  <bruno@clisp.org>
56681
56682         * gnulib-tool (func_create_testdir): Change $auxdir while generating
56683         the contents of $testsbase.
56684         Reported by Ralf Wildenhues.
56685
56686 2007-12-22  Bruno Haible  <bruno@clisp.org>
56687
56688         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
56689         two variables local_ldadd_before, local_ldadd_last.
56690
56691 2007-12-20  Eric Blake  <ebb9@byu.net>
56692
56693         Work around circular library issue when cross-compiling.
56694         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
56695         that progname.o does not need to pull in rpl_memcmp.
56696
56697 2007-12-19  Eric Blake  <ebb9@byu.net>
56698
56699         Fix memmem to avoid O(n^2) worst-case complexity.
56700         * lib/memmem.c (knuth_morris_pratt): New function.
56701         (memmem): Use it if first few naive iterations fail.
56702         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
56703         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
56704         * modules/memchr (License): Likewise.
56705         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
56706         malloca.
56707         * tests/test-memmem.c: Rewrite, borrowing ideas from
56708         test-mbsstr1.c; the old version wouldn't even compile!
56709         * modules/memmem-tests: New file.
56710         * lib/string.in.h (rpl_memmem): Add declaration.
56711         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
56712         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
56713         REPLACE_MEMMEM.
56714
56715 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56716
56717         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
56718         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
56719         before any system include files, and undef after them all.  This
56720         should fix a problem on VMS reported by John E. Malmberg in
56721         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
56722
56723 2007-12-17  Eric Blake  <ebb9@byu.net>
56724
56725         Revert addition of verify, for BSD/OS.
56726         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
56727         can't handle large files, for the sake of obsolete platforms.
56728         * modules/fseeko (Depends-on): Remove verify.
56729         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
56730         * doc/functions/ftello.texi (ftello): Likewise.
56731         * doc/functions/fgetpos.texi (fgetpos): Likewise.
56732         Reported by Larry Jones.
56733
56734 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
56735
56736         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
56737         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
56738
56739 2007-12-17  Jim Meyering  <meyering@redhat.com>
56740
56741         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
56742         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
56743         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
56744         * modules/getcwd (Depends-on): Add openat.
56745         Reported by Petr Salinger.
56746
56747 2007-12-17  Bruno Haible  <bruno@clisp.org>
56748
56749         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
56750         avoid a segmentation fault of the configure test on x86_64 systems.
56751
56752 2007-12-15  Jim Meyering  <meyering@redhat.com>
56753
56754         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
56755
56756 2007-12-13  Eric Blake  <ebb9@byu.net>
56757
56758         Another fseek test.
56759         * tests/test-fseek.c (main): Also test ungetc handling.
56760         * tests/test-fseeko.c (main): Likewise.
56761         * modules/fseeko (Depends-on): Add verify.
56762         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
56763         large.
56764         Reported by Larry Jones.
56765
56766         Fix fseeko on mingw.
56767         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
56768         seek.
56769
56770         Beef up fseek tests.
56771         * tests/test-fseek.c (main): Also test eof handling.
56772         * tests/test-fseeko.c (main): Likewise.
56773         Reported by Larry Jones.
56774
56775 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
56776
56777         Fix fseeko on BSD-based platforms.
56778         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
56779         successful seek.
56780
56781 2007-12-12  Eric Blake  <ebb9@byu.net>
56782
56783         Allow circular dependency of separate libtests.a
56784         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
56785         when use_libtests.
56786
56787 2007-12-11  Eric Blake  <ebb9@byu.net>
56788
56789         Fix bug with -0.0L in previous patch.
56790         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
56791         * tests/test-isnan.c (main): Also test on zeroes.
56792         * tests/test-isnanf.c (main): Likewise.
56793         * tests/test-isnanl.h (main): Likewise.
56794
56795         Detect pseudo-denormals on x86 even when cross-compiling.
56796         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
56797         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
56798         invalid bit patterns that happen to satisfy ==.
56799
56800         Avoid link failures with separate libtests.a.
56801         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
56802         last, to satisfy circular dependencies.
56803
56804 2007-12-11  Eric Blake  <ebb9@byu.net>
56805         and Bruno Haible  <bruno@clisp.org>
56806
56807         Fix OpenBSD 4.0 <float.h> handling of long double.
56808         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
56809         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
56810         * doc/headers/float.texi (float.h): Document OpenBSD bug.
56811
56812 2007-12-11  Jim Meyering  <meyering@redhat.com>
56813
56814         * users.txt: Add libvirt.
56815
56816         Support versions of autoconf prior to 2.59c.
56817         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
56818         if it is not already defined.
56819
56820 2007-12-09  Bruno Haible  <bruno@clisp.org>
56821
56822         Let 'gnulib-tool --import' collect sources needed for the tests in
56823         tests/ rather than in lib/.
56824         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
56825         argument. If true, add rules to generate libtests.a, and put libtests.a
56826         into $(LDADD). Consider source files in subdirectories and set
56827         uses_subdirs.
56828         (func_emit_initmacro_start, func_emit_initmacro_end,
56829         func_emit_initmacro_done): Pass all arguments explicitly.
56830         (func_import): Determine two module lists main_modules,
56831         testsrelated_modules. Determine use_libtests. Determine two variables
56832         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
56833         instead of just sed_transform_lib_file. Determine two variables
56834         main_files and testsrelated_files. Compute 'files' as the union of
56835         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
56836         func_add_or_update. In the generated gnulib-comp.m4, collect the
56837         object files for tests/ in different variables than those for lib/.
56838         Substitute LIBTESTS_LIBDEPS.
56839         (func_create_testdir): Combine the uses_subdirs results from
56840         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
56841
56842 2007-12-09  Bruno Haible  <bruno@clisp.org>
56843
56844         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
56845         the build-aux directory.
56846
56847 2007-12-09  Bruno Haible  <bruno@clisp.org>
56848
56849         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
56850         introduced on 2006-09-09.
56851
56852 2007-12-07  Jim Meyering  <meyering@redhat.com>
56853
56854         Let these macros work also with autoconf-2.59.
56855         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
56856         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
56857         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56858
56859 2007-12-06  Jim Meyering  <meyering@redhat.com>
56860
56861         Avoid a configure-time syntax error in gl_FUNC_ACL.
56862         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
56863         function in each branch, before testing the cache variable.
56864
56865 2007-12-04  Eric Blake  <ebb9@byu.net>
56866
56867         Make scripts executable.
56868         * build-aux/config.guess: Add execute permissions.
56869         * build-aux/config.sub: Likewise.
56870         * build-aux/gendocs.sh: Likewise.
56871
56872         Fix frexp on mingw.
56873         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
56874         cross-compiling.
56875         * doc/functions/frexp.texi (frexp): Document the bug.
56876
56877         Make cygwin fseeko check more reliable.
56878         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
56879         version numbers, rather than unrelated feature check.
56880         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
56881         * doc/functions/ftello.texi (ftello): Likewise.
56882         Reported by Bruno Haible.
56883
56884         * m4/strerror.m4: Bump version number.
56885
56886 2007-12-03  Bruno Haible  <bruno@clisp.org>
56887
56888         * doc/functions/mprotect.texi: Mention the mingw problem.
56889
56890 2007-12-03  Eric Blake  <ebb9@byu.net>
56891
56892         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
56893         REPLACE_STRERROR is initialized before this macro.
56894
56895 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56896
56897         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
56898         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
56899         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
56900         put -lsec in even for programs other than 'ls'.  This fixes a problem
56901         for gettext reported by Bruno Haible in
56902         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
56903         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
56904         Add support for Solaris 10.  This isn't efficient, but should get the
56905         job done for now.
56906
56907 2007-12-03  James Youngman  <jay@gnu.org>
56908
56909         * doc/regexprops-generic.texi: change "an close-group" to "a
56910         close-group" and "illegal" to "not allowed".
56911
56912 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56913
56914         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
56915         pr_byname.h. Needed for the rare case when the maintainer has done
56916         "make maintainer-clean" in the source directory and then attempts a
56917         build outside the source directory.
56918         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
56919         scripts_byname.h.
56920
56921 2007-12-02  Martin Lambers <marlam@marlam.de>
56922             Bruno Haible  <bruno@clisp.org>
56923
56924         * lib/getpagesize.h: Remove file.
56925         * lib/unistd.in.h: Include declaration of getpagesize here.
56926         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
56927         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
56928         HAVE_SYS_PARAM_H.
56929         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
56930         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56931         * modules/getpagesize (Files): Remove lib/getpagesize.h.
56932         (Depends-on): Add unistd.
56933         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56934         (Include): Use <unistd.h> instead of getpagesize.h.
56935         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
56936         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56937         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
56938         gl_GETPAGESIZE invocation, already handled by module dependency.
56939         * lib/pagealign_alloc.c: Don't include getpagesize.h.
56940
56941 2007-12-02  Bruno Haible  <bruno@clisp.org>
56942
56943         * modules/strings-tests: New file.
56944         * tests/test-strings.c: New file.
56945
56946         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
56947         * lib/strings.in.h: New file.
56948         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
56949         * m4/strings_h.m4: New file.
56950         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
56951         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
56952         * modules/strings: New file.
56953         * modules/string (Makefile.am): Update.
56954         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
56955         Reported by Karl Berry.
56956
56957 2007-12-01  Eric Blake  <ebb9@byu.net>
56958
56959         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
56960         accomodate fix in cygwin 1.5.25.
56961
56962 2007-12-01  Jim Meyering  <meyering@redhat.com>
56963
56964         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
56965         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
56966         that would inhibit utf8-optimization of a regexp containing line-
56967         or buffer-anchors, e.g., `^', `$'.
56968
56969 2007-11-30  Bruno Haible  <bruno@clisp.org>
56970
56971         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
56972         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
56973         glthread_recursive_lock_init.
56974         * lib/lock.c (glthread_recursive_lock_init)
56975         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
56976         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56977
56978 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
56979
56980         New function qset_acl, like set_acl but with syscall semantics.
56981         * lib/acl.h (qset_acl): New decl.
56982         * lib/acl.c (qset_acl): New function.
56983         (set_acl): Use new function.  Use more-consistent diagnostics.
56984
56985 2007-11-28  Jim Meyering  <meyering@redhat.com>
56986
56987         * modules/physmem (License): Change from GPL to LGPLv2+.
56988
56989 2007-11-26  Bruno Haible  <bruno@clisp.org>
56990
56991         * lib/vasnprintf.c (decode_long_double): Don't abort if the
56992         'long double' type has excess precision.
56993         Reported by Jim Meyering in
56994         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
56995
56996 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56997
56998         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
56999         Sync from <http://gnu.org/licenses>.
57000         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57001         with license text from same location.
57002         * doc/maintain.texi, doc/standards.texi:  Sync from
57003         <http://savannah.gnu.org/projects/gnustandards>.
57004
57005 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
57006         and Jim Meyering  <meyering@redhat.com>
57007
57008         Adjust getdate' grammar to accept a slightly more regular language.
57009         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57010         Before, the former was rejected.
57011         * lib/getdate.y (digits_to_date_time): New function, factored
57012         out of ...
57013         (number): ...here.  Just call digits_to_date_time.
57014         (hybrid): New non-terminal to handle an <unsigned number,
57015         signed relative offset> sequence consistently.
57016
57017 2007-11-18  Jim Meyering  <meyering@redhat.com>
57018
57019         Pull my changes from coreutils:
57020         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57021         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57022         use of $gnulib_tool_option_extras, so that it's separated from the
57023         preceding argument.
57024
57025         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57026         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57027         parent destination directories before copying a file into place.
57028
57029 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57030
57031         bootstrap: work also with 4-argument variant of AC_INIT
57032         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57033
57034 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57035
57036         Port test-getaddrinfo to Solaris.
57037         Problem reported by Bruno Haible in
57038         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57039         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57040         explanation of setting 'hints'.
57041         Don't reject an implementation merely because it returns EAI_SERVICE.
57042         (EAI_SERVICE): Define to 0 if not defined.
57043
57044 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57045
57046         The license of gnu-make and posix-shell is now "GPLed build tool".
57047         * modules/gnu-make (License): Likewise.
57048         * modules/posix-shell (License): Likewise.
57049
57050         New module posix-shell, for determining a POSIX shell
57051         or perhaps something that is close enough to a POSIX shell.
57052         * m4/posix-shell.m4: New file.
57053         * modules/posix-shell: New file.
57054
57055         * MODULES.html.sh: Mention new module.
57056
57057         New module gnu-make, for determining whether we're using GNU Make.
57058         * m4/gnu-make.m4: New file.
57059         * modules/gnu-make: New file.
57060         * MODULES.html.sh: Mention new module.
57061
57062 2007-11-14  Jim Meyering  <meyering@redhat.com>
57063
57064         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57065         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57066         use this macro to create a function _definition_.
57067         Remove useless "#undef ARGMATCH_DIE".
57068
57069 2007-11-14  Bruno Haible  <bruno@clisp.org>
57070
57071         * lib/config.charset: Update for OpenBSD 4.1.
57072         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57073
57074 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57075
57076         Document 64-bit #if problems in stdint.texi.
57077         * doc/headers/stdint.texi (stdint.h): Mention problems with
57078         64-bit-#if, and how to work around them.
57079
57080         Don't insist on 'long long int' support in the preprocessor.  It
57081         breaks too many things.  For example, PRIdMAX still uses a 'long
57082         long int' format with the latest Sun compiler, even though
57083         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57084         preprocessor problem.  This causes the latest coreutils to dump
57085         core on Solaris 10 sparc with the Sun C compiler.
57086         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57087         the troublesome expressions at configure-time, not at #if-time.
57088         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57089         preprocessor.
57090         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57091         compile-time C checks, done at 'configure'-time.
57092         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57093         * modules/inttypes (Makefile): Substitute the new symbols that
57094         gl_INTTYPES_H now generates.
57095         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57096
57097 2007-11-12  Bruno Haible  <bruno@clisp.org>
57098
57099         Tests for Unicode character classification functions.
57100
57101         * modules/unictype/bidicategory-byname-tests: New file.
57102         * modules/unictype/bidicategory-name-tests: New file.
57103         * modules/unictype/bidicategory-of-tests: New file.
57104         * modules/unictype/bidicategory-test-tests: New file.
57105         * modules/unictype/block-list-tests: New file.
57106         * modules/unictype/block-of-tests: New file.
57107         * modules/unictype/block-test-tests: New file.
57108         * modules/unictype/category-C-tests: New file.
57109         * modules/unictype/category-Cc-tests: New file.
57110         * modules/unictype/category-Cf-tests: New file.
57111         * modules/unictype/category-Cn-tests: New file.
57112         * modules/unictype/category-Co-tests: New file.
57113         * modules/unictype/category-Cs-tests: New file.
57114         * modules/unictype/category-L-tests: New file.
57115         * modules/unictype/category-Ll-tests: New file.
57116         * modules/unictype/category-Lm-tests: New file.
57117         * modules/unictype/category-Lo-tests: New file.
57118         * modules/unictype/category-Lt-tests: New file.
57119         * modules/unictype/category-Lu-tests: New file.
57120         * modules/unictype/category-M-tests: New file.
57121         * modules/unictype/category-Mc-tests: New file.
57122         * modules/unictype/category-Me-tests: New file.
57123         * modules/unictype/category-Mn-tests: New file.
57124         * modules/unictype/category-N-tests: New file.
57125         * modules/unictype/category-Nd-tests: New file.
57126         * modules/unictype/category-Nl-tests: New file.
57127         * modules/unictype/category-No-tests: New file.
57128         * modules/unictype/category-P-tests: New file.
57129         * modules/unictype/category-Pc-tests: New file.
57130         * modules/unictype/category-Pd-tests: New file.
57131         * modules/unictype/category-Pe-tests: New file.
57132         * modules/unictype/category-Pf-tests: New file.
57133         * modules/unictype/category-Pi-tests: New file.
57134         * modules/unictype/category-Po-tests: New file.
57135         * modules/unictype/category-Ps-tests: New file.
57136         * modules/unictype/category-S-tests: New file.
57137         * modules/unictype/category-Sc-tests: New file.
57138         * modules/unictype/category-Sk-tests: New file.
57139         * modules/unictype/category-Sm-tests: New file.
57140         * modules/unictype/category-So-tests: New file.
57141         * modules/unictype/category-Z-tests: New file.
57142         * modules/unictype/category-Zl-tests: New file.
57143         * modules/unictype/category-Zp-tests: New file.
57144         * modules/unictype/category-Zs-tests: New file.
57145         * modules/unictype/category-and-not-tests: New file.
57146         * modules/unictype/category-and-tests: New file.
57147         * modules/unictype/category-byname-tests: New file.
57148         * modules/unictype/category-name-tests: New file.
57149         * modules/unictype/category-none-tests: New file.
57150         * modules/unictype/category-of-tests: New file.
57151         * modules/unictype/category-or-tests: New file.
57152         * modules/unictype/category-test-withtable-tests: New file.
57153         * modules/unictype/combining-class-tests: New file.
57154         * modules/unictype/ctype-alnum-tests: New file.
57155         * modules/unictype/ctype-alpha-tests: New file.
57156         * modules/unictype/ctype-blank-tests: New file.
57157         * modules/unictype/ctype-cntrl-tests: New file.
57158         * modules/unictype/ctype-digit-tests: New file.
57159         * modules/unictype/ctype-graph-tests: New file.
57160         * modules/unictype/ctype-lower-tests: New file.
57161         * modules/unictype/ctype-print-tests: New file.
57162         * modules/unictype/ctype-punct-tests: New file.
57163         * modules/unictype/ctype-space-tests: New file.
57164         * modules/unictype/ctype-upper-tests: New file.
57165         * modules/unictype/ctype-xdigit-tests: New file.
57166         * modules/unictype/decimal-digit-tests: New file.
57167         * modules/unictype/digit-tests: New file.
57168         * modules/unictype/mirror-tests: New file.
57169         * modules/unictype/numeric-tests: New file.
57170         * modules/unictype/property-alphabetic-tests: New file.
57171         * modules/unictype/property-ascii-hex-digit-tests: New file.
57172         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57173         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57174         * modules/unictype/property-bidi-block-separator-tests: New file.
57175         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57176         * modules/unictype/property-bidi-common-separator-tests: New file.
57177         * modules/unictype/property-bidi-control-tests: New file.
57178         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57179         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57180         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57181         * modules/unictype/property-bidi-european-digit-tests: New file.
57182         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57183         * modules/unictype/property-bidi-left-to-right-tests: New file.
57184         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57185         * modules/unictype/property-bidi-other-neutral-tests: New file.
57186         * modules/unictype/property-bidi-pdf-tests: New file.
57187         * modules/unictype/property-bidi-segment-separator-tests: New file.
57188         * modules/unictype/property-bidi-whitespace-tests: New file.
57189         * modules/unictype/property-byname-tests: New file.
57190         * modules/unictype/property-combining-tests: New file.
57191         * modules/unictype/property-composite-tests: New file.
57192         * modules/unictype/property-currency-symbol-tests: New file.
57193         * modules/unictype/property-dash-tests: New file.
57194         * modules/unictype/property-decimal-digit-tests: New file.
57195         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57196         * modules/unictype/property-deprecated-tests: New file.
57197         * modules/unictype/property-diacritic-tests: New file.
57198         * modules/unictype/property-extender-tests: New file.
57199         * modules/unictype/property-format-control-tests: New file.
57200         * modules/unictype/property-grapheme-base-tests: New file.
57201         * modules/unictype/property-grapheme-extend-tests: New file.
57202         * modules/unictype/property-grapheme-link-tests: New file.
57203         * modules/unictype/property-hex-digit-tests: New file.
57204         * modules/unictype/property-hyphen-tests: New file.
57205         * modules/unictype/property-id-continue-tests: New file.
57206         * modules/unictype/property-id-start-tests: New file.
57207         * modules/unictype/property-ideographic-tests: New file.
57208         * modules/unictype/property-ids-binary-operator-tests: New file.
57209         * modules/unictype/property-ids-trinary-operator-tests: New file.
57210         * modules/unictype/property-ignorable-control-tests: New file.
57211         * modules/unictype/property-iso-control-tests: New file.
57212         * modules/unictype/property-join-control-tests: New file.
57213         * modules/unictype/property-left-of-pair-tests: New file.
57214         * modules/unictype/property-line-separator-tests: New file.
57215         * modules/unictype/property-logical-order-exception-tests: New file.
57216         * modules/unictype/property-lowercase-tests: New file.
57217         * modules/unictype/property-math-tests: New file.
57218         * modules/unictype/property-non-break-tests: New file.
57219         * modules/unictype/property-not-a-character-tests: New file.
57220         * modules/unictype/property-numeric-tests: New file.
57221         * modules/unictype/property-other-alphabetic-tests: New file.
57222         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57223         * modules/unictype/property-other-grapheme-extend-tests: New file.
57224         * modules/unictype/property-other-id-continue-tests: New file.
57225         * modules/unictype/property-other-id-start-tests: New file.
57226         * modules/unictype/property-other-lowercase-tests: New file.
57227         * modules/unictype/property-other-math-tests: New file.
57228         * modules/unictype/property-other-uppercase-tests: New file.
57229         * modules/unictype/property-paired-punctuation-tests: New file.
57230         * modules/unictype/property-paragraph-separator-tests: New file.
57231         * modules/unictype/property-pattern-syntax-tests: New file.
57232         * modules/unictype/property-pattern-white-space-tests: New file.
57233         * modules/unictype/property-private-use-tests: New file.
57234         * modules/unictype/property-punctuation-tests: New file.
57235         * modules/unictype/property-quotation-mark-tests: New file.
57236         * modules/unictype/property-radical-tests: New file.
57237         * modules/unictype/property-sentence-terminal-tests: New file.
57238         * modules/unictype/property-soft-dotted-tests: New file.
57239         * modules/unictype/property-space-tests: New file.
57240         * modules/unictype/property-terminal-punctuation-tests: New file.
57241         * modules/unictype/property-test-tests: New file.
57242         * modules/unictype/property-titlecase-tests: New file.
57243         * modules/unictype/property-unassigned-code-value-tests: New file.
57244         * modules/unictype/property-unified-ideograph-tests: New file.
57245         * modules/unictype/property-uppercase-tests: New file.
57246         * modules/unictype/property-variation-selector-tests: New file.
57247         * modules/unictype/property-white-space-tests: New file.
57248         * modules/unictype/property-xid-continue-tests: New file.
57249         * modules/unictype/property-xid-start-tests: New file.
57250         * modules/unictype/property-zero-width-tests: New file.
57251         * modules/unictype/scripts-tests: New file.
57252         * modules/unictype/syntax-c-ident-tests: New file.
57253         * modules/unictype/syntax-c-whitespace-tests: New file.
57254         * modules/unictype/syntax-java-ident-tests: New file.
57255         * modules/unictype/syntax-java-whitespace-tests: New file.
57256         * tests/unictype/test-bidi_byname.c: New file.
57257         * tests/unictype/test-bidi_name.c: New file.
57258         * tests/unictype/test-bidi_of.c: New file.
57259         * tests/unictype/test-bidi_test.c: New file.
57260         * tests/unictype/test-block_list.c: New file.
57261         * tests/unictype/test-block_of.c: New file.
57262         * tests/unictype/test-block_test.c: New file.
57263         * tests/unictype/test-categ_and.c: New file.
57264         * tests/unictype/test-categ_and_not.c: New file.
57265         * tests/unictype/test-categ_byname.c: New file.
57266         * tests/unictype/test-categ_name.c: New file.
57267         * tests/unictype/test-categ_none.c: New file.
57268         * tests/unictype/test-categ_of.c: New file.
57269         * tests/unictype/test-categ_or.c: New file.
57270         * tests/unictype/test-categ_test_withtable.c: New file.
57271         * tests/unictype/test-combining.c: New file.
57272         * tests/unictype/test-decdigit.c: New file.
57273         * tests/unictype/test-digit.c: New file.
57274         * tests/unictype/test-mirror.c: New file.
57275         * tests/unictype/test-numeric.c: New file.
57276         * tests/unictype/test-pr_byname.c: New file.
57277         * tests/unictype/test-pr_test.c: New file.
57278         * tests/unictype/test-predicate-part1.h: New file.
57279         * tests/unictype/test-predicate-part2.h: New file.
57280         * tests/unictype/test-scripts.c: New file.
57281         * tests/unictype/test-sy_c_ident.c: New file.
57282         * tests/unictype/test-sy_java_ident.c: New file.
57283
57284         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57285         for Unicode 5.0.0.
57286         * tests/unictype/test-categ_Cc.c: Likewise.
57287         * tests/unictype/test-categ_Cf.c: Likewise.
57288         * tests/unictype/test-categ_Cn.c: Likewise.
57289         * tests/unictype/test-categ_Co.c: Likewise.
57290         * tests/unictype/test-categ_Cs.c: Likewise.
57291         * tests/unictype/test-categ_L.c: Likewise.
57292         * tests/unictype/test-categ_Ll.c: Likewise.
57293         * tests/unictype/test-categ_Lm.c: Likewise.
57294         * tests/unictype/test-categ_Lo.c: Likewise.
57295         * tests/unictype/test-categ_Lt.c: Likewise.
57296         * tests/unictype/test-categ_Lu.c: Likewise.
57297         * tests/unictype/test-categ_M.c: Likewise.
57298         * tests/unictype/test-categ_Mc.c: Likewise.
57299         * tests/unictype/test-categ_Me.c: Likewise.
57300         * tests/unictype/test-categ_Mn.c: Likewise.
57301         * tests/unictype/test-categ_N.c: Likewise.
57302         * tests/unictype/test-categ_Nd.c: Likewise.
57303         * tests/unictype/test-categ_Nl.c: Likewise.
57304         * tests/unictype/test-categ_No.c: Likewise.
57305         * tests/unictype/test-categ_P.c: Likewise.
57306         * tests/unictype/test-categ_Pc.c: Likewise.
57307         * tests/unictype/test-categ_Pd.c: Likewise.
57308         * tests/unictype/test-categ_Pe.c: Likewise.
57309         * tests/unictype/test-categ_Pf.c: Likewise.
57310         * tests/unictype/test-categ_Pi.c: Likewise.
57311         * tests/unictype/test-categ_Po.c: Likewise.
57312         * tests/unictype/test-categ_Ps.c: Likewise.
57313         * tests/unictype/test-categ_S.c: Likewise.
57314         * tests/unictype/test-categ_Sc.c: Likewise.
57315         * tests/unictype/test-categ_Sk.c: Likewise.
57316         * tests/unictype/test-categ_Sm.c: Likewise.
57317         * tests/unictype/test-categ_So.c: Likewise.
57318         * tests/unictype/test-categ_Z.c: Likewise.
57319         * tests/unictype/test-categ_Zl.c: Likewise.
57320         * tests/unictype/test-categ_Zp.c: Likewise.
57321         * tests/unictype/test-categ_Zs.c: Likewise.
57322         * tests/unictype/test-ctype_alnum.c: Likewise.
57323         * tests/unictype/test-ctype_alpha.c: Likewise.
57324         * tests/unictype/test-ctype_blank.c: Likewise.
57325         * tests/unictype/test-ctype_cntrl.c: Likewise.
57326         * tests/unictype/test-ctype_digit.c: Likewise.
57327         * tests/unictype/test-ctype_graph.c: Likewise.
57328         * tests/unictype/test-ctype_lower.c: Likewise.
57329         * tests/unictype/test-ctype_print.c: Likewise.
57330         * tests/unictype/test-ctype_punct.c: Likewise.
57331         * tests/unictype/test-ctype_space.c: Likewise.
57332         * tests/unictype/test-ctype_upper.c: Likewise.
57333         * tests/unictype/test-ctype_xdigit.c: Likewise.
57334         * tests/unictype/test-decdigit.h: Likewise.
57335         * tests/unictype/test-digit.h: Likewise.
57336         * tests/unictype/test-numeric.h: Likewise.
57337         * tests/unictype/test-pr_alphabetic.c: Likewise.
57338         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57339         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57340         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57341         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57342         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57343         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57344         * tests/unictype/test-pr_bidi_control.c: Likewise.
57345         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57346         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57347         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57348         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57349         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57350         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57351         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57352         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57353         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
57354         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
57355         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
57356         * tests/unictype/test-pr_combining.c: Likewise.
57357         * tests/unictype/test-pr_composite.c: Likewise.
57358         * tests/unictype/test-pr_currency_symbol.c: Likewise.
57359         * tests/unictype/test-pr_dash.c: Likewise.
57360         * tests/unictype/test-pr_decimal_digit.c: Likewise.
57361         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
57362         * tests/unictype/test-pr_deprecated.c: Likewise.
57363         * tests/unictype/test-pr_diacritic.c: Likewise.
57364         * tests/unictype/test-pr_extender.c: Likewise.
57365         * tests/unictype/test-pr_format_control.c: Likewise.
57366         * tests/unictype/test-pr_grapheme_base.c: Likewise.
57367         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
57368         * tests/unictype/test-pr_grapheme_link.c: Likewise.
57369         * tests/unictype/test-pr_hex_digit.c: Likewise.
57370         * tests/unictype/test-pr_hyphen.c: Likewise.
57371         * tests/unictype/test-pr_id_continue.c: Likewise.
57372         * tests/unictype/test-pr_id_start.c: Likewise.
57373         * tests/unictype/test-pr_ideographic.c: Likewise.
57374         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
57375         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
57376         * tests/unictype/test-pr_ignorable_control.c: Likewise.
57377         * tests/unictype/test-pr_iso_control.c: Likewise.
57378         * tests/unictype/test-pr_join_control.c: Likewise.
57379         * tests/unictype/test-pr_left_of_pair.c: Likewise.
57380         * tests/unictype/test-pr_line_separator.c: Likewise.
57381         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
57382         * tests/unictype/test-pr_lowercase.c: Likewise.
57383         * tests/unictype/test-pr_math.c: Likewise.
57384         * tests/unictype/test-pr_non_break.c: Likewise.
57385         * tests/unictype/test-pr_not_a_character.c: Likewise.
57386         * tests/unictype/test-pr_numeric.c: Likewise.
57387         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
57388         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
57389         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
57390         * tests/unictype/test-pr_other_id_continue.c: Likewise.
57391         * tests/unictype/test-pr_other_id_start.c: Likewise.
57392         * tests/unictype/test-pr_other_lowercase.c: Likewise.
57393         * tests/unictype/test-pr_other_math.c: Likewise.
57394         * tests/unictype/test-pr_other_uppercase.c: Likewise.
57395         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
57396         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
57397         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
57398         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
57399         * tests/unictype/test-pr_private_use.c: Likewise.
57400         * tests/unictype/test-pr_punctuation.c: Likewise.
57401         * tests/unictype/test-pr_quotation_mark.c: Likewise.
57402         * tests/unictype/test-pr_radical.c: Likewise.
57403         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
57404         * tests/unictype/test-pr_soft_dotted.c: Likewise.
57405         * tests/unictype/test-pr_space.c: Likewise.
57406         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
57407         * tests/unictype/test-pr_titlecase.c: Likewise.
57408         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
57409         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
57410         * tests/unictype/test-pr_uppercase.c: Likewise.
57411         * tests/unictype/test-pr_variation_selector.c: Likewise.
57412         * tests/unictype/test-pr_white_space.c: Likewise.
57413         * tests/unictype/test-pr_xid_continue.c: Likewise.
57414         * tests/unictype/test-pr_xid_start.c: Likewise.
57415         * tests/unictype/test-pr_zero_width.c: Likewise.
57416         * tests/unictype/test-sy_c_whitespace.c: Likewise.
57417         * tests/unictype/test-sy_java_whitespace.c: Likewise.
57418
57419 2007-11-12  Bruno Haible  <bruno@clisp.org>
57420
57421         Unicode character classification functions.
57422         * lib/unictype.h: New file.
57423         * modules/unictype/base: New file.
57424         * modules/unictype/category-L: New file.
57425         * modules/unictype/category-Lu: New file.
57426         * modules/unictype/category-Ll: New file.
57427         * modules/unictype/category-Lt: New file.
57428         * modules/unictype/category-Lm: New file.
57429         * modules/unictype/category-Lo: New file.
57430         * modules/unictype/category-M: New file.
57431         * modules/unictype/category-Mn: New file.
57432         * modules/unictype/category-Mc: New file.
57433         * modules/unictype/category-Me: New file.
57434         * modules/unictype/category-N: New file.
57435         * modules/unictype/category-Nd: New file.
57436         * modules/unictype/category-Nl: New file.
57437         * modules/unictype/category-No: New file.
57438         * modules/unictype/category-P: New file.
57439         * modules/unictype/category-Pc: New file.
57440         * modules/unictype/category-Pd: New file.
57441         * modules/unictype/category-Ps: New file.
57442         * modules/unictype/category-Pe: New file.
57443         * modules/unictype/category-Pi: New file.
57444         * modules/unictype/category-Pf: New file.
57445         * modules/unictype/category-Po: New file.
57446         * modules/unictype/category-S: New file.
57447         * modules/unictype/category-Sm: New file.
57448         * modules/unictype/category-Sc: New file.
57449         * modules/unictype/category-Sk: New file.
57450         * modules/unictype/category-So: New file.
57451         * modules/unictype/category-Z: New file.
57452         * modules/unictype/category-Zs: New file.
57453         * modules/unictype/category-Zl: New file.
57454         * modules/unictype/category-Zp: New file.
57455         * modules/unictype/category-C: New file.
57456         * modules/unictype/category-Cc: New file.
57457         * modules/unictype/category-Cf: New file.
57458         * modules/unictype/category-Cs: New file.
57459         * modules/unictype/category-Co: New file.
57460         * modules/unictype/category-Cn: New file.
57461         * modules/unictype/category-or: New file.
57462         * modules/unictype/category-of: New file.
57463         * modules/unictype/category-test: New file.
57464         * modules/unictype/category-test-withtable: New file.
57465         * modules/unictype/category-byname: New file.
57466         * modules/unictype/category-none: New file.
57467         * modules/unictype/category-and: New file.
57468         * modules/unictype/category-and-not: New file.
57469         * modules/unictype/category-name: New file.
57470         * modules/unictype/combining-class: New file.
57471         * modules/unictype/category-all: New file.
57472         * modules/unictype/bidicategory-all: New file.
57473         * modules/unictype/bidicategory-byname: New file.
57474         * modules/unictype/bidicategory-name: New file.
57475         * modules/unictype/bidicategory-of: New file.
57476         * modules/unictype/bidicategory-test: New file.
57477         * modules/unictype/decimal-digit: New file.
57478         * modules/unictype/digit: New file.
57479         * modules/unictype/numeric: New file.
57480         * modules/unictype/mirror: New file.
57481         * modules/unictype/property-white-space: New file.
57482         * modules/unictype/property-alphabetic: New file.
57483         * modules/unictype/property-other-alphabetic: New file.
57484         * modules/unictype/property-not-a-character: New file.
57485         * modules/unictype/property-default-ignorable-code-point: New file.
57486         * modules/unictype/property-other-default-ignorable-code-point: New
57487         file.
57488         * modules/unictype/property-deprecated: New file.
57489         * modules/unictype/property-logical-order-exception: New file.
57490         * modules/unictype/property-variation-selector: New file.
57491         * modules/unictype/property-private-use: New file.
57492         * modules/unictype/property-unassigned-code-value: New file.
57493         * modules/unictype/property-uppercase: New file.
57494         * modules/unictype/property-other-uppercase: New file.
57495         * modules/unictype/property-lowercase: New file.
57496         * modules/unictype/property-other-lowercase: New file.
57497         * modules/unictype/property-titlecase: New file.
57498         * modules/unictype/property-soft-dotted: New file.
57499         * modules/unictype/property-id-start: New file.
57500         * modules/unictype/property-other-id-start: New file.
57501         * modules/unictype/property-id-continue: New file.
57502         * modules/unictype/property-other-id-continue: New file.
57503         * modules/unictype/property-xid-start: New file.
57504         * modules/unictype/property-xid-continue: New file.
57505         * modules/unictype/property-pattern-white-space: New file.
57506         * modules/unictype/property-pattern-syntax: New file.
57507         * modules/unictype/property-join-control: New file.
57508         * modules/unictype/property-grapheme-base: New file.
57509         * modules/unictype/property-grapheme-extend: New file.
57510         * modules/unictype/property-other-grapheme-extend: New file.
57511         * modules/unictype/property-grapheme-link: New file.
57512         * modules/unictype/property-bidi-control: New file.
57513         * modules/unictype/property-bidi-left-to-right: New file.
57514         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
57515         * modules/unictype/property-bidi-arabic-right-to-left: New file.
57516         * modules/unictype/property-bidi-european-digit: New file.
57517         * modules/unictype/property-bidi-eur-num-separator: New file.
57518         * modules/unictype/property-bidi-eur-num-terminator: New file.
57519         * modules/unictype/property-bidi-arabic-digit: New file.
57520         * modules/unictype/property-bidi-common-separator: New file.
57521         * modules/unictype/property-bidi-block-separator: New file.
57522         * modules/unictype/property-bidi-segment-separator: New file.
57523         * modules/unictype/property-bidi-whitespace: New file.
57524         * modules/unictype/property-bidi-non-spacing-mark: New file.
57525         * modules/unictype/property-bidi-boundary-neutral: New file.
57526         * modules/unictype/property-bidi-pdf: New file.
57527         * modules/unictype/property-bidi-embedding-or-override: New file.
57528         * modules/unictype/property-bidi-other-neutral: New file.
57529         * modules/unictype/property-hex-digit: New file.
57530         * modules/unictype/property-ascii-hex-digit: New file.
57531         * modules/unictype/property-ideographic: New file.
57532         * modules/unictype/property-unified-ideograph: New file.
57533         * modules/unictype/property-radical: New file.
57534         * modules/unictype/property-ids-binary-operator: New file.
57535         * modules/unictype/property-ids-trinary-operator: New file.
57536         * modules/unictype/property-zero-width: New file.
57537         * modules/unictype/property-space: New file.
57538         * modules/unictype/property-non-break: New file.
57539         * modules/unictype/property-iso-control: New file.
57540         * modules/unictype/property-format-control: New file.
57541         * modules/unictype/property-dash: New file.
57542         * modules/unictype/property-hyphen: New file.
57543         * modules/unictype/property-punctuation: New file.
57544         * modules/unictype/property-line-separator: New file.
57545         * modules/unictype/property-paragraph-separator: New file.
57546         * modules/unictype/property-quotation-mark: New file.
57547         * modules/unictype/property-sentence-terminal: New file.
57548         * modules/unictype/property-terminal-punctuation: New file.
57549         * modules/unictype/property-currency-symbol: New file.
57550         * modules/unictype/property-math: New file.
57551         * modules/unictype/property-other-math: New file.
57552         * modules/unictype/property-paired-punctuation: New file.
57553         * modules/unictype/property-left-of-pair: New file.
57554         * modules/unictype/property-combining: New file.
57555         * modules/unictype/property-composite: New file.
57556         * modules/unictype/property-decimal-digit: New file.
57557         * modules/unictype/property-numeric: New file.
57558         * modules/unictype/property-diacritic: New file.
57559         * modules/unictype/property-extender: New file.
57560         * modules/unictype/property-ignorable-control: New file.
57561         * modules/unictype/property-test: New file.
57562         * modules/unictype/property-byname: New file.
57563         * modules/unictype/property-all: New file.
57564         * modules/unictype/scripts: New file.
57565         * modules/unictype/scripts-all: New file.
57566         * modules/unictype/block-of: New file.
57567         * modules/unictype/block-test: New file.
57568         * modules/unictype/block-list: New file.
57569         * modules/unictype/block-all: New file.
57570         * modules/unictype/syntax-c-whitespace: New file.
57571         * modules/unictype/syntax-java-whitespace: New file.
57572         * modules/unictype/syntax-c-ident: New file.
57573         * modules/unictype/syntax-java-ident: New file.
57574         * modules/unictype/ctype-alnum: New file.
57575         * modules/unictype/ctype-alpha: New file.
57576         * modules/unictype/ctype-cntrl: New file.
57577         * modules/unictype/ctype-digit: New file.
57578         * modules/unictype/ctype-graph: New file.
57579         * modules/unictype/ctype-lower: New file.
57580         * modules/unictype/ctype-print: New file.
57581         * modules/unictype/ctype-punct: New file.
57582         * modules/unictype/ctype-space: New file.
57583         * modules/unictype/ctype-upper: New file.
57584         * modules/unictype/ctype-xdigit: New file.
57585         * modules/unictype/ctype-blank: New file.
57586         * lib/unictype/bidi_byname.c: New file.
57587         * lib/unictype/bidi_name.c: New file.
57588         * lib/unictype/bidi_of.c: New file.
57589         * lib/unictype/bidi_test.c: New file.
57590         * lib/unictype/bitmap.h: New file.
57591         * lib/unictype/block_test.c: New file.
57592         * lib/unictype/blocks.c: New file.
57593         * lib/unictype/categ_C.c: New file.
57594         * lib/unictype/categ_Cc.c: New file.
57595         * lib/unictype/categ_Cf.c: New file.
57596         * lib/unictype/categ_Cn.c: New file.
57597         * lib/unictype/categ_Co.c: New file.
57598         * lib/unictype/categ_Cs.c: New file.
57599         * lib/unictype/categ_L.c: New file.
57600         * lib/unictype/categ_Ll.c: New file.
57601         * lib/unictype/categ_Lm.c: New file.
57602         * lib/unictype/categ_Lo.c: New file.
57603         * lib/unictype/categ_Lt.c: New file.
57604         * lib/unictype/categ_Lu.c: New file.
57605         * lib/unictype/categ_M.c: New file.
57606         * lib/unictype/categ_Mc.c: New file.
57607         * lib/unictype/categ_Me.c: New file.
57608         * lib/unictype/categ_Mn.c: New file.
57609         * lib/unictype/categ_N.c: New file.
57610         * lib/unictype/categ_Nd.c: New file.
57611         * lib/unictype/categ_Nl.c: New file.
57612         * lib/unictype/categ_No.c: New file.
57613         * lib/unictype/categ_P.c: New file.
57614         * lib/unictype/categ_Pc.c: New file.
57615         * lib/unictype/categ_Pd.c: New file.
57616         * lib/unictype/categ_Pe.c: New file.
57617         * lib/unictype/categ_Pf.c: New file.
57618         * lib/unictype/categ_Pi.c: New file.
57619         * lib/unictype/categ_Po.c: New file.
57620         * lib/unictype/categ_Ps.c: New file.
57621         * lib/unictype/categ_S.c: New file.
57622         * lib/unictype/categ_Sc.c: New file.
57623         * lib/unictype/categ_Sk.c: New file.
57624         * lib/unictype/categ_Sm.c: New file.
57625         * lib/unictype/categ_So.c: New file.
57626         * lib/unictype/categ_Z.c: New file.
57627         * lib/unictype/categ_Zl.c: New file.
57628         * lib/unictype/categ_Zp.c: New file.
57629         * lib/unictype/categ_Zs.c: New file.
57630         * lib/unictype/categ_and.c: New file.
57631         * lib/unictype/categ_and_not.c: New file.
57632         * lib/unictype/categ_byname.c: New file.
57633         * lib/unictype/categ_name.c: New file.
57634         * lib/unictype/categ_none.c: New file.
57635         * lib/unictype/categ_of.c: New file.
57636         * lib/unictype/categ_or.c: New file.
57637         * lib/unictype/categ_test.c: New file.
57638         * lib/unictype/combining.c: New file.
57639         * lib/unictype/ctype_alnum.c: New file.
57640         * lib/unictype/ctype_alpha.c: New file.
57641         * lib/unictype/ctype_blank.c: New file.
57642         * lib/unictype/ctype_cntrl.c: New file.
57643         * lib/unictype/ctype_digit.c: New file.
57644         * lib/unictype/ctype_graph.c: New file.
57645         * lib/unictype/ctype_lower.c: New file.
57646         * lib/unictype/ctype_print.c: New file.
57647         * lib/unictype/ctype_punct.c: New file.
57648         * lib/unictype/ctype_space.c: New file.
57649         * lib/unictype/ctype_upper.c: New file.
57650         * lib/unictype/ctype_xdigit.c: New file.
57651         * lib/unictype/decdigit.c: New file.
57652         * lib/unictype/digit.c: New file.
57653         * lib/unictype/identsyntaxmap.h: New file.
57654         * lib/unictype/mirror.c: New file.
57655         * lib/unictype/numeric.c: New file.
57656         * lib/unictype/pr_alphabetic.c: New file.
57657         * lib/unictype/pr_ascii_hex_digit.c: New file.
57658         * lib/unictype/pr_bidi_arabic_digit.c: New file.
57659         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
57660         * lib/unictype/pr_bidi_block_separator.c: New file.
57661         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
57662         * lib/unictype/pr_bidi_common_separator.c: New file.
57663         * lib/unictype/pr_bidi_control.c: New file.
57664         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
57665         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
57666         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
57667         * lib/unictype/pr_bidi_european_digit.c: New file.
57668         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
57669         * lib/unictype/pr_bidi_left_to_right.c: New file.
57670         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
57671         * lib/unictype/pr_bidi_other_neutral.c: New file.
57672         * lib/unictype/pr_bidi_pdf.c: New file.
57673         * lib/unictype/pr_bidi_segment_separator.c: New file.
57674         * lib/unictype/pr_bidi_whitespace.c: New file.
57675         * lib/unictype/pr_byname.c: New file.
57676         * lib/unictype/pr_byname.gperf: New file.
57677         * lib/unictype/pr_combining.c: New file.
57678         * lib/unictype/pr_composite.c: New file.
57679         * lib/unictype/pr_currency_symbol.c: New file.
57680         * lib/unictype/pr_dash.c: New file.
57681         * lib/unictype/pr_decimal_digit.c: New file.
57682         * lib/unictype/pr_default_ignorable_code_point.c: New file.
57683         * lib/unictype/pr_deprecated.c: New file.
57684         * lib/unictype/pr_diacritic.c: New file.
57685         * lib/unictype/pr_extender.c: New file.
57686         * lib/unictype/pr_format_control.c: New file.
57687         * lib/unictype/pr_grapheme_base.c: New file.
57688         * lib/unictype/pr_grapheme_extend.c: New file.
57689         * lib/unictype/pr_grapheme_link.c: New file.
57690         * lib/unictype/pr_hex_digit.c: New file.
57691         * lib/unictype/pr_hyphen.c: New file.
57692         * lib/unictype/pr_id_continue.c: New file.
57693         * lib/unictype/pr_id_start.c: New file.
57694         * lib/unictype/pr_ideographic.c: New file.
57695         * lib/unictype/pr_ids_binary_operator.c: New file.
57696         * lib/unictype/pr_ids_trinary_operator.c: New file.
57697         * lib/unictype/pr_ignorable_control.c: New file.
57698         * lib/unictype/pr_iso_control.c: New file.
57699         * lib/unictype/pr_join_control.c: New file.
57700         * lib/unictype/pr_left_of_pair.c: New file.
57701         * lib/unictype/pr_line_separator.c: New file.
57702         * lib/unictype/pr_logical_order_exception.c: New file.
57703         * lib/unictype/pr_lowercase.c: New file.
57704         * lib/unictype/pr_math.c: New file.
57705         * lib/unictype/pr_non_break.c: New file.
57706         * lib/unictype/pr_not_a_character.c: New file.
57707         * lib/unictype/pr_numeric.c: New file.
57708         * lib/unictype/pr_other_alphabetic.c: New file.
57709         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
57710         * lib/unictype/pr_other_grapheme_extend.c: New file.
57711         * lib/unictype/pr_other_id_continue.c: New file.
57712         * lib/unictype/pr_other_id_start.c: New file.
57713         * lib/unictype/pr_other_lowercase.c: New file.
57714         * lib/unictype/pr_other_math.c: New file.
57715         * lib/unictype/pr_other_uppercase.c: New file.
57716         * lib/unictype/pr_paired_punctuation.c: New file.
57717         * lib/unictype/pr_paragraph_separator.c: New file.
57718         * lib/unictype/pr_pattern_syntax.c: New file.
57719         * lib/unictype/pr_pattern_white_space.c: New file.
57720         * lib/unictype/pr_private_use.c: New file.
57721         * lib/unictype/pr_punctuation.c: New file.
57722         * lib/unictype/pr_quotation_mark.c: New file.
57723         * lib/unictype/pr_radical.c: New file.
57724         * lib/unictype/pr_sentence_terminal.c: New file.
57725         * lib/unictype/pr_soft_dotted.c: New file.
57726         * lib/unictype/pr_space.c: New file.
57727         * lib/unictype/pr_terminal_punctuation.c: New file.
57728         * lib/unictype/pr_test.c: New file.
57729         * lib/unictype/pr_titlecase.c: New file.
57730         * lib/unictype/pr_unassigned_code_value.c: New file.
57731         * lib/unictype/pr_unified_ideograph.c: New file.
57732         * lib/unictype/pr_uppercase.c: New file.
57733         * lib/unictype/pr_variation_selector.c: New file.
57734         * lib/unictype/pr_white_space.c: New file.
57735         * lib/unictype/pr_xid_continue.c: New file.
57736         * lib/unictype/pr_xid_start.c: New file.
57737         * lib/unictype/pr_zero_width.c: New file.
57738         * lib/unictype/scripts.c: New file.
57739         * lib/unictype/sy_c_ident.c: New file.
57740         * lib/unictype/sy_c_whitespace.c: New file.
57741         * lib/unictype/sy_java_ident.c: New file.
57742         * lib/unictype/sy_java_whitespace.c: New file.
57743
57744         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
57745         Unicode 5.0.0.
57746         * lib/unictype/blocks.h: Likewise.
57747         * lib/unictype/categ_C.h: Likewise.
57748         * lib/unictype/categ_Cc.h: Likewise.
57749         * lib/unictype/categ_Cf.h: Likewise.
57750         * lib/unictype/categ_Cn.h: Likewise.
57751         * lib/unictype/categ_Co.h: Likewise.
57752         * lib/unictype/categ_Cs.h: Likewise.
57753         * lib/unictype/categ_L.h: Likewise.
57754         * lib/unictype/categ_Ll.h: Likewise.
57755         * lib/unictype/categ_Lm.h: Likewise.
57756         * lib/unictype/categ_Lo.h: Likewise.
57757         * lib/unictype/categ_Lt.h: Likewise.
57758         * lib/unictype/categ_Lu.h: Likewise.
57759         * lib/unictype/categ_M.h: Likewise.
57760         * lib/unictype/categ_Mc.h: Likewise.
57761         * lib/unictype/categ_Me.h: Likewise.
57762         * lib/unictype/categ_Mn.h: Likewise.
57763         * lib/unictype/categ_N.h: Likewise.
57764         * lib/unictype/categ_Nd.h: Likewise.
57765         * lib/unictype/categ_Nl.h: Likewise.
57766         * lib/unictype/categ_No.h: Likewise.
57767         * lib/unictype/categ_P.h: Likewise.
57768         * lib/unictype/categ_Pc.h: Likewise.
57769         * lib/unictype/categ_Pd.h: Likewise.
57770         * lib/unictype/categ_Pe.h: Likewise.
57771         * lib/unictype/categ_Pf.h: Likewise.
57772         * lib/unictype/categ_Pi.h: Likewise.
57773         * lib/unictype/categ_Po.h: Likewise.
57774         * lib/unictype/categ_Ps.h: Likewise.
57775         * lib/unictype/categ_S.h: Likewise.
57776         * lib/unictype/categ_Sc.h: Likewise.
57777         * lib/unictype/categ_Sk.h: Likewise.
57778         * lib/unictype/categ_Sm.h: Likewise.
57779         * lib/unictype/categ_So.h: Likewise.
57780         * lib/unictype/categ_Z.h: Likewise.
57781         * lib/unictype/categ_Zl.h: Likewise.
57782         * lib/unictype/categ_Zp.h: Likewise.
57783         * lib/unictype/categ_Zs.h: Likewise.
57784         * lib/unictype/categ_of.h: Likewise.
57785         * lib/unictype/combining.h: Likewise.
57786         * lib/unictype/ctype_alnum.h: Likewise.
57787         * lib/unictype/ctype_alpha.h: Likewise.
57788         * lib/unictype/ctype_blank.h: Likewise.
57789         * lib/unictype/ctype_cntrl.h: Likewise.
57790         * lib/unictype/ctype_digit.h: Likewise.
57791         * lib/unictype/ctype_graph.h: Likewise.
57792         * lib/unictype/ctype_lower.h: Likewise.
57793         * lib/unictype/ctype_print.h: Likewise.
57794         * lib/unictype/ctype_punct.h: Likewise.
57795         * lib/unictype/ctype_space.h: Likewise.
57796         * lib/unictype/ctype_upper.h: Likewise.
57797         * lib/unictype/ctype_xdigit.h: Likewise.
57798         * lib/unictype/decdigit.h: Likewise.
57799         * lib/unictype/digit.h: Likewise.
57800         * lib/unictype/mirror.h: Likewise.
57801         * lib/unictype/numeric.h: Likewise.
57802         * lib/unictype/pr_alphabetic.h: Likewise.
57803         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
57804         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
57805         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
57806         * lib/unictype/pr_bidi_block_separator.h: Likewise.
57807         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
57808         * lib/unictype/pr_bidi_common_separator.h: Likewise.
57809         * lib/unictype/pr_bidi_control.h: Likewise.
57810         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
57811         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
57812         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
57813         * lib/unictype/pr_bidi_european_digit.h: Likewise.
57814         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
57815         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
57816         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
57817         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
57818         * lib/unictype/pr_bidi_pdf.h: Likewise.
57819         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
57820         * lib/unictype/pr_bidi_whitespace.h: Likewise.
57821         * lib/unictype/pr_combining.h: Likewise.
57822         * lib/unictype/pr_composite.h: Likewise.
57823         * lib/unictype/pr_currency_symbol.h: Likewise.
57824         * lib/unictype/pr_dash.h: Likewise.
57825         * lib/unictype/pr_decimal_digit.h: Likewise.
57826         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
57827         * lib/unictype/pr_deprecated.h: Likewise.
57828         * lib/unictype/pr_diacritic.h: Likewise.
57829         * lib/unictype/pr_extender.h: Likewise.
57830         * lib/unictype/pr_format_control.h: Likewise.
57831         * lib/unictype/pr_grapheme_base.h: Likewise.
57832         * lib/unictype/pr_grapheme_extend.h: Likewise.
57833         * lib/unictype/pr_grapheme_link.h: Likewise.
57834         * lib/unictype/pr_hex_digit.h: Likewise.
57835         * lib/unictype/pr_hyphen.h: Likewise.
57836         * lib/unictype/pr_id_continue.h: Likewise.
57837         * lib/unictype/pr_id_start.h: Likewise.
57838         * lib/unictype/pr_ideographic.h: Likewise.
57839         * lib/unictype/pr_ids_binary_operator.h: Likewise.
57840         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
57841         * lib/unictype/pr_ignorable_control.h: Likewise.
57842         * lib/unictype/pr_iso_control.h: Likewise.
57843         * lib/unictype/pr_join_control.h: Likewise.
57844         * lib/unictype/pr_left_of_pair.h: Likewise.
57845         * lib/unictype/pr_line_separator.h: Likewise.
57846         * lib/unictype/pr_logical_order_exception.h: Likewise.
57847         * lib/unictype/pr_lowercase.h: Likewise.
57848         * lib/unictype/pr_math.h: Likewise.
57849         * lib/unictype/pr_non_break.h: Likewise.
57850         * lib/unictype/pr_not_a_character.h: Likewise.
57851         * lib/unictype/pr_numeric.h: Likewise.
57852         * lib/unictype/pr_other_alphabetic.h: Likewise.
57853         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
57854         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
57855         * lib/unictype/pr_other_id_continue.h: Likewise.
57856         * lib/unictype/pr_other_id_start.h: Likewise.
57857         * lib/unictype/pr_other_lowercase.h: Likewise.
57858         * lib/unictype/pr_other_math.h: Likewise.
57859         * lib/unictype/pr_other_uppercase.h: Likewise.
57860         * lib/unictype/pr_paired_punctuation.h: Likewise.
57861         * lib/unictype/pr_paragraph_separator.h: Likewise.
57862         * lib/unictype/pr_pattern_syntax.h: Likewise.
57863         * lib/unictype/pr_pattern_white_space.h: Likewise.
57864         * lib/unictype/pr_private_use.h: Likewise.
57865         * lib/unictype/pr_punctuation.h: Likewise.
57866         * lib/unictype/pr_quotation_mark.h: Likewise.
57867         * lib/unictype/pr_radical.h: Likewise.
57868         * lib/unictype/pr_sentence_terminal.h: Likewise.
57869         * lib/unictype/pr_soft_dotted.h: Likewise.
57870         * lib/unictype/pr_space.h: Likewise.
57871         * lib/unictype/pr_terminal_punctuation.h: Likewise.
57872         * lib/unictype/pr_titlecase.h: Likewise.
57873         * lib/unictype/pr_unassigned_code_value.h: Likewise.
57874         * lib/unictype/pr_unified_ideograph.h: Likewise.
57875         * lib/unictype/pr_uppercase.h: Likewise.
57876         * lib/unictype/pr_variation_selector.h: Likewise.
57877         * lib/unictype/pr_white_space.h: Likewise.
57878         * lib/unictype/pr_xid_continue.h: Likewise.
57879         * lib/unictype/pr_xid_start.h: Likewise.
57880         * lib/unictype/pr_zero_width.h: Likewise.
57881         * lib/unictype/scripts.h: Likewise.
57882         * lib/unictype/scripts_byname.gperf: Likewise.
57883         * lib/unictype/sy_c_ident.h: Likewise.
57884         * lib/unictype/sy_c_whitespace.h: Likewise.
57885         * lib/unictype/sy_java_ident.h: Likewise.
57886         * lib/unictype/sy_java_whitespace.h: Likewise.
57887
57888         * lib/unictype/Makefile: New file.
57889         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
57890         glibc.
57891         * lib/unictype/3level.h: New file, copied from glibc.
57892         * lib/unictype/3levelbit.h: New file.
57893
57894 2007-11-11  Bruno Haible  <bruno@clisp.org>
57895
57896         * modules/gperf: New file.
57897         * modules/iconv_open (Depends-on): Add it.
57898         (Makefile.am): Remove the GPERF definition.
57899
57900 2007-11-11  Bruno Haible  <bruno@clisp.org>
57901
57902         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
57903         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
57904
57905 2007-11-11  Bruno Haible  <bruno@clisp.org>
57906
57907         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
57908         (usage): Remove function.
57909
57910 2007-11-11  Bruno Haible  <bruno@clisp.org>
57911
57912         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
57913         gl_FUNC_CEILF_LIBS.
57914         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
57915         gl_FUNC_CEIL_LIBS.
57916         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
57917         gl_FUNC_CEILL_LIBS.
57918         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
57919         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
57920         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
57921
57922 2007-11-11  Bruno Haible  <bruno@clisp.org>
57923
57924         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
57925         roundf were declared but do not exist on functions.
57926         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
57927         roundl were declared but do not exist on functions.
57928         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
57929         HAVE_FLOORL_AND_CEILL, respectively.
57930         Needed for Sun C on Solaris 10.
57931
57932 2007-11-11  Bruno Haible  <bruno@clisp.org>
57933
57934         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
57935         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
57936         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
57937         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
57938         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
57939         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
57940         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
57941         HAVE_DECL_ROUNDF.
57942         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
57943         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
57944         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
57945         of HAVE_DECL_ROUND*.
57946         * modules/math (Makefile.am): Update.
57947
57948 2007-11-10  Bruno Haible  <bruno@clisp.org>
57949
57950         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
57951         ptrdiff_t as m4/intl.m4.
57952
57953 2007-11-10  Jim Meyering  <meyering@redhat.com>
57954
57955         Avoid link failure for the argmatch test.
57956         * tests/test-argmatch.c (usage): Define function to avoid a link
57957         failure: argmatch_die requires a usage function.
57958
57959 2007-11-09  Bruno Haible  <bruno@clisp.org>
57960
57961         * doc/functions/snprintf.texi: Mention BeOS deficiency.
57962         * doc/functions/vsnprintf.texi: Likewise.
57963         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
57964         with a size argument < 2.
57965
57966 2007-11-09  Bruno Haible  <bruno@clisp.org>
57967
57968         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
57969         buffer. Fixes an inefficiency introduced on 2007-11-03.
57970
57971 2007-11-09  Bruno Haible  <bruno@clisp.org>
57972
57973         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
57974         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
57975
57976 2007-11-08  Jim Meyering  <meyering@redhat.com>
57977
57978         Change cache variable name prefix "jm_" to "gl_" everywhere.
57979         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
57980         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
57981         * m4/uptime.m4: s/gl_/jm_/
57982
57983 2007-11-07  Bruno Haible  <bruno@clisp.org>
57984
57985         Update to GNU gettext 0.17.
57986         * m4/intl.m4: Update to GNU gettext 0.17.
57987         * m4/po.m4: Likewise.
57988         * modules/gettext (Files): Remove m4/ulonglong.m4.
57989         (configure.ac): Require gettext infrastructure from version 0.17.
57990
57991 2007-11-06  Bruno Haible  <bruno@clisp.org>
57992
57993         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
57994         symbolic values are not defined in a public header.
57995         * lib/freadable.c (freadable) [QNX]: Likewise.
57996         * lib/freadahead.c (freadahead) [QNX]: Likewise.
57997         * lib/freading.c (freading) [QNX]: Likewise.
57998         * lib/fseterr.c (fseterr) [QNX]: Likewise.
57999         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58000         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58001         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58002         Reported by Alain Magloire.
58003
58004         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58005
58006 2007-11-05  Bruno Haible  <bruno@clisp.org>
58007
58008         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58009         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58010         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58011         Reported by Eric Blake.
58012
58013 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58014             Bruno Haible  <bruno@clisp.org>
58015
58016         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58017         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58018         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58019         (malloc): Undefine also before including <stdlib.h>.
58020         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58021         Needed on OSF/1 4.0.
58022
58023 2007-11-05  Jim Meyering  <meyering@redhat.com>
58024
58025         git-version-gen: sync from coreutils.
58026         * build-aux/git-version-gen: Add comments.
58027         Change the first '-' to '.' in the snapshot version string,
58028         e.g., 6.9-377-08144 -> 6.9.377-08144
58029         Remove first parameter.
58030         Don't declare a version "-dirty" merely because a time
58031         stamp has changed.
58032
58033 2007-11-04  Bruno Haible  <bruno@clisp.org>
58034
58035         * lib/lock.h: Protect all macro definitions containing an 'if'
58036         statement through a "do { ... } while (0)".
58037         * lib/tls.h: Likewise.
58038
58039 2007-11-04  Bruno Haible  <bruno@clisp.org>
58040
58041         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58042
58043 2007-11-04  Bruno Haible  <bruno@clisp.org>
58044
58045         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58046         * modules/fprintf-posix (Depends-on): Add nocrash.
58047         * modules/snprintf-posix (Depends-on): Likewise.
58048         * modules/sprintf-posix (Depends-on): Likewise.
58049         * modules/vasnprintf-posix (Depends-on): Likewise.
58050         * modules/vasprintf-posix (Depends-on): Likewise.
58051         * modules/vfprintf-posix (Depends-on): Likewise.
58052         * modules/vsnprintf-posix (Depends-on): Likewise.
58053         * modules/vsprintf-posix (Depends-on): Likewise.
58054         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58055         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58056         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58057         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58058         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58059         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58060         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58061
58062 2007-11-04  Bruno Haible  <bruno@clisp.org>
58063
58064         * modules/nocrash: New file.
58065         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58066         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58067
58068 2007-11-04  Bruno Haible  <bruno@clisp.org>
58069
58070         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58071         precision handling.
58072         * tests/test-vasprintf-posix.c (test_function): Likewise.
58073         * tests/test-snprintf-posix.h (test_function): Likewise.
58074         * tests/test-sprintf-posix.h (test_function): Likewise.
58075
58076         Fix *printf behaviour for large precisions on mingw and BeOS.
58077         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58078         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58079         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58080         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58081         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58082         gl_PRINTF_PRECISION and test its result. Invoke
58083         gl_PREREQ_VASNPRINTF_PRECISION.
58084         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58086         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58087         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58088         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58089         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58090         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58091         * doc/functions/fprintf.texi: Update.
58092         * doc/functions/printf.texi: Update.
58093         * doc/functions/snprintf.texi: Update.
58094         * doc/functions/sprintf.texi: Update.
58095         * doc/functions/vfprintf.texi: Update.
58096         * doc/functions/vprintf.texi: Update.
58097         * doc/functions/vsnprintf.texi: Update.
58098         * doc/functions/vsprintf.texi: Update.
58099
58100 2007-11-04  Bruno Haible  <bruno@clisp.org>
58101
58102         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58103
58104 2007-11-04  Bruno Haible  <bruno@clisp.org>
58105
58106         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58107         Reported by Sylvain Beucler <beuc@gnu.org>.
58108
58109 2007-11-03  Bruno Haible  <bruno@clisp.org>
58110
58111         * tests/test-fprintf-posix2.sh: New file.
58112         * tests/test-fprintf-posix2.c: New file.
58113         * modules/fprintf-posix-tests (Files): Add them.
58114         (TESTS): Add test-fprintf-posix2.sh.
58115         (configure.ac): Check for getrlimit and setrlimit.
58116         (check_PROGRAMS): Add test-fprintf-posix2.
58117
58118         * tests/test-printf-posix2.sh: New file.
58119         * tests/test-printf-posix2.c: New file.
58120         * modules/printf-posix-tests (Files): Add them.
58121         (TESTS): Add test-printf-posix2.sh.
58122         (configure.ac): Check for getrlimit and setrlimit.
58123         (check_PROGRAMS): Add test-printf-posix2.
58124
58125         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58126         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58127         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58128         (decode_double): New function, copied from decode_long_double.
58129         (scale10_round_decimal_decoded): New function, extracted from
58130         scale10_round_decimal_long_double.
58131         (scale10_round_decimal_long_double): Use it.
58132         (scale10_round_decimal_double): New function.
58133         (floorlog10): New function.
58134         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58135         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58136         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58137         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58138         gl_PRINTF_ENOMEM and test its result. Invoke
58139         gl_PREREQ_VASNPRINTF_ENOMEM.
58140         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58141         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58142         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58143         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58144         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58145         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58146         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58147         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58148         * modules/snprintf-posix (Depends-on): Likewise.
58149         * modules/sprintf-posix (Depends-on): Likewise.
58150         * modules/vasnprintf-posix (Depends-on): Likewise.
58151         * modules/vasprintf-posix (Depends-on): Likewise.
58152         * modules/vfprintf-posix (Depends-on): Likewise.
58153         * modules/vsnprintf-posix (Depends-on): Likewise.
58154         * modules/vsprintf-posix (Depends-on): Likewise.
58155         * doc/functions/fprintf.texi: Update.
58156         * doc/functions/printf.texi: Update.
58157         * doc/functions/snprintf.texi: Update.
58158         * doc/functions/sprintf.texi: Update.
58159         * doc/functions/vfprintf.texi: Update.
58160         * doc/functions/vprintf.texi: Update.
58161         * doc/functions/vsnprintf.texi: Update.
58162         * doc/functions/vsprintf.texi: Update.
58163
58164 2007-11-03  Bruno Haible  <bruno@clisp.org>
58165
58166         * modules/frexp-nolibm-tests: New file.
58167
58168         * modules/frexp-nolibm: New file.
58169         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58170
58171 2007-11-03  Bruno Haible  <bruno@clisp.org>
58172
58173         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58174         value is C99 compliant.
58175         Needed for OSF/1 5.1.
58176
58177 2007-11-03  Bruno Haible  <bruno@clisp.org>
58178
58179         Fix out-of-memory handling of vasnprintf.
58180         * lib/printf-parse.c: Include <errno.h>.
58181         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58182         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58183         is already set.
58184
58185 2007-11-02  Eric Blake  <ebb9@byu.net>
58186
58187         Fix tests on cygwin.
58188         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58189
58190 2007-11-01  Bruno Haible  <bruno@clisp.org>
58191
58192         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58193         warning.
58194         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58195         needed for POSIX compatibility.
58196
58197 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58198
58199         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58200         for compatibility with GNU.
58201
58202 2007-11-01  Bruno Haible  <bruno@clisp.org>
58203
58204         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58205         (putenv): Renamed from rpl_putenv. Change argument type from
58206         'const char *' to 'char *'.
58207         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58208         of defining putenv in config.h, just set REPLACE_PUTENV.
58209         * modules/putenv (Depends-on): Add stdlib.
58210         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58211         (Include): Use <stdlib.h>.
58212         * lib/stdlib.in.h (putenv): New declaration.
58213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58214         REPLACE_PUTENV.
58215         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58216         REPLACE_PUTENV.
58217         Needed for MacOS X 10.5.0.
58218         Reported by Peter O'Gorman <peter@pogma.com>.
58219
58220 2007-11-01  Jim Meyering  <meyering@redhat.com>
58221
58222         Treat an empty date string exactly like "0".
58223         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58224         if the remaining date string (to be parsed) is empty, use "0".
58225         Reported by Mischa Molhoek and discussed in this thread:
58226         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58227
58228 2007-10-31  Bruno Haible  <bruno@clisp.org>
58229
58230         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58231         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58232         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58233         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58234         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58235         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58236
58237 2007-10-31  Bruno Haible  <bruno@clisp.org>
58238
58239         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58240         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58241         (AC_TYPE_LONG_LONG_INT): Use it.
58242         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58243         it as well.
58244         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58245         to m4/longlong.m4.
58246         * modules/stdint (Files): Remove m4/ulonglong.m4.
58247         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58248         m4/ulonglong.m4.
58249         * modules/strtoumax (Files): Likewise.
58250
58251 2007-10-30  Bruno Haible  <bruno@clisp.org>
58252
58253         * modules/xvasprintf-posix: New file.
58254         Suggested by Eric Blake.
58255
58256 2007-10-30  Bruno Haible  <bruno@clisp.org>
58257
58258         * modules/xprintf-posix-tests: New file.
58259         * tests/test-xprintf-posix.sh: New file.
58260         * tests/test-xprintf-posix.c: New file.
58261         * tests/test-xfprintf-posix.c: New file.
58262
58263         * modules/xprintf-posix: New file.
58264
58265 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58266
58267         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58268         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58269         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58270
58271 2007-10-29  Bruno Haible  <bruno@clisp.org>
58272
58273         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58274         contain the special marker '_cv_'.
58275         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58276         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58277         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58278         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58279         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58280         Reported by Ralf Wildenhues.
58281
58282 2007-10-29  Bruno Haible  <bruno@clisp.org>
58283
58284         * gnulib-tool (func_import): When --lgpl is not specified, set
58285         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58286         GPLv3.
58287         Reported by Simon Josefsson.
58288
58289 2007-10-28  Bruno Haible  <bruno@clisp.org>
58290
58291         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58292         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58293         HAVE_DECL_ISFINITE.
58294         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58295         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58296         HAVE_DECL_ISFINITE.
58297
58298 2007-10-28  Bruno Haible  <bruno@clisp.org>
58299
58300         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58301         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58302
58303 2007-10-28  Bruno Haible  <bruno@clisp.org>
58304
58305         Fix link errors with Sun C 5.0 on Solaris 10.
58306         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58307         function is declared but not present in the compiler's libm.
58308         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58309         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58310         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58311         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58312         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58313         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58314         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58316         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58317         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58318         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58319         HAVE_DECL_FLOORL.
58320
58321 2007-10-28  Bruno Haible  <bruno@clisp.org>
58322
58323         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
58324         gl_FUNC_FLOORL. Cache the result.
58325         (gl_FUNC_FLOORL): Use it.
58326         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
58327         gl_FUNC_CEILL. Cache the result.
58328         (gl_FUNC_CEILL): Use it.
58329
58330         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
58331         gl_FUNC_FLOOR. Cache the result.
58332         (gl_FUNC_FLOOR): Use it.
58333         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
58334         gl_FUNC_CEIL. Cache the result.
58335         (gl_FUNC_CEIL): Use it.
58336
58337         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58338         gl_FUNC_FLOORF. Cache the result.
58339         (gl_FUNC_FLOORF): Use it.
58340         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58341         gl_FUNC_CEILF. Cache the result.
58342         (gl_FUNC_CEILF): Use it.
58343
58344 2007-10-28  Bruno Haible  <bruno@clisp.org>
58345
58346         * gnulib-tool: Allow specifying the LGPL version number through
58347         --lgpl=2 or --lgpl=3.
58348         (func_usage): Document --lgpl with argument.
58349         Handle --lgpl=... arguments.
58350         (func_import): Recognize also gl_LGPL calls with an argument. When
58351         --lgpl=2 is used and the module's license is just LGPL, report an
58352         error. Set sed_transform_lib_file according to the lgpl variable. In
58353         the generated files, use --lgpl or gl_LGPL invocations with argument,
58354         if necessary.
58355         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
58356         an LGPv2+ license.
58357         * doc/gnulib-tool.texi (Modified imports): Update explanation of
58358         gl_LGPL macro.
58359
58360 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58361             Bruno Haible  <bruno@clisp.org>
58362
58363         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
58364         (u16_uctomb_aux): Likewise.
58365         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
58366         !HAVE_INLINE.
58367         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
58368
58369 2007-10-28  Bruno Haible  <bruno@clisp.org>
58370
58371         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
58372         Invoke AM_GETTEXT_OPTION if it exists.
58373         * modules/vasprintf: Likewise.
58374         * modules/verror: Likewise.
58375         * modules/xprintf: Likewise.
58376         * modules/xvasprintf: Likewise.
58377
58378 2007-10-27  Ben Pfaff  <blp@gnu.org>
58379
58380         * lib/math.in.h: Define isfinite macro and prototypes for
58381         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
58382         implementations.
58383         * m4/math_h.m4: New substitutions for isfinite module.
58384         * lib/isfinite.c: New file.
58385         * m4/isfinite.m4: New file.
58386         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
58387         * modules/isfinite: New file.
58388         * modules/isfinite-tests: New file.
58389         * tests/tests-isfinite.c: New file.
58390         * doc/functions/isfinite.texi: Mention isfinite module.
58391         * MODULES.html.sh: Mention new module.
58392
58393 2007-10-27  Ben Pfaff  <blp@gnu.org>
58394
58395         Ralf Wildenhues reported that Tru64 4.0D declares the round
58396         functions but does not have definitions.
58397         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
58398         cannot be found in any library, set the output variable to
58399         "missing" instead of "".
58400         * m4/round.m4: Also use our substitute if we cannot find round in
58401         any library, even if it is declared.
58402         * m4/roundf.m4: Likewise for roundf.
58403         * m4/roundl.m4: Likewise for roundl.
58404         * lib/math.in.h: Undefine roundf, round, roundl before defining
58405         their replacements, to allow for hypothetical systems where these
58406         may be defined as macros but not available in libraries.
58407
58408 2007-10-27  Bruno Haible  <bruno@clisp.org>
58409
58410         * doc/gnulib.texi: Invoke @firstparagraphindent.
58411         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
58412         changes in gnulib.
58413         (Source changes): New section.
58414
58415 2007-10-26  Bruno Haible  <bruno@clisp.org>
58416
58417         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
58418         borrowed from autoconf.
58419
58420 2007-10-26  Bruno Haible  <bruno@clisp.org>
58421
58422         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
58423         strerror returned the empty string. Needed on HP-UX 11.00.
58424
58425 2007-10-24  Micah Cowan  <micah@cowan.name>
58426
58427         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
58428         * build-aux/bootstrap: Remove support for now-unnecessary option,
58429         --cvs-user, and envvars CVS_USER, CVS_RSH.
58430
58431 2007-10-24  Jim Meyering  <meyering@redhat.com>
58432
58433         Avoid diagnostics from sha1sum when there is no cached checksum.
58434         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
58435         if the po.s1 file hasn't been created yet.
58436
58437         * build-aux/bootstrap: Sync from coreutils:
58438         2007-10-24  Jim Meyering  <meyering@redhat.com>
58439         Get gnulib from the git repository, not from an obsolete cvs one.
58440         * build-aux/bootstrap: Suggestion from Micah Cowan.
58441         2007-10-04  Jim Meyering  <jim@meyering.net>
58442         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
58443         (update_po_files): Work also when there are no .po files in po/.
58444
58445 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58446
58447         * README: Append ".git" to git and cg examples.
58448         Problem reported by Benoit Sigoure.
58449
58450 2007-10-23  Micah Cowan  <micah@cowan.name>
58451
58452         * users.txt: Add wget.
58453
58454 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58455
58456         Fix linking of some unistdio tests on FreeBSD.
58457         * modules/unistdio/u16-vsnprintf-tests
58458         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
58459         * modules/unistdio/u16-vsprintf-tests
58460         (test_u16_vsnprintf1_LDADD): Likewise.
58461         * modules/unistdio/u32-vsnprintf-tests
58462         (test_u32_vsnprintf1_LDADD): Likewise.
58463         * modules/unistdio/u32-vsprintf-tests
58464         (test_u32_vsprintf1_LDADD): Likewise.
58465         * modules/unistdio/u8-vsnprintf-tests
58466         (test_u8_vsnprintf1_LDADD): Likewise.
58467         * modules/unistdio/u8-vsprintf-tests
58468         (test_u8_vsprintf1_LDADD): Likewise.
58469         * modules/unistdio/ulc-vsnprintf-tests
58470         (test_ulc_vsnprintf1_LDADD): Likewise.
58471         * modules/unistdio/ulc-vsprintf-tests
58472         (test_ulc_vsprintf1_LDADD): Likewise.
58473
58474         Fix linking of some uniconv tests on FreeBSD.
58475         * modules/uniconv/u16-conv-from-enc-tests
58476         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
58477         * modules/uniconv/u16-conv-to-enc-tests
58478         (test_u16_conv_to_enc_LDADD): Likewise.
58479         * modules/uniconv/u16-strconv-from-enc-tests
58480         (test_u16_strconv_from_enc_LDADD): Likewise.
58481         * modules/uniconv/u16-strconv-to-enc-tests
58482         (test_u16_strconv_to_enc_LDADD): Likewise.
58483         * modules/uniconv/u32-conv-from-enc-tests
58484         (test_u32_conv_from_enc_LDADD): Likewise.
58485         * modules/uniconv/u32-conv-to-enc-tests
58486         (test_u32_conv_to_enc_LDADD): Likewise.
58487         * modules/uniconv/u32-strconv-from-enc-tests
58488         (test_u32_strconv_from_enc_LDADD): Likewise.
58489         * modules/uniconv/u32-strconv-to-enc-tests
58490         (test_u32_strconv_to_enc_LDADD): Likewise.
58491         * modules/uniconv/u8-conv-from-enc-tests
58492         (test_u8_conv_from_enc_LDADD): Likewise.
58493         * modules/uniconv/u8-conv-to-enc-tests
58494         (test_u8_conv_to_enc_LDADD): Likewise.
58495         * modules/uniconv/u8-strconv-from-enc-tests
58496         (test_u8_strconv_from_enc_LDADD): Likewise.
58497         * modules/uniconv/u8-strconv-to-enc-tests
58498         (test_u8_strconv_to_enc_LDADD): Likewise.
58499
58500 2007-10-22  Bruno Haible  <bruno@clisp.org>
58501
58502         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
58503         size.
58504
58505 2007-10-22  Eric Blake  <ebb9@byu.net>
58506
58507         Tweak x*printf documentation.
58508         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
58509         variable name and comments.
58510         Suggested by Bruno Haible.
58511
58512 2007-10-22  Bruno Haible  <bruno@clisp.org>
58513
58514         * lib/acl.c (copy_acl): Fix file name in comment.
58515
58516 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58517
58518         Fix Tru64 problem with stdbool.h.
58519         * lib/stdbool.in.h (false, true):
58520         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
58521         Don't declare as an enum in this situation; it runs afoul of Tru64.
58522         Problem reported by Steven M. Schweda in
58523         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
58524
58525 2007-10-22  Eric Blake  <ebb9@byu.net>
58526
58527         Also wrap vf?printf.
58528         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
58529         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
58530         (xvprintf, xvfprintf): New functions.
58531
58532 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58533
58534         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
58535         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
58536
58537         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
58538         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
58539
58540 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58541
58542         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
58543         by Bruno Haible.
58544
58545 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58546
58547         * lib/getloadavg.c
58548         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
58549         Undef `sys' after including sys/table.h, for Tru64 4.0D.
58550
58551         * tests/test-i-ring.c: Work for C89.
58552
58553 2007-10-22  Bruno Haible  <bruno@clisp.org>
58554
58555         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
58556         -1u, in preprocessor expression, so that we don't test for the bug
58557         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
58558         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
58559
58560 2007-10-22  Eric Blake  <ebb9@byu.net>
58561
58562         * tests/test-yesno.sh: Silence stderr during test.
58563
58564 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58565
58566         * modules/crypto/gc-camellia: New file.
58567
58568         * m4/gc-camellia.m4: New file.
58569
58570         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
58571
58572         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
58573
58574 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58575
58576         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
58577         --help to stdout.  Reported by sms@antinode.org (Steven
58578         M. Schweda).
58579
58580 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58581
58582         * users.txt: Fix link to libksba.
58583
58584 2007-10-21  Ben Pfaff  <blp@gnu.org>
58585
58586         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
58587         round.c roundf implementation that depends on floorf and ceilf to
58588         be tested unconditionally.
58589
58590 2007-10-21  Ben Pfaff  <blp@gnu.org>
58591
58592         * m4/check-libm-func.m4: Removed.
58593         * m4/check-math-lib.m4: New file.
58594         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
58595         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
58596         definition and lack of AC_LIBOBJ([roundf]).
58597         * m4/roundl.m4: Ditto, and similarly for roundl.
58598         * modules/round: Reference new m4 file.
58599         * modules/roundf: Ditto.
58600         * modules/roundl: Ditto.
58601         * tests/test-round2.c (main): Use ROUND instead of round.
58602         Bug report from Bruno Haible.
58603
58604 2007-10-21  Bruno Haible  <bruno@clisp.org>
58605
58606         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
58607         context.
58608
58609 2007-10-21  Bruno Haible  <bruno@clisp.org>
58610
58611         * tests/test-wcwidth.c (main): Allow negative result for some control
58612         characters.
58613
58614         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
58615         Needed on OSF/1 5.1.
58616
58617 2007-10-21  Bruno Haible  <bruno@clisp.org>
58618
58619         * tests/test-floorf1.c: Include isnanf.h.
58620         (main): Use isnanf() instead of isnan().
58621         * tests/test-ceilf1.c: Include isnanf.h.
58622         (main): Use isnanf() instead of isnan().
58623         * tests/test-truncf1.c: Include isnanf.h.
58624         (main): Use isnanf() instead of isnan().
58625         * tests/test-roundf1.c: Include isnanf.h.
58626         (main): Use isnanf() instead of isnan().
58627
58628 2007-10-21  Eric Blake  <ebb9@byu.net>
58629
58630         * users.txt: Update URL for m4.
58631
58632 2007-10-21  Bruno Haible  <bruno@clisp.org>
58633
58634         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
58635
58636 2007-10-21  Bruno Haible  <bruno@clisp.org>
58637
58638         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
58639         Git's management files if the CVS files are not present.
58640
58641 2007-10-20  Bruno Haible  <bruno@clisp.org>
58642
58643         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
58644         gcc-3.4.x.
58645
58646 2007-10-20  Ben Pfaff  <blp@gnu.org>
58647
58648         * lib/math.in.h: Declare round, roundf, roundl if we are providing
58649         implementations.
58650         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
58651         * lib/round.c: New file.
58652         * lib/roundf.c: New file.
58653         * lib/roundl.c: New file.
58654         * m4/round.m4: New file.
58655         * m4/roundf.m4: New file.
58656         * m4/roundl.m4: New file.
58657         * m4/check-libm-func-m4: New file.
58658         * modules/math: Replace round, roundf, roundl related @VARS@ in
58659         math.in.h.
58660         * modules/round: New file.
58661         * modules/round-tests: New file.
58662         * modules/roundf: New file.
58663         * modules/roundf-tests: New file.
58664         * modules/roundl: New file.
58665         * modules/roundl-tests: New file.
58666         * tests/test-round1.c: New file.
58667         * tests/test-round2.c: New file.
58668         * tests/test-roundf1.c: New file.
58669         * tests/test-roundf2.c: New file.
58670         * tests/test-roundl.c: New file.
58671         * doc/functions/round.texi: Mention round module.
58672         * doc/functions/roundf.texi: Mention roundf module.
58673         * doc/functions/roundl.texi: Mention roundl module.
58674         * MODULES.html.sh: Mention new modules.
58675         Thanks to Bruno Haible for suggestions.
58676
58677 2007-10-20  Jim Meyering  <meyering@redhat.com>
58678
58679         * lib/xprintf.c: Include <config.h> unconditionally.
58680
58681         Change xprintf's license to GPL.
58682         * modules/xprintf (License): s/LGPL/GPL/, since this module
58683         depends on modules (exit and exitfail) which are GPL.
58684         Suggestion from Bruno Haible.
58685
58686         xprintf fixes.
58687         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
58688         Use a clearer diagnostic.
58689         Patch from Bruno Haible.
58690
58691 2007-10-20  Bruno Haible  <bruno@clisp.org>
58692
58693         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
58694         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
58695         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58696
58697 2007-10-20  Bruno Haible  <bruno@clisp.org>
58698
58699         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
58700         precision in the comparison result > x - 1 or similar.
58701         * tests/test-ceilf2.c (correct_result_p): Likewise.
58702         * tests/test-truncf2.c (correct_result_p): Likewise.
58703         * tests/test-trunc2.c (correct_result_p): Likewise.
58704         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58705
58706 2007-10-20  Bruno Haible  <bruno@clisp.org>
58707
58708         * modules/ceil: New file.
58709         * m4/ceil.m4: New file.
58710         * doc/functions/ceil.texi: Mention the 'ceil' module.
58711
58712 2007-10-20  Bruno Haible  <bruno@clisp.org>
58713
58714         * modules/floor: New file.
58715         * m4/floor.m4: New file.
58716         * doc/functions/floor.texi: Mention the 'floor' module.
58717
58718 2007-10-20  Bruno Haible  <bruno@clisp.org>
58719
58720         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
58721         of %a.
58722         * modules/floorf-tests (Depends-on): Likewise.
58723         * modules/truncf-tests (Depends-on): Likewise.
58724         * modules/trunc-tests (Depends-on): Likewise.
58725         Reported by Ben Pfaff.
58726
58727 2007-10-19  Jim Meyering  <meyering@redhat.com>
58728
58729         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
58730         Don't bother testing specific errno values.  Just test ferror.
58731
58732         New module: xprintf
58733         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
58734
58735 2007-10-19  Bruno Haible  <bruno@clisp.org>
58736
58737         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
58738         syntax.
58739         * modules/javaexec (Makefile.am): Likewise.
58740         * modules/relocatable-prog (Makefile.am): Likewise.
58741         Suggested by Jim Meyering.
58742
58743 2007-10-18  Bruno Haible  <bruno@clisp.org>
58744
58745         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
58746         Reported by Jim Meyering.
58747
58748 2007-10-18  Eric Blake  <ebb9@byu.net>
58749
58750         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
58751
58752 2007-10-18  Bruno Haible  <bruno@clisp.org>
58753
58754         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
58755         the format string into writable memory. Needed in Fortify conditions.
58756
58757 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
58758             Bruno Haible  <bruno@clisp.org>
58759
58760         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
58761         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
58762         * modules/trim (Depends-on): Add mbchar.
58763         (configure.ac): Add gl_FUNC_MBRTOWC.
58764         (Makefile.am): Augment lib_SOURCES.
58765
58766 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58767
58768         Modify glob.c to use fstatat and dirfd, to simplify it.
58769         Suggested by Eric Blake.
58770         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
58771         Don't include <stdbool.h>; not used.
58772         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
58773         (link_exists_p): Simplify implementation, since we can now assume
58774         dirfd and fstatat.
58775         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
58776
58777 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58778
58779         * gnulib-tool (func_get_dependencies): Fix sed script to
58780         match only tests.
58781
58782 2007-10-17  Bruno Haible  <bruno@clisp.org>
58783
58784         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
58785         allow locale names without encoding suffix.
58786         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58787         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58788
58789 2007-10-16  Bruno Haible  <bruno@clisp.org>
58790
58791         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
58792         * lib/getgroups.c (getgroups): Likewise.
58793         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
58794
58795 2007-10-16  Bruno Haible  <bruno@clisp.org>
58796
58797         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
58798         * modules/malloc-posix (License): Likewise.
58799         * modules/realloc-posix (License): Likewise.
58800         * modules/calloc-posix (License): Likewise.
58801         * modules/intprops (License): Change from GPL to LGPL, with
58802         Paul Eggert's approval.
58803
58804 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58805
58806         Merge glibc changes into lib/glob.c.
58807
58808         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
58809         2007-10-15 04:59:03 UTC.  Here are the changes:
58810
58811         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
58812
58813         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
58814
58815         * lib/glob.c: Add some branch prediction throughout.
58816
58817         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
58818
58819         [BZ #5103]
58820         * lib/glob.c (glob): Recognize patterns starting \/.
58821
58822         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
58823
58824         [BZ #3996]
58825         * lib/glob.c (attribute_hidden): Define if not defined.
58826         (glob): Unescape dirname, filename or username when needed and not
58827         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
58828         is NULL.  Handle unescaped [ in pattern without closing ].
58829         Don't pass GLOB_CHECK down to recursive glob for directories.
58830         (__glob_pattern_type): New function.
58831         (__glob_pattern_p): Implement using __glob_pattern_type.
58832         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
58833         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
58834         Remove unreachable code.
58835
58836         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
58837
58838         * lib/glob.c (glob_in_dir): Add some comments and asserts to
58839         explain why there are no leaks.
58840
58841         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
58842
58843         [BZ #3253]
58844         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
58845         time, rather allocate increasingly bigger arrays of pointers, if
58846         possible with alloca, if too large with malloc.
58847
58848 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58849
58850         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
58851         Problem reported by H.Merijn Brand in
58852         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
58853         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
58854         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
58855
58856 2007-10-15  Bruno Haible  <bruno@clisp.org>
58857
58858         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
58859         with explicit rpl_ prefix.
58860         * lib/fopen.c (fopen): Likewise.
58861         * lib/freopen.c (freopen): Likewise.
58862         * lib/iconv.c (iconv): Likewise.
58863         * lib/iconv_close.c (iconv_close): Likewise.
58864
58865 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58866
58867         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
58868
58869 2007-10-15  Bruno Haible  <bruno@clisp.org>
58870
58871         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
58872         <stddef.h> instead of <stdlib.h> since we only need NULL.
58873         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58874
58875 2007-10-15  Bruno Haible  <bruno@clisp.org>
58876
58877         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
58878         Replace paragraph talking about LIBOBJS.
58879         Reported by Colin Watson <cjwatson@debian.org>.
58880
58881 2007-10-15  Bruno Haible  <bruno@clisp.org>
58882
58883         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
58884         <stdlib.h> before using NULL.
58885
58886 2007-10-15  Simon Josefsson  <simon@josefsson.org>
58887
58888         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
58889         Reported by Albert Chin <china@thewrittenword.com>.
58890
58891 2007-10-14  Bruno Haible  <bruno@clisp.org>
58892
58893         * modules/iconv_open-utf-tests: New file.
58894         * tests/test-iconv-utf.c: New file.
58895
58896         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
58897         * modules/iconv_open-utf: New file.
58898         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
58899         (iconv, iconv_close): New declarations.
58900         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
58901         be defined.
58902         (iconv_open): Add special handling of conversion between UTF-8 and
58903         UTF-{16,32}{BE,LE}.
58904         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
58905         * lib/iconv_close.c: New file.
58906         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
58907         gl_FUNC_ICONV_OPEN.
58908         (gl_FUNC_ICONV_OPEN): Use it.
58909         (gl_FUNC_ICONV_OPEN_UTF): New macro.
58910         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
58911         and REPLACE_ICONV_UTF.
58912         * modules/iconv_open (Depends-on): Add c-strcase.
58913         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
58914         ICONV_CONST.
58915         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
58916
58917 2007-10-13  Albert Chin  <china@thewrittenword.com>
58918             Bruno Haible  <bruno@clisp.org>
58919
58920         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
58921         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
58922
58923 2007-10-13  Bruno Haible  <bruno@clisp.org>
58924
58925         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
58926         defined, use the ISO C99 inline semantics.
58927         * lib/argp.h (ARGP_EI): Likewise.
58928
58929 2007-10-13  Bruno Haible  <bruno@clisp.org>
58930
58931         Handle 'inline' change in gcc 4.3.0.
58932         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
58933         argp_fmtstream_write, argp_fmtstream_set_lmargin,
58934         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
58935         argp_fmtstream_point): Disable 'extern' declaration if the function
58936         definition is going to be provided inline.
58937         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
58938         semantics, not the ISO C99 inline semantics.
58939         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
58940         'extern' declaration if the function definition is going to be provided
58941         inline.
58942         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
58943         the GNU C inline semantics, not the ISO C99 inline semantics. With
58944         GCC 4.2, avoid a warning.
58945
58946 2007-10-13  Bruno Haible  <bruno@clisp.org>
58947
58948         * lib/freading.h (freading): Enable the use of __freading for
58949         glibc >= 2.7.
58950         * lib/freading.c (freading): Likewise.
58951
58952 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58953
58954         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
58955         "warning: C99 inline functions are not supported; using GNU89".
58956
58957 2007-10-12  Bruno Haible  <bruno@clisp.org>
58958
58959         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
58960         of 2.
58961         * tests/test-ceilf2.c: New file.
58962         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
58963
58964         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
58965         * modules/ceilf-tests: Update.
58966
58967 2007-10-12  Bruno Haible  <bruno@clisp.org>
58968
58969         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
58970         of 2.
58971         * tests/test-floorf2.c: New file.
58972         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
58973
58974         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
58975         * modules/floorf-tests: Update.
58976
58977 2007-10-12  Bruno Haible  <bruno@clisp.org>
58978
58979         * tests/test-trunc2.c: New file.
58980         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
58981
58982         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
58983         * modules/trunc-tests: Update.
58984
58985 2007-10-12  Bruno Haible  <bruno@clisp.org>
58986
58987         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
58988         of 2.
58989         * tests/test-truncf2.c: New file.
58990         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
58991
58992         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
58993         * modules/truncf-tests: Update.
58994
58995 2007-10-11  Eric Blake  <ebb9@byu.net>
58996
58997         Don't claim strerror is broken on Interix.
58998         * doc/functions/strerror.texi (strerror): Known broken systems are
58999         now Solaris 8, and not Interix.
59000         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59001         Interix on cross-compile.
59002         Reported by Martin Koeppe in
59003         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59004
59005 2007-10-11  Bruno Haible  <bruno@clisp.org>
59006
59007         * modules/i-ring-tests: New file.
59008         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59009         instead of assert.
59010
59011 2007-10-11  Bruno Haible  <bruno@clisp.org>
59012
59013         * modules/filenamecat-tests: New file.
59014         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59015         * lib/filenamecat.c: Remove test code.
59016
59017 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59018
59019         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59020
59021         * lib/strerror.c: Include <string.h> always, to test interface,
59022         and to remove the need for the dummy.
59023         Include intprops.h to compute width instead of doing it ourselves
59024         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59025         (strerror): Define it to return NULL if there's no system strerror.
59026         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59027         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59028         ancient pre-strerror Unix systems well any more.  Saying "unknown
59029         system error" is enough.
59030         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59031         simpler strerror.c implementation.
59032         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59033         Simplify the tests to reflect the simpler strerror implementation.
59034         * modules/strerror (Depends-on): Add intprops.
59035
59036 2007-10-09  Eric Blake  <ebb9@byu.net>
59037
59038         Silence test-fpending.
59039         * modules/fpending-tests (Files): Add wrapper script.
59040         * tests/test-fpending.sh: New file.
59041
59042 2007-10-09  Bruno Haible  <bruno@clisp.org>
59043
59044         * MODULES.html.sh (func_module): Don't create a hyperlink for
59045         function names like 'printf_frexp'.
59046         (Misc): Add crc, memxor.
59047         (Characteristics of floating types): New section.
59048         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59049         isnanf-nolibm, signbit, trunc, truncf, truncl.
59050         (Enhancements for ISO C 99 functions): New subsection Input/output.
59051         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59052         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59053         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59054         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59055         (Enhancements for POSIX:2001 functions): Add chdir-long.
59056         (File system functions): Add areadlink, chdir-safer, read-file.
59057         Remove cycle-check.
59058         (File system as inode set): New section.
59059         (Date and time): Add gethrxtime.
59060         (Multithreading): Add openmp.
59061         (Internationalization functions): Add localename.
59062         (Unicode string functions): Add unistr/u*-mbsnlen.
59063         (Support for maintaining and releasing projects): Add git-version-gen.
59064         (Lone files): Remove directories.
59065
59066 2007-10-08  Ben Pfaff  <blp@gnu.org>
59067
59068         * lib/xmalloca.h: Fix typo in comment.
59069
59070 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59071
59072         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59073         when avoiding problems with integer overflow.  Use a portable test
59074         instead.
59075
59076 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59077
59078         * modules/dummy (License): Change to LGPLv2+.
59079         * modules/float (License): Likewise
59080         * modules/realloc (License): Likewise
59081         * modules/stdlib (License): Likewise
59082
59083 2007-10-07  Bruno Haible  <bruno@clisp.org>
59084
59085         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59086         * floor.c (TWO_MANT_DIG): Likewise.
59087         * ceil.c (TWO_MANT_DIG): Likewise.
59088         Reported by Ben Pfaff.
59089
59090 2007-10-07  Bruno Haible  <bruno@clisp.org>
59091
59092         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59093         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59094         * lib/frexp.c (FUNC): Likewise.
59095         * lib/printf-frexp.h (printf_frexp): Likewise.
59096         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59097         * lib/printf-frexp.c (FUNC): Likewise.
59098         Suggested by Jim Meyering.
59099
59100 2007-10-07  Jim Meyering  <meyering@redhat.com>
59101
59102         Make xnanosleep's integer overflow test more robust.
59103         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59104         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59105
59106 2007-10-07  Bruno Haible  <bruno@clisp.org>
59107
59108         * NEWS: Mention the license change.
59109
59110         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59111         abbreviations in the modules files.
59112
59113         Change copyright notice from GPLv2+ to GPLv3+.
59114         * README: Change copyright notice.
59115         * MODULES.html.sh: Likewise.
59116         * build-aux/bootstrap.conf: Likewise.
59117         * build-aux/config.libpath: Likewise.
59118         * build-aux/csharpcomp.sh.in: Likewise.
59119         * build-aux/csharpexec.sh.in: Likewise.
59120         * build-aux/install-reloc: Likewise.
59121         * build-aux/javacomp.sh.in: Likewise.
59122         * build-aux/javaexec.sh.in: Likewise.
59123         * build-aux/ldd.sh.in: Likewise.
59124         * build-aux/reloc-ldflags: Likewise.
59125         * build-aux/relocatable.sh.in: Likewise.
59126         * build-aux/x-to-1.in: Likewise.
59127         * check-module: Likewise.
59128         * config/srclistvars.sh: Likewise.
59129         * gnulib-tool: Likewise.
59130         * lib/acl-internal.h: Likewise.
59131         * lib/acl.c: Likewise.
59132         * lib/acl.h: Likewise.
59133         * lib/acl_entries.c: Likewise.
59134         * lib/areadlink-with-size.c: Likewise.
59135         * lib/areadlink.c: Likewise.
59136         * lib/areadlink.h: Likewise.
59137         * lib/argmatch.c: Likewise.
59138         * lib/argmatch.h: Likewise.
59139         * lib/argp-ba.c: Likewise.
59140         * lib/argp-eexst.c: Likewise.
59141         * lib/argp-fmtstream.c: Likewise.
59142         * lib/argp-fmtstream.h: Likewise.
59143         * lib/argp-fs-xinl.c: Likewise.
59144         * lib/argp-help.c: Likewise.
59145         * lib/argp-namefrob.h: Likewise.
59146         * lib/argp-parse.c: Likewise.
59147         * lib/argp-pin.c: Likewise.
59148         * lib/argp-pv.c: Likewise.
59149         * lib/argp-pvh.c: Likewise.
59150         * lib/argp-xinl.c: Likewise.
59151         * lib/argp.h: Likewise.
59152         * lib/at-func.c: Likewise.
59153         * lib/atanl.c: Likewise.
59154         * lib/backupfile.c: Likewise.
59155         * lib/backupfile.h: Likewise.
59156         * lib/basename.c: Likewise.
59157         * lib/binary-io.h: Likewise.
59158         * lib/byteswap.in.h: Likewise.
59159         * lib/c-stack.c: Likewise.
59160         * lib/c-stack.h: Likewise.
59161         * lib/c-strcasestr.c: Likewise.
59162         * lib/c-strcasestr.h: Likewise.
59163         * lib/c-strstr.c: Likewise.
59164         * lib/c-strstr.h: Likewise.
59165         * lib/c-strtod.c: Likewise.
59166         * lib/calloc.c: Likewise.
59167         * lib/canon-host.c: Likewise.
59168         * lib/canon-host.h: Likewise.
59169         * lib/canonicalize-lgpl.c: Likewise.
59170         * lib/canonicalize.c: Likewise.
59171         * lib/canonicalize.h: Likewise.
59172         * lib/ceil.c: Likewise.
59173         * lib/ceilf.c: Likewise.
59174         * lib/ceill.c: Likewise.
59175         * lib/chdir-long.c: Likewise.
59176         * lib/chdir-long.h: Likewise.
59177         * lib/chdir-safer.c: Likewise.
59178         * lib/chdir-safer.h: Likewise.
59179         * lib/chown.c: Likewise.
59180         * lib/classpath.c: Likewise.
59181         * lib/classpath.h: Likewise.
59182         * lib/clean-temp.c: Likewise.
59183         * lib/clean-temp.h: Likewise.
59184         * lib/cloexec.c: Likewise.
59185         * lib/close-stream.c: Likewise.
59186         * lib/closein.c: Likewise.
59187         * lib/closein.h: Likewise.
59188         * lib/closeout.c: Likewise.
59189         * lib/closeout.h: Likewise.
59190         * lib/concat-filename.c: Likewise.
59191         * lib/copy-file.c: Likewise.
59192         * lib/copy-file.h: Likewise.
59193         * lib/count-one-bits.h: Likewise.
59194         * lib/crc.c: Likewise.
59195         * lib/crc.h: Likewise.
59196         * lib/creat-safer.c: Likewise.
59197         * lib/csharpcomp.c: Likewise.
59198         * lib/csharpcomp.h: Likewise.
59199         * lib/csharpexec.c: Likewise.
59200         * lib/csharpexec.h: Likewise.
59201         * lib/cycle-check.c: Likewise.
59202         * lib/cycle-check.h: Likewise.
59203         * lib/diacrit.c: Likewise.
59204         * lib/diacrit.h: Likewise.
59205         * lib/diffseq.h: Likewise.
59206         * lib/dirchownmod.c: Likewise.
59207         * lib/dirent.in.h: Likewise.
59208         * lib/dirfd.c: Likewise.
59209         * lib/dirfd.h: Likewise.
59210         * lib/dirname.c: Likewise.
59211         * lib/dirname.h: Likewise.
59212         * lib/dummy.c: Likewise.
59213         * lib/dup-safer.c: Likewise.
59214         * lib/dup2.c: Likewise.
59215         * lib/eealloc.h: Likewise.
59216         * lib/error.c: Likewise.
59217         * lib/error.h: Likewise.
59218         * lib/euidaccess.c: Likewise.
59219         * lib/exclude.c: Likewise.
59220         * lib/exclude.h: Likewise.
59221         * lib/execute.c: Likewise.
59222         * lib/execute.h: Likewise.
59223         * lib/exitfail.c: Likewise.
59224         * lib/exitfail.h: Likewise.
59225         * lib/expl.c: Likewise.
59226         * lib/fatal-signal.c: Likewise.
59227         * lib/fatal-signal.h: Likewise.
59228         * lib/fbufmode.c: Likewise.
59229         * lib/fbufmode.h: Likewise.
59230         * lib/fchdir.c: Likewise.
59231         * lib/fchmodat.c: Likewise.
59232         * lib/fchownat.c: Likewise.
59233         * lib/fcntl--.h: Likewise.
59234         * lib/fcntl-safer.h: Likewise.
59235         * lib/fcntl.in.h: Likewise.
59236         * lib/fd-safer.c: Likewise.
59237         * lib/fflush.c: Likewise.
59238         * lib/file-has-acl.c: Likewise.
59239         * lib/file-set.c: Likewise.
59240         * lib/file-type.c: Likewise.
59241         * lib/file-type.h: Likewise.
59242         * lib/fileblocks.c: Likewise.
59243         * lib/filemode.c: Likewise.
59244         * lib/filemode.h: Likewise.
59245         * lib/filename.h: Likewise.
59246         * lib/filenamecat.c: Likewise.
59247         * lib/filenamecat.h: Likewise.
59248         * lib/findprog.c: Likewise.
59249         * lib/findprog.h: Likewise.
59250         * lib/float.in.h: Likewise.
59251         * lib/floor.c: Likewise.
59252         * lib/floorf.c: Likewise.
59253         * lib/floorl.c: Likewise.
59254         * lib/fopen-safer.c: Likewise.
59255         * lib/fopen.c: Likewise.
59256         * lib/fpending.c: Likewise.
59257         * lib/fpending.h: Likewise.
59258         * lib/fprintf.c: Likewise.
59259         * lib/fprintftime.h: Likewise.
59260         * lib/fpucw.h: Likewise.
59261         * lib/fpurge.c: Likewise.
59262         * lib/fpurge.h: Likewise.
59263         * lib/freadable.c: Likewise.
59264         * lib/freadable.h: Likewise.
59265         * lib/freadahead.c: Likewise.
59266         * lib/freadahead.h: Likewise.
59267         * lib/freading.c: Likewise.
59268         * lib/freading.h: Likewise.
59269         * lib/free.c: Likewise.
59270         * lib/freopen.c: Likewise.
59271         * lib/frexp.c: Likewise.
59272         * lib/frexpl.c: Likewise.
59273         * lib/fseek.c: Likewise.
59274         * lib/fseterr.c: Likewise.
59275         * lib/fseterr.h: Likewise.
59276         * lib/fstatat.c: Likewise.
59277         * lib/fstrcmp.c: Likewise.
59278         * lib/fstrcmp.h: Likewise.
59279         * lib/fsusage.c: Likewise.
59280         * lib/fsusage.h: Likewise.
59281         * lib/ftell.c: Likewise.
59282         * lib/ftello.c: Likewise.
59283         * lib/fts-cycle.c: Likewise.
59284         * lib/fts.c: Likewise.
59285         * lib/fts_.h: Likewise.
59286         * lib/full-read.c: Likewise.
59287         * lib/full-read.h: Likewise.
59288         * lib/full-write.c: Likewise.
59289         * lib/full-write.h: Likewise.
59290         * lib/fwritable.c: Likewise.
59291         * lib/fwritable.h: Likewise.
59292         * lib/fwriteerror.c: Likewise.
59293         * lib/fwriteerror.h: Likewise.
59294         * lib/fwriting.c: Likewise.
59295         * lib/fwriting.h: Likewise.
59296         * lib/gcd.c: Likewise.
59297         * lib/gcd.h: Likewise.
59298         * lib/getcwd.c: Likewise.
59299         * lib/getdate.h: Likewise.
59300         * lib/getdate.y: Likewise.
59301         * lib/getdomainname.c: Likewise.
59302         * lib/getdomainname.h: Likewise.
59303         * lib/getgroups.c: Likewise.
59304         * lib/gethostname.c: Likewise.
59305         * lib/gethrxtime.c: Likewise.
59306         * lib/gethrxtime.h: Likewise.
59307         * lib/getloadavg.c: Likewise.
59308         * lib/getndelim2.c: Likewise.
59309         * lib/getndelim2.h: Likewise.
59310         * lib/getnline.c: Likewise.
59311         * lib/getnline.h: Likewise.
59312         * lib/getopt.c: Likewise.
59313         * lib/getopt.in.h: Likewise.
59314         * lib/getopt1.c: Likewise.
59315         * lib/getopt_int.h: Likewise.
59316         * lib/getpagesize.h: Likewise.
59317         * lib/getsubopt.c: Likewise.
59318         * lib/gettime.c: Likewise.
59319         * lib/getugroups.c: Likewise.
59320         * lib/getugroups.h: Likewise.
59321         * lib/getusershell.c: Likewise.
59322         * lib/gl_anyavltree_list1.h: Likewise.
59323         * lib/gl_anyavltree_list2.h: Likewise.
59324         * lib/gl_anyhash_list1.h: Likewise.
59325         * lib/gl_anyhash_list2.h: Likewise.
59326         * lib/gl_anylinked_list1.h: Likewise.
59327         * lib/gl_anylinked_list2.h: Likewise.
59328         * lib/gl_anyrbtree_list1.h: Likewise.
59329         * lib/gl_anyrbtree_list2.h: Likewise.
59330         * lib/gl_anytree_list1.h: Likewise.
59331         * lib/gl_anytree_list2.h: Likewise.
59332         * lib/gl_anytree_oset.h: Likewise.
59333         * lib/gl_anytreehash_list1.h: Likewise.
59334         * lib/gl_anytreehash_list2.h: Likewise.
59335         * lib/gl_array_list.c: Likewise.
59336         * lib/gl_array_list.h: Likewise.
59337         * lib/gl_array_oset.c: Likewise.
59338         * lib/gl_array_oset.h: Likewise.
59339         * lib/gl_avltree_list.c: Likewise.
59340         * lib/gl_avltree_list.h: Likewise.
59341         * lib/gl_avltree_oset.c: Likewise.
59342         * lib/gl_avltree_oset.h: Likewise.
59343         * lib/gl_avltreehash_list.c: Likewise.
59344         * lib/gl_avltreehash_list.h: Likewise.
59345         * lib/gl_carray_list.c: Likewise.
59346         * lib/gl_carray_list.h: Likewise.
59347         * lib/gl_linked_list.c: Likewise.
59348         * lib/gl_linked_list.h: Likewise.
59349         * lib/gl_linkedhash_list.c: Likewise.
59350         * lib/gl_linkedhash_list.h: Likewise.
59351         * lib/gl_list.c: Likewise.
59352         * lib/gl_list.h: Likewise.
59353         * lib/gl_oset.c: Likewise.
59354         * lib/gl_oset.h: Likewise.
59355         * lib/gl_rbtree_list.c: Likewise.
59356         * lib/gl_rbtree_list.h: Likewise.
59357         * lib/gl_rbtree_oset.c: Likewise.
59358         * lib/gl_rbtree_oset.h: Likewise.
59359         * lib/gl_rbtreehash_list.c: Likewise.
59360         * lib/gl_rbtreehash_list.h: Likewise.
59361         * lib/gl_sublist.c: Likewise.
59362         * lib/gl_sublist.h: Likewise.
59363         * lib/group-member.c: Likewise.
59364         * lib/group-member.h: Likewise.
59365         * lib/hard-locale.c: Likewise.
59366         * lib/hard-locale.h: Likewise.
59367         * lib/hash-pjw.c: Likewise.
59368         * lib/hash-pjw.h: Likewise.
59369         * lib/hash-triple.c: Likewise.
59370         * lib/hash.c: Likewise.
59371         * lib/hash.h: Likewise.
59372         * lib/human.c: Likewise.
59373         * lib/human.h: Likewise.
59374         * lib/i-ring.c: Likewise.
59375         * lib/i-ring.h: Likewise.
59376         * lib/idcache.c: Likewise.
59377         * lib/imaxabs.c: Likewise.
59378         * lib/imaxdiv.c: Likewise.
59379         * lib/inet_pton.c: Likewise.
59380         * lib/inet_pton.h: Likewise.
59381         * lib/intprops.h: Likewise.
59382         * lib/inttostr.c: Likewise.
59383         * lib/inttostr.h: Likewise.
59384         * lib/inttypes.in.h: Likewise.
59385         * lib/isapipe.c: Likewise.
59386         * lib/isdir.c: Likewise.
59387         * lib/isnan.c: Likewise.
59388         * lib/isnan.h: Likewise.
59389         * lib/isnanf.c: Likewise.
59390         * lib/isnanf.h: Likewise.
59391         * lib/isnanl-nolibm.h: Likewise.
59392         * lib/isnanl.c: Likewise.
59393         * lib/isnanl.h: Likewise.
59394         * lib/javacomp.c: Likewise.
59395         * lib/javacomp.h: Likewise.
59396         * lib/javaexec.c: Likewise.
59397         * lib/javaexec.h: Likewise.
59398         * lib/javaversion.c: Likewise.
59399         * lib/javaversion.h: Likewise.
59400         * lib/javaversion.java: Likewise.
59401         * lib/lbrkprop.h: Likewise.
59402         * lib/lchmod.h: Likewise.
59403         * lib/lchown.c: Likewise.
59404         * lib/ldexpl.c: Likewise.
59405         * lib/linebreak.c: Likewise.
59406         * lib/linebreak.h: Likewise.
59407         * lib/linebuffer.c: Likewise.
59408         * lib/linebuffer.h: Likewise.
59409         * lib/locale.in.h: Likewise.
59410         * lib/logl.c: Likewise.
59411         * lib/long-options.c: Likewise.
59412         * lib/long-options.h: Likewise.
59413         * lib/lstat.c: Likewise.
59414         * lib/lstat.h: Likewise.
59415         * lib/math.in.h: Likewise.
59416         * lib/mbchar.c: Likewise.
59417         * lib/mbchar.h: Likewise.
59418         * lib/mbfile.h: Likewise.
59419         * lib/mbiter.h: Likewise.
59420         * lib/mbscasecmp.c: Likewise.
59421         * lib/mbscasestr.c: Likewise.
59422         * lib/mbschr.c: Likewise.
59423         * lib/mbscspn.c: Likewise.
59424         * lib/mbslen.c: Likewise.
59425         * lib/mbsncasecmp.c: Likewise.
59426         * lib/mbsnlen.c: Likewise.
59427         * lib/mbspbrk.c: Likewise.
59428         * lib/mbspcasecmp.c: Likewise.
59429         * lib/mbsrchr.c: Likewise.
59430         * lib/mbssep.c: Likewise.
59431         * lib/mbsspn.c: Likewise.
59432         * lib/mbsstr.c: Likewise.
59433         * lib/mbstok_r.c: Likewise.
59434         * lib/mbswidth.c: Likewise.
59435         * lib/mbswidth.h: Likewise.
59436         * lib/mbuiter.h: Likewise.
59437         * lib/memcasecmp.c: Likewise.
59438         * lib/memcasecmp.h: Likewise.
59439         * lib/memchr.c: Likewise.
59440         * lib/memcmp.c: Likewise.
59441         * lib/memcoll.c: Likewise.
59442         * lib/memcoll.h: Likewise.
59443         * lib/memcpy.c: Likewise.
59444         * lib/memrchr.c: Likewise.
59445         * lib/mkancesdirs.c: Likewise.
59446         * lib/mkdir-p.c: Likewise.
59447         * lib/mkdir-p.h: Likewise.
59448         * lib/mkdir.c: Likewise.
59449         * lib/mkdirat.c: Likewise.
59450         * lib/mkdtemp.c: Likewise.
59451         * lib/mkstemp-safer.c: Likewise.
59452         * lib/mkstemp.c: Likewise.
59453         * lib/modechange.c: Likewise.
59454         * lib/modechange.h: Likewise.
59455         * lib/mountlist.c: Likewise.
59456         * lib/mountlist.h: Likewise.
59457         * lib/mpsort.c: Likewise.
59458         * lib/nanosleep.c: Likewise.
59459         * lib/obstack.c: Likewise.
59460         * lib/obstack.h: Likewise.
59461         * lib/open-safer.c: Likewise.
59462         * lib/open.c: Likewise.
59463         * lib/openat-die.c: Likewise.
59464         * lib/openat-priv.h: Likewise.
59465         * lib/openat-proc.c: Likewise.
59466         * lib/openat.c: Likewise.
59467         * lib/openat.h: Likewise.
59468         * lib/pagealign_alloc.c: Likewise.
59469         * lib/pagealign_alloc.h: Likewise.
59470         * lib/physmem.c: Likewise.
59471         * lib/physmem.h: Likewise.
59472         * lib/pipe-safer.c: Likewise.
59473         * lib/pipe.c: Likewise.
59474         * lib/pipe.h: Likewise.
59475         * lib/posixtm.c: Likewise.
59476         * lib/posixtm.h: Likewise.
59477         * lib/posixver.c: Likewise.
59478         * lib/printf-frexp.c: Likewise.
59479         * lib/printf-frexp.h: Likewise.
59480         * lib/printf-frexpl.c: Likewise.
59481         * lib/printf-frexpl.h: Likewise.
59482         * lib/printf.c: Likewise.
59483         * lib/progname.c: Likewise.
59484         * lib/progname.h: Likewise.
59485         * lib/progreloc.c: Likewise.
59486         * lib/putenv.c: Likewise.
59487         * lib/quote.c: Likewise.
59488         * lib/quote.h: Likewise.
59489         * lib/quotearg.c: Likewise.
59490         * lib/quotearg.h: Likewise.
59491         * lib/raise.c: Likewise.
59492         * lib/readline.c: Likewise.
59493         * lib/readline.h: Likewise.
59494         * lib/readlink.c: Likewise.
59495         * lib/readtokens.c: Likewise.
59496         * lib/readtokens.h: Likewise.
59497         * lib/readtokens0.c: Likewise.
59498         * lib/readtokens0.h: Likewise.
59499         * lib/readutmp.c: Likewise.
59500         * lib/readutmp.h: Likewise.
59501         * lib/realloc.c: Likewise.
59502         * lib/relocwrapper.c: Likewise.
59503         * lib/rename-dest-slash.c: Likewise.
59504         * lib/rename.c: Likewise.
59505         * lib/rmdir.c: Likewise.
59506         * lib/rpmatch.c: Likewise.
59507         * lib/safe-read.c: Likewise.
59508         * lib/safe-read.h: Likewise.
59509         * lib/safe-write.c: Likewise.
59510         * lib/safe-write.h: Likewise.
59511         * lib/same-inode.h: Likewise.
59512         * lib/same.c: Likewise.
59513         * lib/same.h: Likewise.
59514         * lib/save-cwd.c: Likewise.
59515         * lib/save-cwd.h: Likewise.
59516         * lib/savedir.c: Likewise.
59517         * lib/savedir.h: Likewise.
59518         * lib/savewd.c: Likewise.
59519         * lib/savewd.h: Likewise.
59520         * lib/search.in.h: Likewise.
59521         * lib/setenv.c: Likewise.
59522         * lib/setenv.h: Likewise.
59523         * lib/settime.c: Likewise.
59524         * lib/sh-quote.c: Likewise.
59525         * lib/sh-quote.h: Likewise.
59526         * lib/sig2str.c: Likewise.
59527         * lib/sig2str.h: Likewise.
59528         * lib/signal.in.h: Likewise.
59529         * lib/signbitd.c: Likewise.
59530         * lib/signbitf.c: Likewise.
59531         * lib/signbitl.c: Likewise.
59532         * lib/sigprocmask.c: Likewise.
59533         * lib/sincosl.c: Likewise.
59534         * lib/sleep.c: Likewise.
59535         * lib/sprintf.c: Likewise.
59536         * lib/sqrtl.c: Likewise.
59537         * lib/stat-time.h: Likewise.
59538         * lib/stdio--.h: Likewise.
59539         * lib/stdio-safer.h: Likewise.
59540         * lib/stdlib--.h: Likewise.
59541         * lib/stdlib-safer.h: Likewise.
59542         * lib/stdlib.in.h: Likewise.
59543         * lib/stpcpy.c: Likewise.
59544         * lib/stpncpy.c: Likewise.
59545         * lib/strchrnul.c: Likewise.
59546         * lib/strcspn.c: Likewise.
59547         * lib/strerror.c: Likewise.
59548         * lib/strftime.c: Likewise.
59549         * lib/strftime.h: Likewise.
59550         * lib/striconveh.c: Likewise.
59551         * lib/striconveh.h: Likewise.
59552         * lib/striconveha.c: Likewise.
59553         * lib/striconveha.h: Likewise.
59554         * lib/stripslash.c: Likewise.
59555         * lib/strnlen1.c: Likewise.
59556         * lib/strnlen1.h: Likewise.
59557         * lib/strtod.c: Likewise.
59558         * lib/strtoimax.c: Likewise.
59559         * lib/strtok_r.c: Likewise.
59560         * lib/strtol.c: Likewise.
59561         * lib/strtoll.c: Likewise.
59562         * lib/strtoul.c: Likewise.
59563         * lib/strtoull.c: Likewise.
59564         * lib/sysexits.in.h: Likewise.
59565         * lib/tempname.c: Likewise.
59566         * lib/tempname.h: Likewise.
59567         * lib/timespec.h: Likewise.
59568         * lib/tls.c: Likewise.
59569         * lib/tls.h: Likewise.
59570         * lib/tmpdir.c: Likewise.
59571         * lib/tmpdir.h: Likewise.
59572         * lib/tmpfile-safer.c: Likewise.
59573         * lib/tmpfile.c: Likewise.
59574         * lib/trigl.c: Likewise.
59575         * lib/trigl.h: Likewise.
59576         * lib/trim.c: Likewise.
59577         * lib/trim.h: Likewise.
59578         * lib/trunc.c: Likewise.
59579         * lib/truncf.c: Likewise.
59580         * lib/truncl.c: Likewise.
59581         * lib/tsearch.c: Likewise.
59582         * lib/unicodeio.c: Likewise.
59583         * lib/unicodeio.h: Likewise.
59584         * lib/unistd--.h: Likewise.
59585         * lib/unistd-safer.h: Likewise.
59586         * lib/unistdio/ulc-fprintf.c: Likewise.
59587         * lib/unistdio/ulc-vfprintf.c: Likewise.
59588         * lib/unlinkdir.c: Likewise.
59589         * lib/unlinkdir.h: Likewise.
59590         * lib/unlocked-io.h: Likewise.
59591         * lib/unsetenv.c: Likewise.
59592         * lib/userspec.c: Likewise.
59593         * lib/utime.c: Likewise.
59594         * lib/utimecmp.c: Likewise.
59595         * lib/utimecmp.h: Likewise.
59596         * lib/utimens.c: Likewise.
59597         * lib/verify.h: Likewise.
59598         * lib/verror.c: Likewise.
59599         * lib/verror.h: Likewise.
59600         * lib/version-etc-fsf.c: Likewise.
59601         * lib/version-etc.c: Likewise.
59602         * lib/version-etc.h: Likewise.
59603         * lib/vfprintf.c: Likewise.
59604         * lib/vprintf.c: Likewise.
59605         * lib/vsprintf.c: Likewise.
59606         * lib/w32spawn.h: Likewise.
59607         * lib/wait-process.c: Likewise.
59608         * lib/wait-process.h: Likewise.
59609         * lib/wcwidth.c: Likewise.
59610         * lib/write-any-file.c: Likewise.
59611         * lib/xalloc-die.c: Likewise.
59612         * lib/xalloc.h: Likewise.
59613         * lib/xasprintf.c: Likewise.
59614         * lib/xgetcwd.c: Likewise.
59615         * lib/xgetcwd.h: Likewise.
59616         * lib/xgetdomainname.c: Likewise.
59617         * lib/xgetdomainname.h: Likewise.
59618         * lib/xgethostname.c: Likewise.
59619         * lib/xmalloc.c: Likewise.
59620         * lib/xmalloca.c: Likewise.
59621         * lib/xmalloca.h: Likewise.
59622         * lib/xmemcoll.c: Likewise.
59623         * lib/xnanosleep.c: Likewise.
59624         * lib/xreadlink.c: Likewise.
59625         * lib/xreadlink.h: Likewise.
59626         * lib/xsetenv.c: Likewise.
59627         * lib/xsetenv.h: Likewise.
59628         * lib/xstriconv.c: Likewise.
59629         * lib/xstriconv.h: Likewise.
59630         * lib/xstrndup.c: Likewise.
59631         * lib/xstrndup.h: Likewise.
59632         * lib/xstrtod.c: Likewise.
59633         * lib/xstrtod.h: Likewise.
59634         * lib/xstrtol-error.c: Likewise.
59635         * lib/xstrtol.c: Likewise.
59636         * lib/xstrtol.h: Likewise.
59637         * lib/xtime.h: Likewise.
59638         * lib/xvasprintf.c: Likewise.
59639         * lib/xvasprintf.h: Likewise.
59640         * lib/yesno.c: Likewise.
59641         * lib/yesno.h: Likewise.
59642         * posix-modules: Likewise.
59643         * tests/test-alloca-opt.c: Likewise.
59644         * tests/test-arcfour.c: Likewise.
59645         * tests/test-arctwo.c: Likewise.
59646         * tests/test-argmatch.c: Likewise.
59647         * tests/test-argp-2.sh: Likewise.
59648         * tests/test-argp.c: Likewise.
59649         * tests/test-arpa_inet.c: Likewise.
59650         * tests/test-array_list.c: Likewise.
59651         * tests/test-array_oset.c: Likewise.
59652         * tests/test-atexit.c: Likewise.
59653         * tests/test-avltree_list.c: Likewise.
59654         * tests/test-avltree_oset.c: Likewise.
59655         * tests/test-avltreehash_list.c: Likewise.
59656         * tests/test-base64.c: Likewise.
59657         * tests/test-binary-io.c: Likewise.
59658         * tests/test-byteswap.c: Likewise.
59659         * tests/test-c-ctype.c: Likewise.
59660         * tests/test-c-strcasecmp.c: Likewise.
59661         * tests/test-c-strcasestr.c: Likewise.
59662         * tests/test-c-strncasecmp.c: Likewise.
59663         * tests/test-c-strstr.c: Likewise.
59664         * tests/test-canonicalize-lgpl.c: Likewise.
59665         * tests/test-canonicalize.c: Likewise.
59666         * tests/test-carray_list.c: Likewise.
59667         * tests/test-ceilf.c: Likewise.
59668         * tests/test-ceill.c: Likewise.
59669         * tests/test-count-one-bits.c: Likewise.
59670         * tests/test-crc.c: Likewise.
59671         * tests/test-dirname.c: Likewise.
59672         * tests/test-fbufmode.c: Likewise.
59673         * tests/test-fcntl.c: Likewise.
59674         * tests/test-fflush.c: Likewise.
59675         * tests/test-floorf.c: Likewise.
59676         * tests/test-floorl.c: Likewise.
59677         * tests/test-fopen.c: Likewise.
59678         * tests/test-fprintf-posix.c: Likewise.
59679         * tests/test-fprintf-posix.h: Likewise.
59680         * tests/test-fpurge.c: Likewise.
59681         * tests/test-freadable.c: Likewise.
59682         * tests/test-freadahead.c: Likewise.
59683         * tests/test-freading.c: Likewise.
59684         * tests/test-freopen.c: Likewise.
59685         * tests/test-frexp.c: Likewise.
59686         * tests/test-frexpl.c: Likewise.
59687         * tests/test-fseek.c: Likewise.
59688         * tests/test-fseeko.c: Likewise.
59689         * tests/test-fseterr.c: Likewise.
59690         * tests/test-fstrcmp.c: Likewise.
59691         * tests/test-ftell.c: Likewise.
59692         * tests/test-ftello.c: Likewise.
59693         * tests/test-fwritable.c: Likewise.
59694         * tests/test-fwriting.c: Likewise.
59695         * tests/test-getaddrinfo.c: Likewise.
59696         * tests/test-getpass.c: Likewise.
59697         * tests/test-gettimeofday.c: Likewise.
59698         * tests/test-hmac-md5.c: Likewise.
59699         * tests/test-hmac-sha1.c: Likewise.
59700         * tests/test-iconv.c: Likewise.
59701         * tests/test-iconvme.c: Likewise.
59702         * tests/test-inttypes.c: Likewise.
59703         * tests/test-isnan.c: Likewise.
59704         * tests/test-isnanf.c: Likewise.
59705         * tests/test-isnanl-nolibm.c: Likewise.
59706         * tests/test-isnanl.c: Likewise.
59707         * tests/test-isnanl.h: Likewise.
59708         * tests/test-ldexpl.c: Likewise.
59709         * tests/test-linked_list.c: Likewise.
59710         * tests/test-linkedhash_list.c: Likewise.
59711         * tests/test-locale.c: Likewise.
59712         * tests/test-localename.c: Likewise.
59713         * tests/test-lock.c: Likewise.
59714         * tests/test-lseek.c: Likewise.
59715         * tests/test-malloca.c: Likewise.
59716         * tests/test-math.c: Likewise.
59717         * tests/test-mbscasecmp.c: Likewise.
59718         * tests/test-mbscasestr1.c: Likewise.
59719         * tests/test-mbscasestr2.c: Likewise.
59720         * tests/test-mbscasestr3.c: Likewise.
59721         * tests/test-mbscasestr4.c: Likewise.
59722         * tests/test-mbschr.c: Likewise.
59723         * tests/test-mbscspn.c: Likewise.
59724         * tests/test-mbsncasecmp.c: Likewise.
59725         * tests/test-mbspbrk.c: Likewise.
59726         * tests/test-mbspcasecmp.c: Likewise.
59727         * tests/test-mbsrchr.c: Likewise.
59728         * tests/test-mbsspn.c: Likewise.
59729         * tests/test-mbsstr1.c: Likewise.
59730         * tests/test-mbsstr2.c: Likewise.
59731         * tests/test-mbsstr3.c: Likewise.
59732         * tests/test-md5.c: Likewise.
59733         * tests/test-memmem.c: Likewise.
59734         * tests/test-netinet_in.c: Likewise.
59735         * tests/test-open.c: Likewise.
59736         * tests/test-printf-frexp.c: Likewise.
59737         * tests/test-printf-frexpl.c: Likewise.
59738         * tests/test-printf-posix.c: Likewise.
59739         * tests/test-printf-posix.h: Likewise.
59740         * tests/test-rbtree_list.c: Likewise.
59741         * tests/test-rbtree_oset.c: Likewise.
59742         * tests/test-rbtreehash_list.c: Likewise.
59743         * tests/test-read-file.c: Likewise.
59744         * tests/test-rijndael.c: Likewise.
59745         * tests/test-search.c: Likewise.
59746         * tests/test-signbit.c: Likewise.
59747         * tests/test-sleep.c: Likewise.
59748         * tests/test-snprintf-posix.c: Likewise.
59749         * tests/test-snprintf-posix.h: Likewise.
59750         * tests/test-snprintf.c: Likewise.
59751         * tests/test-sprintf-posix.c: Likewise.
59752         * tests/test-sprintf-posix.h: Likewise.
59753         * tests/test-stat-time.c: Likewise.
59754         * tests/test-stdbool.c: Likewise.
59755         * tests/test-stdint.c: Likewise.
59756         * tests/test-stdio.c: Likewise.
59757         * tests/test-stdlib.c: Likewise.
59758         * tests/test-stpncpy.c: Likewise.
59759         * tests/test-strcasestr.c: Likewise.
59760         * tests/test-striconv.c: Likewise.
59761         * tests/test-striconveh.c: Likewise.
59762         * tests/test-striconveha.c: Likewise.
59763         * tests/test-string.c: Likewise.
59764         * tests/test-sys_select.c: Likewise.
59765         * tests/test-sys_socket.c: Likewise.
59766         * tests/test-sys_stat.c: Likewise.
59767         * tests/test-sys_time.c: Likewise.
59768         * tests/test-sysexits.c: Likewise.
59769         * tests/test-time.c: Likewise.
59770         * tests/test-tls.c: Likewise.
59771         * tests/test-trunc.c: Likewise.
59772         * tests/test-truncf.c: Likewise.
59773         * tests/test-truncl.c: Likewise.
59774         * tests/test-unistd.c: Likewise.
59775         * tests/test-vasnprintf-posix.c: Likewise.
59776         * tests/test-vasnprintf-posix2.c: Likewise.
59777         * tests/test-vasnprintf.c: Likewise.
59778         * tests/test-vasprintf-posix.c: Likewise.
59779         * tests/test-vasprintf.c: Likewise.
59780         * tests/test-verify.c: Likewise.
59781         * tests/test-vfprintf-posix.c: Likewise.
59782         * tests/test-vprintf-posix.c: Likewise.
59783         * tests/test-vsnprintf-posix.c: Likewise.
59784         * tests/test-vsnprintf.c: Likewise.
59785         * tests/test-vsprintf-posix.c: Likewise.
59786         * tests/test-wchar.c: Likewise.
59787         * tests/test-wctype.c: Likewise.
59788         * tests/test-wcwidth.c: Likewise.
59789         * tests/test-xstrtol.c: Likewise.
59790         * tests/test-xvasprintf.c: Likewise.
59791         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
59792         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
59793         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
59794         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
59795         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
59796         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
59797         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
59798         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
59799         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
59800         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
59801         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
59802         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
59803         * tests/uniname/test-uninames.c: Likewise.
59804         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
59805         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
59806         * tests/unistdio/test-u16-printf1.h: Likewise.
59807         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
59808         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
59809         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
59810         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
59811         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
59812         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
59813         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
59814         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
59815         * tests/unistdio/test-u32-printf1.h: Likewise.
59816         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
59817         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
59818         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
59819         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
59820         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
59821         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
59822         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
59823         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
59824         * tests/unistdio/test-u8-printf1.h: Likewise.
59825         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
59826         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
59827         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
59828         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
59829         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
59830         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
59831         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
59832         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
59833         * tests/unistdio/test-ulc-printf1.h: Likewise.
59834         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
59835         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
59836         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
59837         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
59838         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
59839         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
59840         * tests/uniwidth/test-u16-strwidth.c: Likewise.
59841         * tests/uniwidth/test-u16-width.c: Likewise.
59842         * tests/uniwidth/test-u32-strwidth.c: Likewise.
59843         * tests/uniwidth/test-u32-width.c: Likewise.
59844         * tests/uniwidth/test-u8-strwidth.c: Likewise.
59845         * tests/uniwidth/test-u8-width.c: Likewise.
59846         * tests/uniwidth/test-uc_width.c: Likewise.
59847         * config/srclist-update: Likewise.
59848         (fixlicense): Update to GPLv3+.
59849
59850         Change copyright notice from LGPLv2.1+ to LGPLv3+.
59851         * tests/test-tsearch.c: Change copyright notice.
59852
59853         Change copyright notice from LGPLv2.0+ to LGPLv3+.
59854         * lib/c-strcaseeq.h: Change copyright notice.
59855         * lib/streq.h: Likewise.
59856         * lib/uniconv.h: Likewise.
59857         * lib/uniconv/u-conv-from-enc.h: Likewise.
59858         * lib/uniconv/u-conv-to-enc.h: Likewise.
59859         * lib/uniconv/u-strconv-from-enc.h: Likewise.
59860         * lib/uniconv/u-strconv-to-enc.h: Likewise.
59861         * lib/uniconv/u16-conv-from-enc.c: Likewise.
59862         * lib/uniconv/u16-conv-to-enc.c: Likewise.
59863         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
59864         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
59865         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
59866         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
59867         * lib/uniconv/u32-conv-from-enc.c: Likewise.
59868         * lib/uniconv/u32-conv-to-enc.c: Likewise.
59869         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
59870         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
59871         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
59872         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
59873         * lib/uniconv/u8-conv-from-enc.c: Likewise.
59874         * lib/uniconv/u8-conv-to-enc.c: Likewise.
59875         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
59876         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
59877         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
59878         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
59879         * lib/uniname.h: Likewise.
59880         * lib/uniname/uniname.c: Likewise.
59881         * lib/unistdio.h: Likewise.
59882         * lib/unistdio/u-asnprintf.h: Likewise.
59883         * lib/unistdio/u-asprintf.h: Likewise.
59884         * lib/unistdio/u-printf-args.c: Likewise.
59885         * lib/unistdio/u-printf-args.h: Likewise.
59886         * lib/unistdio/u-printf-parse.h: Likewise.
59887         * lib/unistdio/u-snprintf.h: Likewise.
59888         * lib/unistdio/u-sprintf.h: Likewise.
59889         * lib/unistdio/u-vasprintf.h: Likewise.
59890         * lib/unistdio/u-vsnprintf.h: Likewise.
59891         * lib/unistdio/u-vsprintf.h: Likewise.
59892         * lib/unistdio/u16-asnprintf.c: Likewise.
59893         * lib/unistdio/u16-asprintf.c: Likewise.
59894         * lib/unistdio/u16-printf-parse.c: Likewise.
59895         * lib/unistdio/u16-snprintf.c: Likewise.
59896         * lib/unistdio/u16-sprintf.c: Likewise.
59897         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
59898         * lib/unistdio/u16-u16-asprintf.c: Likewise.
59899         * lib/unistdio/u16-u16-snprintf.c: Likewise.
59900         * lib/unistdio/u16-u16-sprintf.c: Likewise.
59901         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
59902         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
59903         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
59904         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
59905         * lib/unistdio/u16-vasnprintf.c: Likewise.
59906         * lib/unistdio/u16-vasprintf.c: Likewise.
59907         * lib/unistdio/u16-vsnprintf.c: Likewise.
59908         * lib/unistdio/u16-vsprintf.c: Likewise.
59909         * lib/unistdio/u32-asnprintf.c: Likewise.
59910         * lib/unistdio/u32-asprintf.c: Likewise.
59911         * lib/unistdio/u32-printf-parse.c: Likewise.
59912         * lib/unistdio/u32-snprintf.c: Likewise.
59913         * lib/unistdio/u32-sprintf.c: Likewise.
59914         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
59915         * lib/unistdio/u32-u32-asprintf.c: Likewise.
59916         * lib/unistdio/u32-u32-snprintf.c: Likewise.
59917         * lib/unistdio/u32-u32-sprintf.c: Likewise.
59918         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
59919         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
59920         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
59921         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
59922         * lib/unistdio/u32-vasnprintf.c: Likewise.
59923         * lib/unistdio/u32-vasprintf.c: Likewise.
59924         * lib/unistdio/u32-vsnprintf.c: Likewise.
59925         * lib/unistdio/u32-vsprintf.c: Likewise.
59926         * lib/unistdio/u8-asnprintf.c: Likewise.
59927         * lib/unistdio/u8-asprintf.c: Likewise.
59928         * lib/unistdio/u8-printf-parse.c: Likewise.
59929         * lib/unistdio/u8-snprintf.c: Likewise.
59930         * lib/unistdio/u8-sprintf.c: Likewise.
59931         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
59932         * lib/unistdio/u8-u8-asprintf.c: Likewise.
59933         * lib/unistdio/u8-u8-snprintf.c: Likewise.
59934         * lib/unistdio/u8-u8-sprintf.c: Likewise.
59935         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
59936         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
59937         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
59938         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
59939         * lib/unistdio/u8-vasnprintf.c: Likewise.
59940         * lib/unistdio/u8-vasprintf.c: Likewise.
59941         * lib/unistdio/u8-vsnprintf.c: Likewise.
59942         * lib/unistdio/u8-vsprintf.c: Likewise.
59943         * lib/unistdio/ulc-asnprintf.c: Likewise.
59944         * lib/unistdio/ulc-asprintf.c: Likewise.
59945         * lib/unistdio/ulc-printf-parse.c: Likewise.
59946         * lib/unistdio/ulc-snprintf.c: Likewise.
59947         * lib/unistdio/ulc-sprintf.c: Likewise.
59948         * lib/unistdio/ulc-vasnprintf.c: Likewise.
59949         * lib/unistdio/ulc-vasprintf.c: Likewise.
59950         * lib/unistdio/ulc-vsnprintf.c: Likewise.
59951         * lib/unistdio/ulc-vsprintf.c: Likewise.
59952         * lib/unistr.h: Likewise.
59953         * lib/unistr/u-cpy-alloc.h: Likewise.
59954         * lib/unistr/u-cpy.h: Likewise.
59955         * lib/unistr/u-endswith.h: Likewise.
59956         * lib/unistr/u-move.h: Likewise.
59957         * lib/unistr/u-set.h: Likewise.
59958         * lib/unistr/u-startswith.h: Likewise.
59959         * lib/unistr/u-stpcpy.h: Likewise.
59960         * lib/unistr/u-stpncpy.h: Likewise.
59961         * lib/unistr/u-strcat.h: Likewise.
59962         * lib/unistr/u-strcpy.h: Likewise.
59963         * lib/unistr/u-strcspn.h: Likewise.
59964         * lib/unistr/u-strdup.h: Likewise.
59965         * lib/unistr/u-strlen.h: Likewise.
59966         * lib/unistr/u-strncat.h: Likewise.
59967         * lib/unistr/u-strncpy.h: Likewise.
59968         * lib/unistr/u-strnlen.h: Likewise.
59969         * lib/unistr/u-strpbrk.h: Likewise.
59970         * lib/unistr/u-strspn.h: Likewise.
59971         * lib/unistr/u-strstr.h: Likewise.
59972         * lib/unistr/u-strtok.h: Likewise.
59973         * lib/unistr/u16-check.c: Likewise.
59974         * lib/unistr/u16-chr.c: Likewise.
59975         * lib/unistr/u16-cmp.c: Likewise.
59976         * lib/unistr/u16-cpy-alloc.c: Likewise.
59977         * lib/unistr/u16-cpy.c: Likewise.
59978         * lib/unistr/u16-endswith.c: Likewise.
59979         * lib/unistr/u16-mblen.c: Likewise.
59980         * lib/unistr/u16-mbsnlen.c: Likewise.
59981         * lib/unistr/u16-mbtouc-aux.c: Likewise.
59982         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
59983         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
59984         * lib/unistr/u16-mbtouc.c: Likewise.
59985         * lib/unistr/u16-mbtoucr.c: Likewise.
59986         * lib/unistr/u16-move.c: Likewise.
59987         * lib/unistr/u16-next.c: Likewise.
59988         * lib/unistr/u16-prev.c: Likewise.
59989         * lib/unistr/u16-set.c: Likewise.
59990         * lib/unistr/u16-startswith.c: Likewise.
59991         * lib/unistr/u16-stpcpy.c: Likewise.
59992         * lib/unistr/u16-stpncpy.c: Likewise.
59993         * lib/unistr/u16-strcat.c: Likewise.
59994         * lib/unistr/u16-strchr.c: Likewise.
59995         * lib/unistr/u16-strcmp.c: Likewise.
59996         * lib/unistr/u16-strcpy.c: Likewise.
59997         * lib/unistr/u16-strcspn.c: Likewise.
59998         * lib/unistr/u16-strdup.c: Likewise.
59999         * lib/unistr/u16-strlen.c: Likewise.
60000         * lib/unistr/u16-strmblen.c: Likewise.
60001         * lib/unistr/u16-strmbtouc.c: Likewise.
60002         * lib/unistr/u16-strncat.c: Likewise.
60003         * lib/unistr/u16-strncmp.c: Likewise.
60004         * lib/unistr/u16-strncpy.c: Likewise.
60005         * lib/unistr/u16-strnlen.c: Likewise.
60006         * lib/unistr/u16-strpbrk.c: Likewise.
60007         * lib/unistr/u16-strrchr.c: Likewise.
60008         * lib/unistr/u16-strspn.c: Likewise.
60009         * lib/unistr/u16-strstr.c: Likewise.
60010         * lib/unistr/u16-strtok.c: Likewise.
60011         * lib/unistr/u16-to-u32.c: Likewise.
60012         * lib/unistr/u16-to-u8.c: Likewise.
60013         * lib/unistr/u16-uctomb-aux.c: Likewise.
60014         * lib/unistr/u16-uctomb.c: Likewise.
60015         * lib/unistr/u32-check.c: Likewise.
60016         * lib/unistr/u32-chr.c: Likewise.
60017         * lib/unistr/u32-cmp.c: Likewise.
60018         * lib/unistr/u32-cpy-alloc.c: Likewise.
60019         * lib/unistr/u32-cpy.c: Likewise.
60020         * lib/unistr/u32-endswith.c: Likewise.
60021         * lib/unistr/u32-mblen.c: Likewise.
60022         * lib/unistr/u32-mbsnlen.c: Likewise.
60023         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60024         * lib/unistr/u32-mbtouc.c: Likewise.
60025         * lib/unistr/u32-mbtoucr.c: Likewise.
60026         * lib/unistr/u32-move.c: Likewise.
60027         * lib/unistr/u32-next.c: Likewise.
60028         * lib/unistr/u32-prev.c: Likewise.
60029         * lib/unistr/u32-set.c: Likewise.
60030         * lib/unistr/u32-startswith.c: Likewise.
60031         * lib/unistr/u32-stpcpy.c: Likewise.
60032         * lib/unistr/u32-stpncpy.c: Likewise.
60033         * lib/unistr/u32-strcat.c: Likewise.
60034         * lib/unistr/u32-strchr.c: Likewise.
60035         * lib/unistr/u32-strcmp.c: Likewise.
60036         * lib/unistr/u32-strcpy.c: Likewise.
60037         * lib/unistr/u32-strcspn.c: Likewise.
60038         * lib/unistr/u32-strdup.c: Likewise.
60039         * lib/unistr/u32-strlen.c: Likewise.
60040         * lib/unistr/u32-strmblen.c: Likewise.
60041         * lib/unistr/u32-strmbtouc.c: Likewise.
60042         * lib/unistr/u32-strncat.c: Likewise.
60043         * lib/unistr/u32-strncmp.c: Likewise.
60044         * lib/unistr/u32-strncpy.c: Likewise.
60045         * lib/unistr/u32-strnlen.c: Likewise.
60046         * lib/unistr/u32-strpbrk.c: Likewise.
60047         * lib/unistr/u32-strrchr.c: Likewise.
60048         * lib/unistr/u32-strspn.c: Likewise.
60049         * lib/unistr/u32-strstr.c: Likewise.
60050         * lib/unistr/u32-strtok.c: Likewise.
60051         * lib/unistr/u32-to-u16.c: Likewise.
60052         * lib/unistr/u32-to-u8.c: Likewise.
60053         * lib/unistr/u32-uctomb.c: Likewise.
60054         * lib/unistr/u8-check.c: Likewise.
60055         * lib/unistr/u8-chr.c: Likewise.
60056         * lib/unistr/u8-cmp.c: Likewise.
60057         * lib/unistr/u8-cpy-alloc.c: Likewise.
60058         * lib/unistr/u8-cpy.c: Likewise.
60059         * lib/unistr/u8-endswith.c: Likewise.
60060         * lib/unistr/u8-mblen.c: Likewise.
60061         * lib/unistr/u8-mbsnlen.c: Likewise.
60062         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60063         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60064         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60065         * lib/unistr/u8-mbtouc.c: Likewise.
60066         * lib/unistr/u8-mbtoucr.c: Likewise.
60067         * lib/unistr/u8-move.c: Likewise.
60068         * lib/unistr/u8-next.c: Likewise.
60069         * lib/unistr/u8-prev.c: Likewise.
60070         * lib/unistr/u8-set.c: Likewise.
60071         * lib/unistr/u8-startswith.c: Likewise.
60072         * lib/unistr/u8-stpcpy.c: Likewise.
60073         * lib/unistr/u8-stpncpy.c: Likewise.
60074         * lib/unistr/u8-strcat.c: Likewise.
60075         * lib/unistr/u8-strchr.c: Likewise.
60076         * lib/unistr/u8-strcmp.c: Likewise.
60077         * lib/unistr/u8-strcpy.c: Likewise.
60078         * lib/unistr/u8-strcspn.c: Likewise.
60079         * lib/unistr/u8-strdup.c: Likewise.
60080         * lib/unistr/u8-strlen.c: Likewise.
60081         * lib/unistr/u8-strmblen.c: Likewise.
60082         * lib/unistr/u8-strmbtouc.c: Likewise.
60083         * lib/unistr/u8-strncat.c: Likewise.
60084         * lib/unistr/u8-strncmp.c: Likewise.
60085         * lib/unistr/u8-strncpy.c: Likewise.
60086         * lib/unistr/u8-strnlen.c: Likewise.
60087         * lib/unistr/u8-strpbrk.c: Likewise.
60088         * lib/unistr/u8-strrchr.c: Likewise.
60089         * lib/unistr/u8-strspn.c: Likewise.
60090         * lib/unistr/u8-strstr.c: Likewise.
60091         * lib/unistr/u8-strtok.c: Likewise.
60092         * lib/unistr/u8-to-u16.c: Likewise.
60093         * lib/unistr/u8-to-u32.c: Likewise.
60094         * lib/unistr/u8-uctomb-aux.c: Likewise.
60095         * lib/unistr/u8-uctomb.c: Likewise.
60096         * lib/unitypes.h: Likewise.
60097         * lib/uniwidth.h: Likewise.
60098         * lib/uniwidth/cjk.h: Likewise.
60099         * lib/uniwidth/u16-strwidth.c: Likewise.
60100         * lib/uniwidth/u16-width.c: Likewise.
60101         * lib/uniwidth/u32-strwidth.c: Likewise.
60102         * lib/uniwidth/u32-width.c: Likewise.
60103         * lib/uniwidth/u8-strwidth.c: Likewise.
60104         * lib/uniwidth/u8-width.c: Likewise.
60105         * lib/uniwidth/width.c: Likewise.
60106
60107 2007-10-07  Bruno Haible  <bruno@clisp.org>
60108
60109         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60110         The file is still under LGPL (see modules/inttypes).
60111
60112 2007-10-06  Bruno Haible  <bruno@clisp.org>
60113
60114         * modules/trunc (Dependencies): Add 'extensions'.
60115         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60116         Reported by Ben Pfaff <blp@gnu.org>.
60117
60118 2007-10-06  Bruno Haible  <bruno@clisp.org>
60119
60120         * modules/freopen-tests: New file.
60121         * tests/test-freopen.c: New file.
60122
60123         * modules/fopen-tests: New file.
60124         * tests/test-fopen.c: New file.
60125
60126         * modules/fopen: New file.
60127         * lib/fopen.c: New file.
60128         * m4/fopen.m4: New file.
60129         * modules/freopen: New file.
60130         * lib/freopen.c: New file.
60131         * m4/freopen.m4: New file.
60132         * lib/stdio.in.h (fopen, freopen): New declarations.
60133         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60134         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60135         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60136         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60137         * doc/functions/fopen.texi: Mention the 'fopen' module.
60138         * doc/functions/freopen.texi: Mention the 'freopen' module.
60139
60140 2007-10-06  Bruno Haible  <bruno@clisp.org>
60141
60142         * modules/open-tests: New file.
60143         * tests/test-open.c: New file.
60144
60145         * modules/open: New file.
60146         * lib/open.c: New file.
60147         * m4/open.m4: New file.
60148         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60149         lib/open.c does.
60150         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60151         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60152         macros.
60153         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60154         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60155         REPLACE_OPEN.
60156         * doc/functions/open.texi: Mention the 'open' module.
60157
60158 2007-10-04  Bruno Haible  <bruno@clisp.org>
60159
60160         * modules/ceill-tests: New file.
60161         * tests/test-ceill.c: New file.
60162
60163         * modules/ceill: New file.
60164         * lib/ceill.c: Replace entire file.
60165         * m4/ceill.m4: New file.
60166         * lib/math.in.h (ceill): Replace declaration.
60167         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60168         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60169         * doc/functions/ceill.texi: Mention the 'ceill' module.
60170         * modules/mathl (Files): Remove lib/ceill.c.
60171         (Depends-on): Add ceill.
60172
60173 2007-10-04  Bruno Haible  <bruno@clisp.org>
60174
60175         * modules/ceilf-tests: New file.
60176         * tests/test-ceilf.c: New file.
60177
60178         * modules/ceilf: New file.
60179         * lib/ceil.c: New file.
60180         * lib/ceilf.c: New file.
60181         * m4/ceilf.m4: New file.
60182         * lib/math.in.h (ceilf): New declaration.
60183         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60184         HAVE_DECL_CEILF.
60185         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60186         HAVE_DECL_CEILF.
60187         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60188
60189 2007-10-04  Bruno Haible  <bruno@clisp.org>
60190
60191         * modules/floorl-tests: New file.
60192         * tests/test-floorl.c: New file.
60193
60194         * modules/floorl: New file.
60195         * lib/floorl.c: Replace entire file.
60196         * m4/floorl.m4: New file.
60197         * lib/math.in.h (floorl): Replace declaration.
60198         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60199         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60200         * doc/functions/floorl.texi: Mention the 'floorl' module.
60201         * modules/mathl (Files): Remove lib/floorl.c.
60202         (Depends-on): Add floorl.
60203
60204 2007-10-04  Bruno Haible  <bruno@clisp.org>
60205
60206         * modules/floorf-tests: New file.
60207         * tests/test-floorf.c: New file.
60208
60209         * modules/floorf: New file.
60210         * lib/floor.c: New file.
60211         * lib/floorf.c: New file.
60212         * m4/floorf.m4: New file.
60213         * lib/math.in.h (floorf): New declaration.
60214         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60215         HAVE_DECL_FLOORF.
60216         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60217         HAVE_DECL_FLOORF.
60218         * doc/functions/floorf.texi: Mention the 'floorf' module.
60219
60220 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60221             Bruno Haible  <bruno@clisp.org>
60222
60223         Advertise for the Git server instead of the CVS server.
60224         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60225         repository instead of the CVS one.
60226         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60227         about all VCS systems generically.
60228         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60229
60230 2007-10-04  Bruno Haible  <bruno@clisp.org>
60231
60232         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60233         means.
60234         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60235
60236 2007-10-04  Bruno Haible  <bruno@clisp.org>
60237
60238         * modules/truncl-tests: New file.
60239         * tests/test-truncl.c: New file.
60240
60241         * modules/truncl: New file.
60242         * lib/truncl.c: New file.
60243         * m4/truncl.m4: New file.
60244         * lib/math.in.h (truncl): New declaration.
60245         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60246         HAVE_DECL_TRUNCL.
60247         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60248         HAVE_DECL_TRUNCL.
60249         * doc/functions/truncl.texi: Mention the 'truncl' module.
60250
60251 2007-10-04  Bruno Haible  <bruno@clisp.org>
60252
60253         * modules/truncf-tests: New file.
60254         * tests/test-truncf.c: New file.
60255
60256         * modules/truncf: New file.
60257         * lib/trunc.c: Make paramerizable through USE_* macros.
60258         * lib/truncf.c: New file.
60259         * m4/truncf.m4: New file.
60260         * lib/math.in.h (truncf): New declaration.
60261         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60262         HAVE_DECL_TRUNCF.
60263         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60264         HAVE_DECL_TRUNCF.
60265         * doc/functions/truncf.texi: Mention the 'truncf' module.
60266
60267 2007-10-03  Bruno Haible  <bruno@clisp.org>
60268
60269         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60270         augmentation also for tests modules.
60271         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60272         * modules/atexit-tests (Makefile.am): Likewise.
60273         * modules/binary-io-tests (Makefile.am): Likewise.
60274         * modules/c-strcase-tests (Makefile.am): Likewise.
60275         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60276         * modules/canonicalize-tests (Makefile.am): Likewise.
60277         * modules/closein-tests (Makefile.am): Likewise.
60278         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60279         * modules/freadahead-tests (Makefile.am): Likewise.
60280         * modules/fseek-tests (Makefile.am): Likewise.
60281         * modules/fseeko-tests (Makefile.am): Likewise.
60282         * modules/ftell-tests (Makefile.am): Likewise.
60283         * modules/ftello-tests (Makefile.am): Likewise.
60284         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60285         * modules/isnanl-tests (Makefile.am): Likewise.
60286         * modules/lseek-tests (Makefile.am): Likewise.
60287         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60288         * modules/mbscasestr-tests (Makefile.am): Likewise.
60289         * modules/mbschr-tests (Makefile.am): Likewise.
60290         * modules/mbscspn-tests (Makefile.am): Likewise.
60291         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60292         * modules/mbspbrk-tests (Makefile.am): Likewise.
60293         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60294         * modules/mbsrchr-tests (Makefile.am): Likewise.
60295         * modules/mbsspn-tests (Makefile.am): Likewise.
60296         * modules/mbsstr-tests (Makefile.am): Likewise.
60297         * modules/printf-posix-tests (Makefile.am): Likewise.
60298         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60299         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60300         * modules/tsearch-tests (Makefile.am): Likewise.
60301         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60302         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60303         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60304         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60305         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60306         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60307         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60308         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60309         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60310         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60311         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60312         * modules/xstrtol-tests (Makefile.am): Likewise.
60313         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60314         * modules/yesno-tests (Makefile.am): Likewise.
60315
60316 2007-10-03  Bruno Haible  <bruno@clisp.org>
60317
60318         * modules/trunc-tests: New file.
60319         * tests/test-trunc.c: New file.
60320
60321         * modules/trunc: New file.
60322         * lib/trunc.c: New file.
60323         * m4/trunc.m4: New file.
60324         * lib/math.in.h (trunc): New declaration.
60325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
60326         HAVE_DECL_TRUNC.
60327         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
60328         HAVE_DECL_TRUNC.
60329         * doc/functions/trunc.texi: Mention the 'trunc' module.
60330
60331 2007-10-03  Bruno Haible  <bruno@clisp.org>
60332
60333         * tests/test-fpending.c: New file, mostly copied
60334         from coreutils/lib/t-fpending.c.
60335         * modules/fpending-tests: New file.
60336
60337 2007-10-03  Bruno Haible  <bruno@clisp.org>
60338
60339         Port the stdio extensions to QNX (untested).
60340         * lib/fseterr.c (fseterr): Add support for QNX.
60341         * lib/fbufmode.c (fbufmode): Likewise.
60342         * lib/freadable.c (freadable): Likewise.
60343         * lib/fwritable.c (fwritable): Likewise.
60344         * lib/freading.c (freading): Likewise.
60345         * lib/fwriting.c (fwriting): Likewise.
60346         * lib/freadahead.c (freadahed): Likewise.
60347         * lib/fpurge.c (fpurge): Likewise.
60348         * lib/fseeko.c (rpl_fseeko): Likewise.
60349
60350 2007-10-03  Bruno Haible  <bruno@clisp.org>
60351             Jim Meyering  <jim@meyering.net>
60352             Eric Blake  <ebb9@byu.net>
60353
60354         * doc/relocatable.texi: Use @command instead of @program.
60355
60356 2007-10-02  Jim Meyering  <jim@meyering.net>
60357
60358         Perform one more "_.h" -> ".in.h" substitution.
60359         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
60360         instead of unistd_.h here, too.
60361
60362 2007-10-01  Bruno Haible  <bruno@clisp.org>
60363
60364         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
60365         Needed for the alloca-opt module.
60366
60367 2007-09-30  Bruno Haible  <bruno@clisp.org>
60368
60369         * lib/alloca.in.h: Renamed from lib/alloca_.h.
60370         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
60371         alloca_.h.
60372         * lib/argz.in.h: Renamed from lib/argz_.h.
60373         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
60374         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
60375         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
60376         byteswap_.h.
60377         * lib/dirent.in.h: Renamed from lib/dirent_.h.
60378         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
60379         dirent_.h.
60380         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
60381         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
60382         fcntl_.h.
60383         * lib/float.in.h: Renamed from lib/float_.h.
60384         * modules/float (Files, Makefile.am): Use float.in.h instead of
60385         float_.h.
60386         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
60387         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
60388         fnmatch_.h.
60389         * lib/getopt.in.h: Renamed from lib/getopt_.h.
60390         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
60391         getopt_.h.
60392         * lib/glob.in.h: Renamed from lib/glob_.h.
60393         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
60394         * lib/iconv.in.h: Renamed from lib/iconv_.h.
60395         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
60396         iconv_.h.
60397         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
60398         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
60399         inttypes_.h.
60400         * lib/locale.in.h: Renamed from lib/locale_.h.
60401         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
60402         locale_.h.
60403         * lib/math.in.h: Renamed from lib/math_.h.
60404         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
60405         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
60406         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
60407         of netinet_in_.h. Add dependency.
60408         * lib/poll.in.h: Renamed from lib/poll_.h.
60409         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
60410         * lib/search.in.h: Renamed from lib/search_.h.
60411         * modules/search (Files, Makefile.am): Use search.in.h instead of
60412         search_.h.
60413         * lib/signal.in.h: Renamed from lib/signal_.h.
60414         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
60415         _signal.h.
60416         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
60417         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
60418         stdbool_.h.
60419         * lib/stdint.in.h: Renamed from lib/stdint_.h.
60420         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
60421         stdint_.h.
60422         * lib/stdio.in.h: Renamed from lib/stdio_.h.
60423         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
60424         stdio_.h.
60425         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60426         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
60427         stdlib_.h.
60428         * lib/string.in.h: Renamed from lib/string_.h.
60429         * modules/string (Files, Makefile.am): Use string.in.h instead of
60430         string_.h.
60431         * doc/gnulib-tool.texi (Initial import): Update.
60432         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
60433         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
60434         of sys_select_.h. Add dependency.
60435         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
60436         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
60437         of sys_socket_.h.
60438         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
60439         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
60440         sys_stat_.h.
60441         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
60442         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
60443         sys_time_.h.
60444         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
60445         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
60446         sysexits_.h.
60447         * lib/time.in.h: Renamed from lib/time_.h.
60448         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
60449         * lib/unistd.in.h: Renamed from lib/unistd_.h.
60450         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
60451         unistd_.h.
60452         * lib/wchar.in.h: Renamed from lib/wchar_.h.
60453         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
60454         wchar_.h.
60455         * lib/wctype.in.h: Renamed from lib/wctype_.h.
60456         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
60457         wctype_.h.
60458         * build-aux/bootstrap (slurp): Update.
60459         * lib/.cppi-disable: Update.
60460
60461 2007-09-30  Bruno Haible  <bruno@clisp.org>
60462
60463         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
60464         Needed on BeOS.
60465
60466 2007-09-30  Bruno Haible  <bruno@clisp.org>
60467
60468         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
60469
60470 2007-09-29  Bruno Haible  <bruno@clisp.org>
60471
60472         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
60473
60474 2007-09-29  Bruno Haible  <bruno@clisp.org>
60475
60476         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
60477         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
60478         * build-aux/install-reloc: Compile also areadlink.c.
60479         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
60480
60481 2007-09-29  Bruno Haible  <bruno@clisp.org>
60482
60483         * gnulib-tool (func_emit_initmacro_done): Indentation.
60484
60485 2007-09-29  Bruno Haible  <bruno@clisp.org>
60486
60487         * README: Add CVS checkout update instructions.
60488         Info from Bob Proulx <bob@proulx.com>.
60489
60490 2007-09-28  Eric Blake  <ebb9@byu.net>
60491
60492         Provide move-if-change.
60493         * build-aux/move-if-change: New file, based on best practice
60494         rather than any canonical upstream location.
60495
60496 2007-09-28  Jim Meyering  <jim@meyering.net>
60497
60498         Fix canonicalize loop-detection corner case.
60499         Do not attempt to stat the symlink values stored via seen_triple.
60500         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
60501         on linux-2.6.18, (but not 2.6.22).
60502         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
60503         triple_compare.  The former compares dev,ino,filename, while the latter
60504         would actually stat dirname(filename) when dev and ino were equal.
60505         * lib/hash-triple.c: Install <string.h>.
60506         (STREQ): Define.
60507         (triple_compare_ino_str): New function.
60508         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
60509
60510 2007-09-28  Eric Blake  <ebb9@byu.net>
60511
60512         Enforce that AC_REPLACE_FUNCS files exist.
60513         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
60514         override check for typos.
60515
60516         Fix test-closein on Solaris 10.
60517         * tests/test-closein.c (main): Don't assume stdin can be inherited
60518         closed on all systems.
60519         * tests/test-closein.sh: Likewise.
60520         Reported by Piotr Tarnowski.
60521
60522 2007-09-28  Jim Meyering  <jim@meyering.net>
60523
60524         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
60525
60526 2007-09-27  Jim Meyering  <jim@meyering.net>
60527
60528         canonicalize: Avoid a false-positive cycle failure.
60529         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
60530         Sort.  Remove cycle-check.
60531         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
60532         not cycle-check.h.
60533         (seen_triple): New function.
60534         (canonicalize_filename_mode): Use it instead of cycle-check.
60535         * tests/test-canonicalize.c: Add a test for this bug.
60536         * tests/test-canonicalize.sh: Set up and run the test.
60537
60538         New module, file-set, from coreutils.
60539         * modules/file-set: Define it.
60540         * lib/file-set.c, lib/file-set.h: Implement.
60541
60542         New module, hash-triple, from coreutils.
60543         * modules/hash-triple: Define it.
60544         * lib/hash-triple.c, lib/hash-triple.h: Implement.
60545
60546 2007-09-25  Eric Blake  <ebb9@byu.net>
60547
60548         Fix strerror on Interix.
60549         * lib/string_.h (strerror): Declare replacement.
60550         * doc/functions/strerror.texi (strerror): Document the Interix
60551         shortcoming.
60552         * modules/string (Makefile.am): Support new hooks.
60553         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
60554         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
60555         gl_FUNC_STRERROR_SEPARATE.
60556         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
60557         * lib/strerror.c (rpl_strerror): Provide replacement.
60558         * modules/strerror (Depends-on): Add string.
60559         (configure.ac): Detect use of module.
60560         * tests/test-strerror.c: New file.
60561         * modules/strerror-tests: New test module.
60562         * modules/argp (Depends-on): Add strerror.
60563         * modules/error (Depends-on): Likewise.
60564         Reported by Martin Koeppe.
60565
60566 2007-09-24  Bruno Haible  <bruno@clisp.org>
60567
60568         * README: Update git instructions.
60569
60570 2007-09-24  Eric Blake  <ebb9@byu.net>
60571
60572         Revert fpending breakage from 2007-09-08.
60573         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
60574         __fpending.c.
60575
60576 2007-09-24  Jim Meyering  <jim@meyering.net>
60577
60578         filenamecat.c: Add a test.
60579         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
60580         showing how the function works when DIR is the empty string.
60581
60582 2007-09-21  Simon Josefsson  <simon@josefsson.org>
60583
60584         * tests/test-canonicalize.sh: Turn on executable bit.
60585
60586 2007-09-19  Eric Blake  <ebb9@byu.net>
60587
60588         * README: Update CVS instructions.
60589
60590 2007-09-18  Bruno Haible  <bruno@clisp.org>
60591
60592         * modules/areadlink: New file.
60593         * lib/areadlink.h (areadlink): New declaration.
60594         * lib/areadlink.c: New file, based on lib/xreadlink.c.
60595
60596 2007-09-17  Jim Meyering  <jim@meyering.net>
60597
60598         * lib/savewd.c (ESTALE) [!defined]: Define.
60599         Reported to be required on Interix by Martin Koeppe.
60600
60601 2007-09-17  Bruno Haible  <bruno@clisp.org>
60602
60603         * gnulib-tool (func_version): Use $version.
60604
60605 2007-09-16  Bruno Haible  <bruno@clisp.org>
60606
60607         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
60608         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
60609         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
60610         Reported by Greg Schafer <gschafer@zip.com.au>.
60611
60612 2007-09-15  Bruno Haible  <bruno@clisp.org>
60613
60614         * gnulib-tool (sed): Try a little harder to make bash understand the
60615         alias.
60616         Reported by Bruce Korb <bruce.korb@gmail.com>.
60617
60618 2007-09-13  Eric Blake  <ebb9@byu.net>
60619
60620         * ChangeLog: Remove conflict markers.
60621
60622 2007-09-13  Simon Josefsson  <simon@josefsson.org>
60623
60624         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
60625         Reported by Bruno Haible <bruno@clisp.org>.
60626
60627 2007-09-12  Bruno Haible  <bruno@clisp.org>
60628
60629         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
60630         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
60631         is not defined.
60632
60633 2007-09-12  Eric Blake  <ebb9@byu.net>
60634
60635         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
60636         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
60637         Autoconf definition.
60638         * modules/euidaccess (Depends-on): Add extensions, for
60639         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
60640         * modules/fnmatch (Depends-on): Likewise.
60641         * modules/getaddrinfo (Depends-on): Likewise.
60642         * modules/getdelim (Depends-on): Likewise.
60643         * modules/getline (Depends-on): Likewise.
60644         * modules/getsubopt (Depends-on): Likewise.
60645         * modules/gettext (Depends-on): Likewise.
60646         * modules/group-member (Depends-on): Likewise.
60647         * modules/mbchar (Depends-on): Likewise.
60648         * modules/memmem (Depends-on): Likewise.
60649         * modules/mempcpy (Depends-on): Likewise.
60650         * modules/memrchr (Depends-on): Likewise.
60651         * modules/pagealign_alloc (Depends-on): Likewise.
60652         * modules/readutmp (Depends-on): Likewise.
60653         * modules/stpcpy (Depends-on): Likewise.
60654         * modules/stpncpy (Depends-on): Likewise.
60655         * modules/strchrnul (Depends-on): Likewise.
60656         * modules/strndup (Depends-on): Likewise.
60657         * modules/strsep (Depends-on): Likewise.
60658         * modules/strverscmp (Depends-on): Likewise.
60659         * modules/vasprintf (Depends-on): Likewise.
60660         * modules/wcwidth (Depends-on): Likewise.
60661         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
60662         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
60663         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
60664         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
60665         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60666         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60667         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
60668         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60669         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
60670         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
60671         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60672         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
60673         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
60674         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
60675         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
60676         * m4/readutmp.m4 (gl_READUTMP): Likewise.
60677         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60678         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
60679         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60680         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
60681         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60682         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
60683         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
60684         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
60685         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
60686         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60687         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
60688         so that lock.m4 can be used in gettext without extensions module.
60689
60690 2007-09-11  Bruno Haible  <bruno@clisp.org>
60691
60692         * m4/isc-posix.m4: Remove file.
60693         Suggested by Eric Blake.
60694
60695 2007-09-11  Eric Blake  <ebb9@byu.net>
60696
60697         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
60698
60699 2007-09-10  Bruno Haible  <bruno@clisp.org>
60700
60701         * posix-modules: Fix typo in error message.
60702         Reported by Matt <mkraai@beckman.com>.
60703
60704 2007-09-09  Bruno Haible  <bruno@clisp.org>
60705
60706         * doc/functions/getdelim.texi: Update list of platforms lacking the
60707         function.
60708         * doc/functions/getline.texi: Likewise.
60709
60710 2007-09-09  Jim Meyering  <jim@meyering.net>
60711
60712         * lib/hash.c (hash_initialize): Detect calloc failure.
60713         Reported by Bruno Haible.
60714
60715 2007-09-09  Bruno Haible  <bruno@clisp.org>
60716
60717         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
60718         malloc or realloc fails.
60719
60720 2007-09-09  Bruno Haible  <bruno@clisp.org>
60721
60722         * modules/getcwd (Depends-on): Add malloc-posix.
60723         * modules/glob (Depends-on): Likewise.
60724         * modules/putenv (Depends-on): Likewise.
60725         * modules/strdup (Depends-on): Likewise.
60726         * modules/getdelim (Depends-on): Add realloc-posix.
60727         * modules/read-file (Depends-on): Likewise.
60728
60729 2007-09-09  Bruno Haible  <bruno@clisp.org>
60730
60731         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
60732         (gl_FUNC_MALLOC_POSIX): Require it.
60733         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
60734         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
60735         * modules/realloc (Files): Add m4/malloc.m4.
60736         * modules/calloc (Files): Likewise.
60737
60738 2007-09-09  Bruno Haible  <bruno@clisp.org>
60739
60740         * modules/malloc-posix: New file.
60741         * modules/malloc (Depends-on): Add malloc-posix.
60742         * lib/malloc.c: Include errno.h.
60743         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
60744         and a POSIX-compatible malloc into a single function. Set ENOMEM
60745         when returning NULL.
60746         * m4/malloc.m4: New file.
60747         * doc/functions/malloc.texi: Mention the malloc-posix module.
60748         * lib/stdlib_.h (malloc): New declaration.
60749         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60750         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
60751         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
60752         and HAVE_MALLOC_POSIX.
60753
60754 2007-09-09  Bruno Haible  <bruno@clisp.org>
60755
60756         * modules/realloc-posix: New file.
60757         * modules/realloc (Depends-on): Add realloc-posix.
60758         * lib/realloc.c: Include errno.h.
60759         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
60760         and a POSIX-compatible realloc into a single function. Set ENOMEM
60761         when returning NULL.
60762         * m4/realloc.m4: New file.
60763         * doc/functions/realloc.texi: Mention the realloc-posix module.
60764         * lib/stdlib_.h (realloc): New declaration.
60765         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60766         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
60767         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
60768         and HAVE_REALLOC_POSIX.
60769
60770 2007-09-09  Bruno Haible  <bruno@clisp.org>
60771
60772         * modules/calloc-posix: New file.
60773         * modules/calloc (Depends-on): Add calloc-posix.
60774         * lib/calloc.c: Include errno.h.
60775         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
60776         and a POSIX-compatible calloc into a single function. Set ENOMEM
60777         when returning NULL.
60778         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
60779         * doc/functions/calloc.texi: Mention the calloc-posix module.
60780         * lib/stdlib_.h (calloc): New declaration.
60781         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60782         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
60783         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
60784         and HAVE_CALLOC_POSIX.
60785
60786 2007-09-09  Bruno Haible  <bruno@clisp.org>
60787
60788         Allow for modules to show an arbitrary notice.
60789         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
60790         * gnulib-tool: New option --extract-notice.
60791         (func_usage): Document it.
60792         (sed_extract_prog): Update.
60793         (func_get_notice): New function.
60794         (func_modules_notice): New function.
60795         (func_import, func_create_testdir): Invoke it.
60796         Suggested by Jim Meyering.
60797
60798 2007-09-09  Bruno Haible  <bruno@clisp.org>
60799
60800         * gnulib-tool: New options --verbose, --quiet.
60801         (func_usage): Document them.
60802         (verbose): New variable.
60803         (func_execute_command): New function.
60804         (func_import): Don't show the module list and the file list if
60805         $verbose < 0.
60806         (func_create_testdir): Likewise. Use func_execute_command.
60807         (func_create_megatestdir): Use func_execute_command.
60808
60809 2007-09-08  Bruno Haible  <bruno@clisp.org>
60810
60811         * gnulib-tool (func_import): Prefer rsync over wget when available,
60812         for fetching the PO files.
60813
60814 2007-09-08  Bruno Haible  <bruno@clisp.org>
60815
60816         * posix-modules: New file. Portions copied from gnulib-tool.
60817         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
60818
60819 2007-09-08  Jim Meyering  <jim@meyering.net>
60820
60821         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
60822         * lib/fpending.h: Rename from __fpending.h.
60823         * lib/fpending.c: Rename from __fpending.c.
60824         Include "fpending.h", not "__fpending.h".
60825         * lib/__fpending.h, lib/__fpending.c: Remove files.
60826         * modules/fpending (Files): Reflect new file names.
60827         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
60828
60829 2007-09-08  Bruno Haible  <bruno@clisp.org>
60830
60831         * m4/inttypes-h.m4: Remove stub file.
60832
60833 2007-09-07  Simon Josefsson  <simon@josefsson.org>
60834
60835         * doc/headers/stdint.texi: Discuss #include_next issue.
60836
60837 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60838
60839         * build-aux/bootstrap: Remove obsolete comment about wget --help.
60840
60841 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60842
60843         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
60844         in variable name.
60845
60846 2007-09-03  Jim Meyering  <jim@meyering.net>
60847
60848         New module: git-version-gen.
60849         * modules/git-version-gen: New file.
60850
60851         Import changes from coreutils for bootstrap script.
60852
60853         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
60854
60855         bootstrap: uses rsync to download the .po files
60856         * build-aux/bootstrap (po_download_command_format): New global.
60857         (download_po_files): Use rsync.
60858         (update_po_files): Don't remove .po files after download,
60859         so future rsync runs can take advantage of the copies.
60860
60861         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
60862
60863         Solve the unnecessary-.po-file-regeneration problem once and for all.
60864         * build-aux/bootstrap (download_po_files): New function, renamed from
60865         get_translations.  Now, downloads, but doesn't update LINGUAS.
60866         (update_po_files): New function.
60867
60868         bootstrap: Ignore more.
60869         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
60870         uniwidth to e.g., lib/.gitignore.
60871         (slurp): Handle the sys_stat_.h -> sys mapping, too.
60872
60873         * build-aux/bootstrap: New setting: vc_ignore.
60874         (insert_sorted_if_absent): Create $file if absent.
60875         Adapt to new, possibly empty, list: $vc_ignore.
60876
60877         bootstrap: generate more ignorable names
60878         * build-aux/bootstrap (slurp): When generating ignorable names,
60879         also map .sin to .sed, .gperf to .c, and .y to .c.
60880
60881 2007-09-03  Jim Meyering  <jim@meyering.net>
60882
60883         * build-aux/git-version-gen: New file, from coreutils.  For details, see
60884         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
60885
60886 2007-09-02  Bruno Haible  <bruno@clisp.org>
60887
60888         Fix mis-recognition of 'mcs' on QNX 6.
60889         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
60890         output contains the string "Mono".
60891         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
60892         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
60893
60894 2007-09-01  Bruno Haible  <bruno@clisp.org>
60895
60896         Fix collision between uniwidth/* and linebreak modules.
60897         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
60898         u32_width): Remove declarations.
60899         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
60900         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
60901         streq3, streq2, streq1, streq0): Remove functions.
60902         (STREQ): Remove macro.
60903         (is_cjk_encoding): Remove function.
60904         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
60905         (uc_width, u8_width, u16_width, u32_width): Remove functions.
60906         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
60907         * NEWS: Document the change.
60908
60909 2007-09-01  Bruno Haible  <bruno@clisp.org>
60910
60911         * lib/streq.h: Add double-inclusion guard.
60912
60913 2007-09-01  Karl Berry  <karl@gnu.org>
60914
60915         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
60916
60917 2007-08-28  Jim Meyering  <jim@meyering.net>
60918
60919         Rename mreadlink_with_size to areadlink_with_size.
60920         * NEWS: Document the change.
60921         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
60922         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
60923         * lib/mreadlink.h: Rename this to...
60924         * lib/areadlink.h: ...this.
60925         * modules/mreadlink-with-size: Rename this to...
60926         * modules/areadlink-with-size: ...this.
60927         * lib/canonicalize.c: Reflect the renaming.
60928         * modules/canonicalize: Likewise.
60929
60930 2007-08-26  Bruno Haible  <bruno@clisp.org>
60931
60932         * gnulib-tool (func_import): When deciding which files to remove,
60933         consider also dangling symbolic links.
60934         Reported by Eric Blake.
60935
60936 2007-08-26  Bruno Haible  <bruno@clisp.org>
60937
60938         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
60939
60940 2007-08-23  Simon Josefsson  <simon@josefsson.org>
60941
60942         * lib/readline.c: Don't include getline.h, the prototype is now
60943         found in stdio.h.
60944
60945 2007-08-23  Jim Meyering  <jim@meyering.net>
60946
60947         Getdelim touchup.
60948         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
60949         around the funlockfile call, since funlockfile never sets errno.
60950         Don't set errno upon failed realloc.
60951
60952 2007-08-22  Eric Blake  <ebb9@byu.net>
60953
60954         Getline touchups.
60955         * lib/getdelim.c (getdelim): Revert regression that required *n to
60956         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
60957         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
60958         getdelim, rather than whether implementation is missing.
60959         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
60960         * lib/stdio_.h (getline): Also declare if replacement is
60961         required.
60962         * doc/functions/getdelim.texi: New file.
60963         * doc/functions/getline.texi: Likewise.
60964         * doc/gnulib.texi (Function Substitutes): Add new files.
60965         Reported by Bruno Haible.
60966
60967 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
60968
60969         * users.txt: Add Guile.
60970
60971 2007-08-22  Eric Blake  <ebb9@byu.net>
60972
60973         * tests/test-getdelim.c (main): Use remove, not unlink.
60974         * tests/test-getline.c (main): Likewise.
60975
60976         Move getline and getdelim into stdio.h, per POSIX 200x.
60977         * modules/getline (Files): Remove getline.h.
60978         (Depends-on): Add stdio.
60979         (configure.ac): Add module indicator.
60980         * modules/getdelim (Files): Remove getdelim.h.
60981         (Depends-on): Add stdio.
60982         (configure.ac): Add module indicator.
60983         * modules/stdio (Makefile.am): Work with new indicators.
60984         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
60985         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
60986         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60987         * lib/getdelim.h: Delete.
60988         * lib/getline.h: Delete.
60989         * lib/stdio_.h (getdelim, getline): Declare.
60990         * modules/getdelim-tests: New module.
60991         * modules/getline-tests: Likewise.
60992         * tests/test-getdelim.c: New file.
60993         * tests/test-getline.c: Likewise.
60994         * NEWS: Document the change.
60995         * lib/getline.c: Update choice of header.
60996         * lib/csharpcomp.c: Likewise.
60997         * lib/getpass.c: Likewise.
60998         * lib/javacomp.c: Likewise.
60999         * lib/javaversion.c: Likewise.
61000         * lib/yesno.c: Likewise.
61001         * lib/getdelim.c: Likewise.
61002         (getdelim): Set errno on failure, and avoid memory leak.
61003
61004 2007-08-19  Bruno Haible  <bruno@clisp.org>
61005
61006         * modules/closein (Depends-on): Add freadahead.
61007         * lib/closein.c: Include freadahead.h.
61008         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61009         is zero.
61010
61011 2007-08-19  Bruno Haible  <bruno@clisp.org>
61012
61013         * modules/freadahead-tests: New file.
61014         * tests/test-freadahead.sh: New file.
61015         * tests/test-freadahead.c: New file.
61016
61017         * modules/freadahead: New file.
61018         * lib/freadahead.h: New file.
61019         * lib/freadahead.c: New file.
61020         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61021         fbufmode, fpurge, freadable, fwritable.
61022
61023 2007-08-19  Eric Blake  <ebb9@byu.net>
61024
61025         Test yesno in combination with closein.
61026         * lib/yesno.c (yesno): Document use of stdin.
61027         * modules/yesno-tests (Files): New module.
61028         * tests/test-yesno.c (main): New file.
61029         * tests/test-yesno.sh: Likewise.
61030
61031 2007-08-19  Bruno Haible  <bruno@clisp.org>
61032
61033         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61034         * lib/fseeko.c (rpl_fseeko): Likewise.
61035         * lib/fseterr.c (fseterr): Likewise.
61036
61037 2007-08-19  Bruno Haible  <bruno@clisp.org>
61038
61039         * tests/test-lseek.c (main): Disable a test for BeOS.
61040         * doc/functions/lseek.texi: Document the BeOS bug.
61041
61042 2007-08-19  Bruno Haible  <bruno@clisp.org>
61043             Eric Blake  <ebb9@byu.net>
61044
61045         * lib/lseek.c: Include <sys/stat.h>.
61046         (rpl_lseek): Add workaround code also for Unix platforms.
61047         Needed for BeOS.
61048         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61049         * doc/functions/lseek.texi: Document BeOS definiency.
61050
61051 2007-08-18  Bruno Haible  <bruno@clisp.org>
61052
61053         * modules/fstrcmp-tests: New file.
61054         * tests/test-fstrcmp.c: New file.
61055
61056 2007-08-18  Bruno Haible  <bruno@clisp.org>
61057
61058         * modules/fstrcmp: New file, from GNU gettext with modifications.
61059         * lib/fstrcmp.h: New file, from GNU gettext.
61060         * lib/fstrcmp.c: New file, from GNU gettext.
61061         * MODULES.html.sh (String handling): Add fstrcmp.
61062
61063 2007-08-18  Bruno Haible  <bruno@clisp.org>
61064
61065         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61066         'bool'.
61067         (diag, compareseq): Remove const from the ctxt argument.
61068         (USE_HEURISTIC): Undefine at the end.
61069
61070 2007-08-18  Jim Meyering  <jim@meyering.net>
61071
61072         New file: lib/idcache.h
61073         * NEWS: Mention the addition.
61074         * modules/idcache (Files): Add lib/idcache.h
61075         * lib/idcache.c: Include "idcache.h".
61076         Don't include <sys/types.h>.
61077         Add a FIXME comment.
61078         Move file-scoped "static" declarations to the top.
61079         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61080
61081 2007-08-17  Bruno Haible  <bruno@clisp.org>
61082         and Paul Eggert  <eggert@cs.ucla.edu>
61083
61084         * MODULES.html.sh: Add diffseq.
61085         * modules/diffseq: New file.
61086         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61087         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61088
61089 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61090
61091         Import changes from coreutils for bootstrap script.
61092
61093         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61094
61095         * build-aux/bootstrap (slurp): Work even in environments where
61096         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61097         current code does not slurp files whose names start with ".", and
61098         this looks like it might be a troublesome area.
61099
61100         2007-07-11  Jim Meyering  <jim@meyering.net>
61101
61102         If there's a GPL vN copyright comment, require that N == 3.
61103
61104         2007-07-08  Jim Meyering  <jim@meyering.net>
61105
61106         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61107         * build-aux/bootstrap (mam_template): Move definition out of loop.
61108
61109         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61110
61111         * build-aux/bootstrap (symlink_to_dir): Rename function from
61112         symlink_to_gnulib.  Add a directory parameter.  Update all
61113         callers.
61114         (cp_mark_as_generated): Also check for -- and link to -- files in
61115         gl/.
61116
61117         2007-07-08  Jim Meyering  <jim@meyering.net>
61118
61119         Adapt to deeper hierarchy in gnulib.
61120         * build-aux/bootstrap (symlink_to_dir): If the destination
61121         directory doesn't exist, create it. This is required at least for
61122         "lib/uniwidth/cjk.h".
61123
61124         2007-05-15  Jim Meyering  <jim@meyering.net>
61125
61126         * build-aux/bootstrap: Now that generated Makefile.am files
61127         are no longer under version control, they must be created at
61128         bootstrap time.
61129
61130 2007-08-14  Ben Pfaff  <blp@gnu.org>
61131
61132         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61133
61134 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61135
61136         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61137         given the changes below.
61138         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61139         even on hosts that have padding bits beyond the supported 64.
61140
61141 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61142
61143         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61144         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61145         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61146         depends on it.
61147         (xstrtol_error): Remove.
61148         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61149         but with a different signature.
61150         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61151         * lib/xstrtol-error.c: Include exitfail.h.
61152         (xstrtol_fatal): New function, with a different signature from the
61153         old xstrtol_error, so that the caller need not worry about passing
61154         in an exit status, or about storage management of the option argument.
61155         (xstrtol_error): Now a static function.  Redo signature to
61156         implement xstrtol_fatal.  Output the correct number of hyphens in
61157         front of the option so that the caller need not worry about
61158         storage management.
61159         (N_): New macro.
61160         (_): Remove; not used now.
61161         * modules/xstrtol: Depend on getopt.
61162         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61163         of old STRTOL_FATAL_ERROR macro.
61164         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61165         of test program.
61166         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61167         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61168
61169 2007-08-08  Eric Blake  <ebb9@byu.net>
61170
61171         * lib/xstrtol-error.c: Add missing include.
61172
61173         Move xstrtol messages into gnulib domain, when --pobase is used.
61174         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61175         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61176         * modules/xstrtol (Files): Distribute new file.
61177         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61178         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61179         * tests/test-xstrtol.c: ...into new file.
61180         * tests/test-xstrtoul.c: Also test xstrtoul.
61181         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61182         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61183         * tests/test-xstrtol.sh: Drive the tests.
61184         * tests/test-xstrtoimax.sh: Likewise.
61185         * tests/test-xstrtoumax.sh: Likewise.
61186         * modules/xstrtol-tests: New module.
61187         * modules/xstrtoimax-tests: Likewise.
61188         * modules/xstrtoumax-tests: Likewise.
61189
61190 2007-08-08  Jim Meyering  <jim@meyering.net>
61191
61192         New function: mfile_name_concat.
61193         * lib/filenamecat.c (mfile_name_concat): New function, just like
61194         file_name_concat, but return NULL upon failure rather than exiting
61195         with a diagnostic.
61196         * lib/filenamecat.h: Declare it.
61197
61198 2007-08-07  Bruno Haible  <bruno@clisp.org>
61199
61200         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61201         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61202         warning from gcc.
61203         Reported by Eric Blake.
61204
61205 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61206
61207         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61208         * modules/crypto/arcfour (License): Likewise.
61209         * modules/crypto/des-tests (License): Likewise.
61210         * modules/crypto/gc-arctwo-tests (License): Likewise.
61211         * modules/crypto/gc-des-tests (License): Likewise.
61212         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61213         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61214         * modules/crypto/gc-md2-tests (License): Likewise.
61215         * modules/crypto/gc-md4-tests (License): Likewise.
61216         * modules/crypto/gc-md5-tests (License): Likewise.
61217         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61218         * modules/crypto/gc-rijndael-tests (License): Likewise.
61219         * modules/crypto/gc-sha1-tests (License): Likewise.
61220         * modules/crypto/gc-tests (License): Likewise.
61221         * modules/crypto/hmac-md5 (License): Likewise.
61222         * modules/crypto/hmac-sha1 (License): Likewise.
61223         * modules/crypto/md2-tests (License): Likewise.
61224         * modules/crypto/md4-tests (License): Likewise.
61225         * modules/crypto/md5 (License): Likewise.
61226         * modules/crypto/rijndael (License): Likewise.
61227         * modules/crypto/sha1 (License): Likewise.
61228         * modules/memxor (License): Likewise.
61229
61230 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61231         and Bruno Haible  <bruno@clisp.org>
61232
61233         * NEWS: Describe interface changes to human, xstrtol.
61234         * lib/human.h: Include <xstrtol.h>.
61235         (human_options): Return enum strtol_error, not int.  Remove
61236         bool arg; take int * instead.
61237         * lib/human.c: Don't include "gettext.h".
61238         (_): Remove; no longer used.
61239         Don't include <xstrtol.h>, since human.h does it.
61240         (human_options): Adjust to abovementioned interface changes.
61241         Do not report error to stderr; that's now the caller's
61242         responsibility.
61243         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61244         interface change.
61245         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61246         Str, Argument_type_string.  All uses changed.  Put " argument"
61247         in diagnostics to make them clearer.  Change wording of suffix
61248         message for clarity.
61249         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61250         Argument_type_string.
61251         (STRTOL_FATAL_WARN): Remove; no longer used.
61252         * modules/human (Depends-on): Remove gettext-h.
61253
61254 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61255
61256         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61257
61258 2007-07-31  Bruno Haible  <bruno@clisp.org>
61259
61260         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61261         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61262         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61263
61264 2007-07-31  Bruno Haible  <bruno@clisp.org>
61265
61266         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61267         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61268
61269 2007-07-30  Bruno Haible  <bruno@clisp.org>
61270
61271         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61272         * modules/c-ctype (License): Likewise.
61273         * modules/c-strcase (License): Likewise.
61274         * modules/check-version (License): Likewise.
61275         * modules/iconv (License): Likewise.
61276         * modules/iconv_open (License): Likewise.
61277         * modules/read-file (License): Likewise.
61278         * modules/striconv (License): Likewise.
61279         * modules/strverscmp (License): Likewise.
61280         * modules/vasprintf (License): Likewise.
61281         * modules/crypto/des (License): Likewise.
61282         * modules/crypto/gc (License): Likewise.
61283         * modules/crypto/gc-arcfour (License): Likewise.
61284         * modules/crypto/gc-arctwo (License): Likewise.
61285         * modules/crypto/gc-des (License): Likewise.
61286         * modules/crypto/gc-hmac-md5 (License): Likewise.
61287         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61288         * modules/crypto/gc-md2 (License): Likewise.
61289         * modules/crypto/gc-md4 (License): Likewise.
61290         * modules/crypto/gc-md5 (License): Likewise.
61291         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61292         * modules/crypto/gc-random (License): Likewise.
61293         * modules/crypto/gc-rijndael (License): Likewise.
61294         * modules/crypto/gc-sha1 (License): Likewise.
61295         * modules/crypto/md2 (License): Likewise.
61296         * modules/crypto/md4 (License): Likewise.
61297
61298 2007-07-30  Jim Meyering  <jim@meyering.net>
61299
61300         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61301         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61302         it has valid stat data.  This bug would cause du not to count the
61303         sizes of inaccessible directories.
61304         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61305         in <http://bugzilla.redhat.com/250077>.
61306
61307 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61308             Bruno Haible  <bruno@clisp.org>
61309
61310         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61311         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61312         #include_next, gives a diagnostic about it, but reports no error in
61313         the exit code.
61314         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61315
61316 2007-07-24  Ben Pfaff  <blp@gnu.org>
61317
61318         Improve name: "count-one-bits" is better than "popcount".
61319         * MODULES.html.sh: Update name.
61320         * lib/popcount.h: Renamed lib/count-one-bits.h.
61321         (popcount): Renamed count_one_bits.
61322         (popcountl): Renamed count_one_bits_l.
61323         (popcountll): Renamed count_one_bits_ll.
61324         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
61325         * modules/popcount: Renamed module/count-one-bits.
61326         * modules/popcount-tests: Renamed module/count-one-bits-tests.
61327         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
61328
61329 2007-07-23  Ben Pfaff  <blp@gnu.org>
61330
61331         * lib/popcount.h (popcount32): Reduce size of constants, to allow
61332         better code generation, and add U to large constants to avoid
61333         warnings, in non-GCC case.
61334         Suggested by Bruno Haible.
61335
61336 2007-07-23  Ben Pfaff  <blp@gnu.org>
61337
61338         * lib/popcount.h: Use verify_true instead of if...abort.
61339         * modules/popcount: Depend on verify module.
61340         Suggested by Jim Meyering.
61341
61342 2007-07-23  Bruno Haible  <bruno@clisp.org>
61343
61344         * gnulib-tool (func_import): Create a .cvsignore file also when the
61345         directory is not yet in CVS but the toplevel directory is. When
61346         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61347         Reported by Karl Berry.
61348
61349 2007-07-22  Ben Pfaff  <blp@gnu.org>
61350
61351         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61352         case.
61353         Suggested by Eric Blake.
61354
61355 2007-07-22  Ben Pfaff  <blp@gnu.org>
61356
61357         New module: popcount.
61358         * MODULES.html.sh: Add popcount.
61359         * modules/popcount: New file.
61360         * modules/popcount-tests: New file.
61361         * tests/test-popcount.c: New file.
61362         * lib/popcount.h: New file.
61363         * m4/popcount.m4: New file.
61364
61365 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61366
61367         * build-aux/announce-gen: Update to GPLv3.
61368
61369         * build-aux/config.guess: Update from config.
61370
61371 2007-07-21  Bruno Haible  <bruno@clisp.org>
61372
61373         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
61374         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
61375
61376 2007-07-20  Jim Meyering  <jim@meyering.net>
61377
61378         * check-module: Diagnose a self-dependency.
61379
61380 2007-07-19  Bruno Haible  <bruno@clisp.org>
61381
61382         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
61383         empty.
61384         Reported by Eric Blake.
61385
61386 2007-07-18  Bruno Haible  <bruno@clisp.org>
61387
61388         * gnulib-tool: New options --po-base, --po-domain.
61389         (func_usage): Document them.
61390         (pobase, po_domain): New variables.
61391         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
61392         DEFAULT_TEXT_DOMAIN.
61393         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
61394         (func_import): Consider pobase and po_domain. Create a po/ directory.
61395         (func_create_testdir): Set pobase and po_domain to empty.
61396         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
61397         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
61398
61399 2007-07-18  Bruno Haible  <bruno@clisp.org>
61400
61401         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61402         EXTRA_DIST augmentation for files in build-aux/.
61403
61404 2007-07-16  Bruno Haible  <bruno@clisp.org>
61405
61406         * modules/lseek (License): Use the synonymous term "LGPLv2+".
61407         * modules/getdelim (License): Likewise.
61408
61409 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61410
61411         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
61412         * modules/d-type (License): Likewise.
61413         * modules/extensions (License): Likewise.
61414         * modules/fnmatch (License): Likewise.
61415         * modules/fseeko (License): Likewise.
61416         * modules/getaddrinfo (License): Likewise.
61417         * modules/getline (License): Likewise.
61418         * modules/getlogin_r (License): Likewise.
61419         * modules/getpass (License): Likewise.
61420         * modules/gettimeofday (License): Likewise.
61421         * modules/glob (License): Likewise.
61422         * modules/inet_ntop (License): Likewise.
61423         * modules/malloc (License): Likewise.
61424         * modules/malloca (License): Likewise.
61425         * modules/memmem (License): Likewise.
61426         * modules/mempcpy (License): Likewise.
61427         * modules/memset (License): Likewise.
61428         * modules/minmax (License): Likewise.
61429         * modules/mktime (License): Likewise.
61430         * modules/netinet_in (License): Likewise.
61431         * modules/pathmax (License): Likewise.
61432         * modules/poll (License): Likewise.
61433         * modules/regex (License): Likewise.
61434         * modules/snprintf (License): Likewise.
61435         * modules/stdbool (License): Likewise.
61436         * modules/stdint (License): Likewise.
61437         * modules/stdio (License): Likewise.
61438         * modules/strcase (License): Likewise.
61439         * modules/strcasestr (License): Likewise.
61440         * modules/strdup (License): Likewise.
61441         * modules/string (License): Likewise.
61442         * modules/strndup (License): Likewise.
61443         * modules/strnlen (License): Likewise.
61444         * modules/strpbrk (License): Likewise.
61445         * modules/strptime (License): Likewise.
61446         * modules/strsep (License): Likewise.
61447         * modules/sys_select (License): Likewise.
61448         * modules/sys_socket (License): Likewise.
61449         * modules/sys_stat (License): Likewise.
61450         * modules/sys_time (License): Likewise.
61451         * modules/time (License): Likewise.
61452         * modules/time_r (License): Likewise.
61453         * modules/timegm (License): Likewise.
61454         * modules/unistd (License): Likewise.
61455         * modules/vsnprintf (License): Likewise.
61456         * modules/wctype (License): Likewise.
61457
61458 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61459
61460         * modules/argz (License): LGPLv2+.
61461
61462 2007-07-15  Karl Berry  <karl@gnu.org>
61463
61464         * doc/gnulib.texi: revise node structure per new fdl.texi.
61465
61466 2007-07-14  Bruno Haible  <bruno@clisp.org>
61467
61468         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
61469         the output file.
61470         * lib/uniname/uninames.h: Regenerated.
61471
61472 2007-07-14  Karl Berry  <karl@gnu.org>
61473
61474         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
61475         omitting sectioning and index commands.
61476
61477 2007-07-13  Bruno Haible  <bruno@clisp.org>
61478
61479         New gnulib-tool option --more-symlinks.
61480         * gnulib-tool (func_usage): Document --more-symlinks.
61481         (do_copyrights): New variable.
61482         Recognize option --more-symlinks.
61483         (func_import): Don't add a copyright notice transform to
61484         sed_transform_lib_file if do_copyrights is empty.
61485
61486 2007-07-13  Bruno Haible  <bruno@clisp.org>
61487
61488         * lib/vasnprintf.c (decimal_point_char): Define also if
61489         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
61490         && !NEED_PRINTF_DIRECTIVE_A.
61491         Reported by Clemens Koller <clemens.koller@anagramm.de> via
61492         Gary V. Vaughan <gary@gnu.org>.
61493
61494 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
61495
61496         * lib/inttypes_.h: Undo previous change, since it was fixed
61497         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
61498
61499 2007-07-13  Bruno Haible  <bruno@clisp.org>
61500
61501         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
61502         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
61503
61504 2007-07-13  Jim Meyering  <jim@meyering.net>
61505
61506         df: Don't fail for Tru64's "file-on-file mount".
61507         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
61508         so we fall through and use statfs instead.  Details here:
61509         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
61510         Reported by Albert Chin.
61511
61512 2007-07-13  Bruno Haible  <bruno@clisp.org>
61513
61514         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
61515         * modules/configmake (License): Likewise.
61516         * modules/gettext (License): Likewise.
61517         * modules/gettext-h (License): Likewise.
61518         * modules/include_next (License): Likewise.
61519         * modules/link-warning (License): Likewise.
61520         * modules/localcharset (License): Likewise.
61521         * modules/localename (License): Likewise.
61522         * modules/lock (License): Likewise.
61523         * modules/relocatable-lib-lgpl (License): Likewise.
61524         * modules/size_max (License): Likewise.
61525         * modules/vasnprintf (License): Likewise.
61526         * modules/wchar (License): Likewise.
61527         * modules/xsize (License): Likewise.
61528
61529 2007-07-13  Bruno Haible  <bruno@clisp.org>
61530
61531         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
61532         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
61533
61534 2007-07-12  Bruno Haible  <bruno@clisp.org>
61535
61536         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
61537         in the modules files.
61538
61539 2007-07-11  Karl Berry  <karl@gnu.org>
61540
61541         * MODULES.html.sh (func_module): use
61542          sed -e '\|^'"${includefile}"'$|d'
61543          instead of /.../d, to avoid errors on $includefile's containing /.
61544
61545 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61546
61547         * gnulib-tool (func_import): Avoid duplication of --avoid
61548         statements
61549         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
61550         names to `_' in variable names.
61551
61552 2007-07-10  Eric Blake  <ebb9@byu.net>
61553
61554         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
61555         * NEWS: Document this change.
61556
61557 2007-07-08  Bruno Haible  <bruno@clisp.org>
61558
61559         Update to Unicode 5.0.
61560         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
61561         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
61562         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
61563         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
61564         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
61565         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
61566         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
61567         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
61568         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
61569         U+10A3F, U+1D242..U+1D244.
61570         (nonspacing_table_ind): Update.
61571         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
61572         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
61573
61574 2007-07-08  Bruno Haible  <bruno@clisp.org>
61575
61576         Update to Unicode 5.0.
61577         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
61578         code transform. Extend the name index field of unicode_name_to_code and
61579         unicode_code_to_name from 16 to 24 bits.
61580         * lib/uniname/uniname.c (unicode_character_name,
61581         unicode_name_character): Add the range 0x12xxx to the code transform.
61582         * lib/uniname/uninames.h: Regenerated.
61583         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
61584
61585 2007-07-07  Bruno Haible  <bruno@clisp.org>
61586
61587         * modules/wcwidth-tests: New file.
61588         * tests/test-wcwidth.c: New file.
61589
61590         Work around MacOS X wcwidth() bug.
61591         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
61592         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
61593         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
61594         original wcwidth in non-UTF-8 locales.
61595         * modules/wcwidth (Depends-on): Add localcharset, streq,
61596         uniwidth/width.
61597         * doc/functions/wcwidth.texi: Update.
61598
61599 2007-07-07  Bruno Haible  <bruno@clisp.org>
61600
61601         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
61602         (wcwidth): New declaration.
61603         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
61604         macros.
61605         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
61606         here. Prepare for creating <wchar.h> unconditionally.
61607         * modules/wchar (Depends-on): Add link-warning.
61608         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
61609         REPLACE_WCWIDTH, and GL_LINK_WARNING.
61610         * lib/wcwidth.h: Remove file.
61611         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
61612         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
61613         * modules/wcwidth (Files): Remove lib/wcwidth.h.
61614         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
61615         (Include): Replace wcwidth.h with <wchar.h>.
61616         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
61617         * lib/mbchar.h: Don't include wcwidth.h.
61618         * lib/mbswidth.c: Likewise.
61619         * NEWS: Mention the change.
61620
61621 2007-07-07  Bruno Haible  <bruno@clisp.org>
61622
61623         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
61624         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
61625         definition with an external declaration.
61626         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
61627         defined as a function. Remove AC_C_INLINE requirement.
61628         * modules/wcwidth (Files): Add lib/wcwidth.c.
61629         (Makefile.am): Remove redundant statement.
61630
61631 2007-07-07  Bruno Haible  <bruno@clisp.org>
61632
61633         * MODULES.html.sh (Unicode string functions): Add the new modules.
61634
61635         * tests/uniwidth/test-u32-strwidth.c: New file.
61636         * modules/uniwidth/u32-strwidth-tests: New file.
61637
61638         * lib/uniwidth/u32-strwidth.c: New file.
61639         * modules/uniwidth/u32-strwidth: New file.
61640
61641         * tests/uniwidth/test-u16-strwidth.c: New file.
61642         * modules/uniwidth/u16-strwidth-tests: New file.
61643
61644         * lib/uniwidth/u16-strwidth.c: New file.
61645         * modules/uniwidth/u16-strwidth: New file.
61646
61647         * tests/uniwidth/test-u8-strwidth.c: New file.
61648         * modules/uniwidth/u8-strwidth-tests: New file.
61649
61650         * lib/uniwidth/u8-strwidth.c: New file.
61651         * modules/uniwidth/u8-strwidth: New file.
61652
61653         * tests/uniwidth/test-u32-width.c: New file.
61654         * modules/uniwidth/u32-width-tests: New file.
61655
61656         * lib/uniwidth/u32-width.c: New file.
61657         * modules/uniwidth/u32-width: New file.
61658
61659         * tests/uniwidth/test-u16-width.c: New file.
61660         * modules/uniwidth/u16-width-tests: New file.
61661
61662         * lib/uniwidth/u16-width.c: New file.
61663         * modules/uniwidth/u16-width: New file.
61664
61665         * tests/uniwidth/test-u8-width.c: New file.
61666         * modules/uniwidth/u8-width-tests: New file.
61667
61668         * lib/uniwidth/u8-width.c: New file.
61669         * modules/uniwidth/u8-width: New file.
61670
61671         * tests/uniwidth/test-uc_width.c: New file.
61672         * modules/uniwidth/width-tests: New file.
61673
61674         * lib/uniwidth/width.c: New file, from GNU libiconv.
61675         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
61676         * modules/uniwidth/width: New file.
61677
61678         * lib/uniwidth.h: New file, from GNU libiconv.
61679         * modules/uniwidth/base: New file.
61680
61681 2007-07-07  Bruno Haible  <bruno@clisp.org>
61682
61683         * lib/uniname.h: New file, from GNU gettext.
61684         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
61685         * lib/uniname/uninames.h: New file, from GNU gettext.
61686         * lib/uniname/uniname.c: New file, from GNU gettext.
61687         * tests/uniname/test-uninames.sh: New file.
61688         * tests/uniname/test-uninames.c: New file, from GNU gettext.
61689         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
61690         * modules/uniname/base: New file.
61691         * modules/uniname/uniname: New file.
61692         * modules/uniname/uniname-tests: New file.
61693         * MODULES.html.sh (Unicode string functions): Add the new modules.
61694
61695 2007-07-06  Bruno Haible  <bruno@clisp.org>
61696
61697         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
61698
61699 2007-07-06  Bruno Haible  <bruno@clisp.org>
61700
61701         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
61702         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
61703         includes <cygwin/sys_time.h> which includes <sys/select.h> which
61704         include <sys/time.h>.
61705         Reported by Eric Blake.
61706
61707 2007-07-06  Eric Blake  <ebb9@byu.net>
61708
61709         Fix testing canonicalize on cygwin.
61710         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61711         Revert patch from 2007-06-19.
61712         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
61713         canonicalize module is also in use.
61714         * tests/test-canonicalize.c: New file.
61715         * tests/test-canonicalize.sh: Likewise.
61716         * modules/canonicalize-tests: Likewise.
61717
61718 2007-07-06  Jim Meyering  <jim@meyering.net>
61719
61720         * lib/getugroups.c (getugroups): Detect getgrent failure.
61721         Adjust comment to reflect reality: this function may return -1.
61722
61723 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
61724
61725         * build-aux/bootstrap (TP_URL,get_translations): Update to use
61726         the new TP address.
61727         (usage): Fix typo
61728         (gnulib_mk): New variable.
61729
61730 2007-07-05  Jim Meyering  <jim@meyering.net>
61731
61732         Don't let endgrent clobber errno, no matter how improbable.
61733         * lib/getugroups.c (getugroups): Save and restore errno around
61734         endgrent call.
61735
61736         Close the group DB even when failing with 2^31 or more members.
61737         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
61738
61739 2007-07-04  Jim Meyering  <jim@meyering.net>
61740
61741         * lib/getugroups.h: New file.
61742         * lib/getugroups.c: Include "getugroups.h".
61743         Remove uses of "register" keyword.
61744         Move local variable, "cp", down into scope where used.
61745         Give "username" parameter the "const" attribute.
61746         * modules/getugroups (Files): Add lib/getugroups.h
61747
61748 2007-07-04  Karl Berry  <karl@gnu.org>
61749
61750         * MODULES.html.sh (func_all_modules): Complete rename of
61751         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
61752
61753 2007-07-02  Bruno Haible  <bruno@clisp.org>
61754
61755         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
61756         mode, when inttypes.h comes from gnulib.
61757         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
61758
61759 2007-07-02  Simon Josefsson  <simon@josefsson.org>
61760
61761         * NEWS: Mention lgpl module name change.
61762
61763         * modules/lgpl-2.1: Renamed from lgpl.
61764
61765         * NEWS: Mention gpl module name change.
61766
61767         * modules/gpl-3.0: New file, based on gpl-2.0.
61768
61769         * modules/gpl-2.0: Renamed from gpl.
61770
61771         * modules/gpl: Fix filename, doc/gpl.texi is now found at
61772         doc/gpl-2.0.texi.
61773
61774 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61775
61776         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
61777         #define __STDC_LIMIT_MACROS temporarily while including
61778         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
61779         Problem reported by Joel E. Denny in
61780         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
61781
61782 2007-07-01  Bruno Haible  <bruno@clisp.org>
61783
61784         * lib/unistdio.h: New file.
61785         * lib/unistdio/u-asnprintf.h: New file.
61786         * lib/unistdio/u-asprintf.h: New file.
61787         * lib/unistdio/u-printf-args.c: New file.
61788         * lib/unistdio/u-printf-args.h: New file.
61789         * lib/unistdio/u-printf-parse.h: New file.
61790         * lib/unistdio/u-snprintf.h: New file.
61791         * lib/unistdio/u-sprintf.h: New file.
61792         * lib/unistdio/u-vasprintf.h: New file.
61793         * lib/unistdio/u-vsnprintf.h: New file.
61794         * lib/unistdio/u-vsprintf.h: New file.
61795         * lib/unistdio/ulc-asnprintf.c: New file.
61796         * lib/unistdio/ulc-asprintf.c: New file.
61797         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
61798         * lib/unistdio/ulc-printf-parse.c: New file.
61799         * lib/unistdio/ulc-snprintf.c: New file.
61800         * lib/unistdio/ulc-sprintf.c: New file.
61801         * lib/unistdio/ulc-vasnprintf.c: New file.
61802         * lib/unistdio/ulc-vasprintf.c: New file.
61803         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
61804         * lib/unistdio/ulc-vsnprintf.c: New file.
61805         * lib/unistdio/ulc-vsprintf.c: New file.
61806         * lib/unistdio/u8-asnprintf.c: New file.
61807         * lib/unistdio/u8-asprintf.c: New file.
61808         * lib/unistdio/u8-printf-parse.c: New file.
61809         * lib/unistdio/u8-snprintf.c: New file.
61810         * lib/unistdio/u8-sprintf.c: New file.
61811         * lib/unistdio/u8-vasnprintf.c: New file.
61812         * lib/unistdio/u8-vasprintf.c: New file.
61813         * lib/unistdio/u8-vsnprintf.c: New file.
61814         * lib/unistdio/u8-vsprintf.c: New file.
61815         * lib/unistdio/u8-u8-asnprintf.c: New file.
61816         * lib/unistdio/u8-u8-asprintf.c: New file.
61817         * lib/unistdio/u8-u8-snprintf.c: New file.
61818         * lib/unistdio/u8-u8-sprintf.c: New file.
61819         * lib/unistdio/u8-u8-vasnprintf.c: New file.
61820         * lib/unistdio/u8-u8-vasprintf.c: New file.
61821         * lib/unistdio/u8-u8-vsnprintf.c: New file.
61822         * lib/unistdio/u8-u8-vsprintf.c: New file.
61823         * lib/unistdio/u16-asnprintf.c: New file.
61824         * lib/unistdio/u16-asprintf.c: New file.
61825         * lib/unistdio/u16-printf-parse.c: New file.
61826         * lib/unistdio/u16-snprintf.c: New file.
61827         * lib/unistdio/u16-sprintf.c: New file.
61828         * lib/unistdio/u16-vasnprintf.c: New file.
61829         * lib/unistdio/u16-vasprintf.c: New file.
61830         * lib/unistdio/u16-vsnprintf.c: New file.
61831         * lib/unistdio/u16-vsprintf.c: New file.
61832         * lib/unistdio/u16-u16-asnprintf.c: New file.
61833         * lib/unistdio/u16-u16-asprintf.c: New file.
61834         * lib/unistdio/u16-u16-snprintf.c: New file.
61835         * lib/unistdio/u16-u16-sprintf.c: New file.
61836         * lib/unistdio/u16-u16-vasnprintf.c: New file.
61837         * lib/unistdio/u16-u16-vasprintf.c: New file.
61838         * lib/unistdio/u16-u16-vsnprintf.c: New file.
61839         * lib/unistdio/u16-u16-vsprintf.c: New file.
61840         * lib/unistdio/u32-asnprintf.c: New file.
61841         * lib/unistdio/u32-asprintf.c: New file.
61842         * lib/unistdio/u32-printf-parse.c: New file.
61843         * lib/unistdio/u32-snprintf.c: New file.
61844         * lib/unistdio/u32-sprintf.c: New file.
61845         * lib/unistdio/u32-vasnprintf.c: New file.
61846         * lib/unistdio/u32-vasprintf.c: New file.
61847         * lib/unistdio/u32-vsnprintf.c: New file.
61848         * lib/unistdio/u32-vsprintf.c: New file.
61849         * lib/unistdio/u32-u32-asnprintf.c: New file.
61850         * lib/unistdio/u32-u32-asprintf.c: New file.
61851         * lib/unistdio/u32-u32-snprintf.c: New file.
61852         * lib/unistdio/u32-u32-sprintf.c: New file.
61853         * lib/unistdio/u32-u32-vasnprintf.c: New file.
61854         * lib/unistdio/u32-u32-vasprintf.c: New file.
61855         * lib/unistdio/u32-u32-vsnprintf.c: New file.
61856         * lib/unistdio/u32-u32-vsprintf.c: New file.
61857         * tests/unistdio/test-ulc-asnprintf1.c: New file.
61858         * tests/unistdio/test-ulc-asnprintf1.h: New file.
61859         * tests/unistdio/test-ulc-printf1.h: New file.
61860         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
61861         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
61862         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
61863         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
61864         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
61865         * tests/unistdio/test-ulc-vasprintf1.c: New file.
61866         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
61867         * tests/unistdio/test-ulc-vsprintf1.c: New file.
61868         * tests/unistdio/test-u8-asnprintf1.c: New file.
61869         * tests/unistdio/test-u8-asnprintf1.h: New file.
61870         * tests/unistdio/test-u8-printf1.h: New file.
61871         * tests/unistdio/test-u8-vasnprintf1.c: New file.
61872         * tests/unistdio/test-u8-vasnprintf2.c: New file.
61873         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
61874         * tests/unistdio/test-u8-vasnprintf3.c: New file.
61875         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
61876         * tests/unistdio/test-u8-vasprintf1.c: New file.
61877         * tests/unistdio/test-u8-vsnprintf1.c: New file.
61878         * tests/unistdio/test-u8-vsprintf1.c: New file.
61879         * tests/unistdio/test-u16-asnprintf1.c: New file.
61880         * tests/unistdio/test-u16-asnprintf1.h: New file.
61881         * tests/unistdio/test-u16-printf1.h: New file.
61882         * tests/unistdio/test-u16-vasnprintf1.c: New file.
61883         * tests/unistdio/test-u16-vasnprintf2.c: New file.
61884         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
61885         * tests/unistdio/test-u16-vasnprintf3.c: New file.
61886         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
61887         * tests/unistdio/test-u16-vasprintf1.c: New file.
61888         * tests/unistdio/test-u16-vsnprintf1.c: New file.
61889         * tests/unistdio/test-u16-vsprintf1.c: New file.
61890         * tests/unistdio/test-u32-asnprintf1.c: New file.
61891         * tests/unistdio/test-u32-asnprintf1.h: New file.
61892         * tests/unistdio/test-u32-printf1.h: New file.
61893         * tests/unistdio/test-u32-vasnprintf1.c: New file.
61894         * tests/unistdio/test-u32-vasnprintf2.c: New file.
61895         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
61896         * tests/unistdio/test-u32-vasnprintf3.c: New file.
61897         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
61898         * tests/unistdio/test-u32-vasprintf1.c: New file.
61899         * tests/unistdio/test-u32-vsnprintf1.c: New file.
61900         * tests/unistdio/test-u32-vsprintf1.c: New file.
61901         * modules/unistdio/base: New file.
61902         * modules/unistdio/u-printf-args: New file.
61903         * modules/unistdio/ulc-asnprintf: New file.
61904         * modules/unistdio/ulc-asprintf: New file.
61905         * modules/unistdio/ulc-fprintf: New file.
61906         * modules/unistdio/ulc-printf-parse: New file.
61907         * modules/unistdio/ulc-snprintf: New file.
61908         * modules/unistdio/ulc-sprintf: New file.
61909         * modules/unistdio/ulc-vasnprintf: New file.
61910         * modules/unistdio/ulc-vasprintf: New file.
61911         * modules/unistdio/ulc-vfprintf: New file.
61912         * modules/unistdio/ulc-vsnprintf: New file.
61913         * modules/unistdio/ulc-vsprintf: New file.
61914         * modules/unistdio/u8-asnprintf: New file.
61915         * modules/unistdio/u8-asprintf: New file.
61916         * modules/unistdio/u8-printf-parse: New file.
61917         * modules/unistdio/u8-snprintf: New file.
61918         * modules/unistdio/u8-sprintf: New file.
61919         * modules/unistdio/u8-vasnprintf: New file.
61920         * modules/unistdio/u8-vasprintf: New file.
61921         * modules/unistdio/u8-vsnprintf: New file.
61922         * modules/unistdio/u8-vsprintf: New file.
61923         * modules/unistdio/u8-u8-asnprintf: New file.
61924         * modules/unistdio/u8-u8-asprintf: New file.
61925         * modules/unistdio/u8-u8-snprintf: New file.
61926         * modules/unistdio/u8-u8-sprintf: New file.
61927         * modules/unistdio/u8-u8-vasnprintf: New file.
61928         * modules/unistdio/u8-u8-vasprintf: New file.
61929         * modules/unistdio/u8-u8-vsnprintf: New file.
61930         * modules/unistdio/u8-u8-vsprintf: New file.
61931         * modules/unistdio/u16-asnprintf: New file.
61932         * modules/unistdio/u16-asprintf: New file.
61933         * modules/unistdio/u16-printf-parse: New file.
61934         * modules/unistdio/u16-snprintf: New file.
61935         * modules/unistdio/u16-sprintf: New file.
61936         * modules/unistdio/u16-vasnprintf: New file.
61937         * modules/unistdio/u16-vasprintf: New file.
61938         * modules/unistdio/u16-vsnprintf: New file.
61939         * modules/unistdio/u16-vsprintf: New file.
61940         * modules/unistdio/u16-u16-asnprintf: New file.
61941         * modules/unistdio/u16-u16-asprintf: New file.
61942         * modules/unistdio/u16-u16-snprintf: New file.
61943         * modules/unistdio/u16-u16-sprintf: New file.
61944         * modules/unistdio/u16-u16-vasnprintf: New file.
61945         * modules/unistdio/u16-u16-vasprintf: New file.
61946         * modules/unistdio/u16-u16-vsnprintf: New file.
61947         * modules/unistdio/u16-u16-vsprintf: New file.
61948         * modules/unistdio/u32-asnprintf: New file.
61949         * modules/unistdio/u32-asprintf: New file.
61950         * modules/unistdio/u32-printf-parse: New file.
61951         * modules/unistdio/u32-snprintf: New file.
61952         * modules/unistdio/u32-sprintf: New file.
61953         * modules/unistdio/u32-vasnprintf: New file.
61954         * modules/unistdio/u32-vasprintf: New file.
61955         * modules/unistdio/u32-vsnprintf: New file.
61956         * modules/unistdio/u32-vsprintf: New file.
61957         * modules/unistdio/u32-u32-asnprintf: New file.
61958         * modules/unistdio/u32-u32-asprintf: New file.
61959         * modules/unistdio/u32-u32-snprintf: New file.
61960         * modules/unistdio/u32-u32-sprintf: New file.
61961         * modules/unistdio/u32-u32-vasnprintf: New file.
61962         * modules/unistdio/u32-u32-vasprintf: New file.
61963         * modules/unistdio/u32-u32-vsnprintf: New file.
61964         * modules/unistdio/u32-u32-vsprintf: New file.
61965         * modules/unistdio/ulc-asnprintf-tests: New file.
61966         * modules/unistdio/ulc-vasnprintf-tests: New file.
61967         * modules/unistdio/ulc-vasprintf-tests: New file.
61968         * modules/unistdio/ulc-vsnprintf-tests: New file.
61969         * modules/unistdio/ulc-vsprintf-tests: New file.
61970         * modules/unistdio/u8-asnprintf-tests: New file.
61971         * modules/unistdio/u8-vasnprintf-tests: New file.
61972         * modules/unistdio/u8-vasprintf-tests: New file.
61973         * modules/unistdio/u8-vsnprintf-tests: New file.
61974         * modules/unistdio/u8-vsprintf-tests: New file.
61975         * modules/unistdio/u16-asnprintf-tests: New file.
61976         * modules/unistdio/u16-vasnprintf-tests: New file.
61977         * modules/unistdio/u16-vasprintf-tests: New file.
61978         * modules/unistdio/u16-vsnprintf-tests: New file.
61979         * modules/unistdio/u16-vsprintf-tests: New file.
61980         * modules/unistdio/u32-asnprintf-tests: New file.
61981         * modules/unistdio/u32-vasnprintf-tests: New file.
61982         * modules/unistdio/u32-vasprintf-tests: New file.
61983         * modules/unistdio/u32-vsnprintf-tests: New file.
61984         * modules/unistdio/u32-vsprintf-tests: New file.
61985         * MODULES.html.sh (Unicode string functions): Add the new modules.
61986
61987 2007-07-01  Bruno Haible  <bruno@clisp.org>
61988
61989         * lib/sprintf.c (sprintf): Limit the available length estimation,
61990         to avoid address wraparound.
61991         * lib/vsprintf.c (vsprintf): Likewise.
61992         * modules/sprintf-posix (Dependencies): Add stdint.
61993         * modules/vsprintf-posix (Dependencies): Likewise.
61994
61995 2007-07-01  Bruno Haible  <bruno@clisp.org>
61996
61997         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
61998         Windows PATH as well. Conservative double-quoting. Comments.
61999
62000 2007-07-01  Bruno Haible  <bruno@clisp.org>
62001             Eric Blake  <ebb9@byu.net>
62002             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62003
62004         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62005         empty components in $PATH, denoting '.'.
62006
62007 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62008
62009         * gnulib-tool: Fix indentation.
62010         (func_create_megatestdir): Likewise.
62011         Report by Bruno Haible.
62012
62013 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62014
62015         Sync from Automake.
62016         * build-aux/gnupload: Fix shell portability issues with for loops.
62017         Report by Karl Berry.
62018
62019 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62020
62021         * build-aux/maint.mk (POURL): Use translationproject.org.
62022
62023 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62024             Bruno Haible  <bruno@clisp.org>
62025
62026         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62027         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62028         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62029         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62030         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62031
62032 2007-06-27  Bruno Haible  <bruno@clisp.org>
62033
62034         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62035         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62036
62037 2007-06-26  Karl Berry  <karl@gnu.org>
62038
62039         * MODULES.html.sh: remove xreadlink-with-size.
62040
62041 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62042
62043         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62044         method that I hope also handles the double-include problem noted
62045         by Bruno Haible in
62046         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62047
62048 2007-06-23  Bruno Haible  <bruno@clisp.org>
62049
62050         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62051         Don't let the 'mostlyclean' target fail if the last subdirectory could
62052         not be removed.
62053         Reported by Karl Berry.
62054
62055 2007-06-23  Bruno Haible  <bruno@clisp.org>
62056
62057         * gnulib-tool (echo): Add a speedier workaround for ksh.
62058         * tests/test-echo.sh: Likewise.
62059
62060 2007-06-23  Bruno Haible  <bruno@clisp.org>
62061
62062         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62063         * tests/test-echo.sh: Likewise.
62064
62065 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62066
62067         * gnulib-tool (IFS): Initialize early, so we don't set it to
62068         empty later.
62069         (self_abspathname): Rewrite algorithm to set it, reindent.
62070         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62071         (func_create_megatestdir): Merge some sed scripts.
62072
62073 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62074
62075         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62076         exposed by Sun Studio 11 cc on Solaris 8.
62077
62078 2007-06-22  Bruno Haible  <bruno@clisp.org>
62079
62080         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62081         backslashes.
62082         * tests/test-echo.sh: New file.
62083
62084 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62085
62086         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62087         simplify `sed_replace_build_aux' scripts, they are portable but
62088         echoing them with `echo' is not.
62089         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62090
62091 2007-06-21  Karl Berry  <karl@gnu.org>
62092
62093         * config/srclist.txt: guess we can't handle the licenses via
62094         srclist at the moment.
62095
62096 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62097
62098         * MODULES.html.sh: Add include_next.
62099         * modules/include_next: New file.
62100
62101 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62102
62103         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62104         INCLUDE_NEXT.
62105         (gl_CHECK_NEXT_HEADERS): New macro.
62106         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62107         the obsolescent gl_ABSOLUTE_HEADER.
62108         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62109         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62110         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62111         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62112         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62113         * m4/math_h.m4 (gl_MATH_H): Likewise.
62114         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62115         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62116         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62117         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62118         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62119         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62120         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62121         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62122         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62123         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62124         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62125         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62126         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62127         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62128         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62129         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62130         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62131         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62132         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62133         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62134         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62135         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62136         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62137         * lib/float_.h: Likewise.
62138         * lib/inttypes_.h: Likewise.
62139         * lib/math_.h: Likewise.
62140         * lib/search_.h: Likewise.
62141         * lib/signal_.h: Likewise.
62142         * lib/stdint_.h: Likewise.
62143         * lib/stdio_.h: Likewise.
62144         * lib/stdlib_.h: Likewise.
62145         * lib/string_.h: Likewise.
62146         * lib/sys_stat_.h: Likewise.
62147         * lib/sys_time_.h: Likewise.
62148         * lib/time_.h: Likewise.
62149         * lib/unistd_.h: Likewise.
62150         * lib/wchar_.h: Likewise.
62151         * lib/wctype_.h: Likewise.
62152         * lib/dirent_.h: Likewise.
62153         * lib/iconv_.h: Likewise.
62154         * lib/locale_.h: Likewise.
62155         * lib/netinet_in_.h: Likewise.
62156         * lib/sys_select_.h: Likewise.
62157         * lib/sys_socket_.h: Likewise.
62158         * lib/sysexits_.h: Likewise.
62159         * modules/fcntl (Depends-on): Depend on include_next, not
62160         absolute_header.
62161         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62162         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62163         * modules/fchdir: Likewise.
62164         * modules/float: Likewise.
62165         * modules/iconv_open: Likewise.
62166         * modules/inttypes: Likewise.
62167         * modules/locale: Likewise.
62168         * modules/math: Likewise.
62169         * modules/netinet_in: Likewise.
62170         * modules/search: Likewise.
62171         * modules/signal: Likewise.
62172         * modules/stdint: Likewise.
62173         * modules/stdio: Likewise.
62174         * modules/stdlib: Likewise.
62175         * modules/string: Likewise.
62176         * modules/sys_select: Likewise.
62177         * modules/sys_socket: Likewise.
62178         * modules/sys_stat: Likewise.
62179         * modules/sys_time: Likewise.
62180         * modules/sysexits: Likewise.
62181         * modules/time: Likewise.
62182         * modules/unistd: Likewise.
62183         * modules/wchar: Likewise.
62184         * modules/wctype: Likewise.
62185         * modules/sys_stat: Change maintainer to "all".
62186         * modules/unistd: Likewise.
62187
62188 2007-06-20  Karl Berry  <karl@gnu.org>
62189
62190         * config/srclist.txt: track www changes in license files.
62191
62192 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62193
62194         * build-aux/bootstrap: Remove stray dot.
62195         Make sure build_aux settings are honored when linking
62196         gnulib_extra_files.
62197
62198 2007-06-19  Eric Blake  <ebb9@byu.net>
62199
62200         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62201         Allow compilation on cygwin.
62202
62203 2007-06-19  Jim Meyering  <jim@meyering.net>
62204
62205         xreadlink-with-size: Remove module.  No longer used.
62206         Ex-callers now use xreadlink or mreadlink-with-size.
62207         * modules/xreadlink-with-size: Remove module.
62208         * lib/xreadlink-with-size.c: Remove file.
62209         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62210         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62211         just before the function definition *is* accurate.
62212
62213         Eliminate one way canonicalize_filename_mode could exit.
62214         * lib/canonicalize.c (canonicalize_filename_mode):
62215         Use mreadlink_with_size, not xreadlink_with_size.
62216
62217 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62218
62219         Detect porting problems to FreeBSD/arm, which has time_t wider than
62220         long int.  Original problem reported for GNU diff by Xin Li in
62221         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62222         * modules/getdate (Depends-on): Add intprops, verify.
62223         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62224         is an integer type no wider than long int.
62225
62226 2007-06-18  Jim Meyering  <jim@meyering.net>
62227
62228         New module: mreadlink-with-size.
62229         * MODULES.html.sh: Add mreadlink-with-size.
62230         * modules/mreadlink-with-size: New module
62231         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62232         not xreadlink-with-size.
62233         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62234
62235 2007-06-16  Bruno Haible  <bruno@clisp.org>
62236
62237         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62238         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62239         Reported by Gary V. Vaughan <gary@gnu.org>.
62240
62241 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62242
62243         Revamp lchown so that it lives in unistd.h where it belongs.
62244         * lib/lchown.h: Remove.
62245         * lib/dirchownmod.c: Don't include lib/lchown.h.
62246         * lib/fchownat.c: Likewise.
62247         * lib/openat.c: Likewise.
62248         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62249         does not follow symlinks.
62250         (EOPNOTSUPP): Define if not defined.
62251         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62252         is defined to 0.
62253         (lchown): New decl.
62254         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62255         Do not check for lchown decl.
62256         Set REPLACE_LCHOWN.
62257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62258         REPLACE_LCHOWN.
62259         * modules/chown: Make it clear it follows symlinks.
62260         * modules/lchown: Make it clear it doesn't follow symlinks.
62261         (Files): Remove lib/lchown.h
62262         (Depends-on): Add unistd.
62263         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62264         (Include): Include <unistd.h>, not "lchown.h".
62265         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62266         REPLACE_LCHOWN.
62267
62268 2007-06-15  Jim Meyering  <jim@meyering.net>
62269
62270         Change license (GPL to LGPL) of fsusage and dependents.
62271         * modules/fsusage (License): Change to LGPL.
62272         * modules/full-read (License): Likewise.
62273         * modules/full-write (License): Likewise.
62274         * modules/safe-read (License): Likewise.
62275         * modules/safe-write (License): Likewise.
62276
62277 2007-06-14  Ben Pfaff  <blp@gnu.org>
62278
62279         Missing part of allocsa -> malloca transition.
62280         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62281         gl_MALLOCA.
62282
62283 2007-06-12  Bruno Haible  <bruno@clisp.org>
62284
62285         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62286         to ia64, x86_64, i386.
62287         Reported by Eric Blake.
62288
62289 2007-06-12  Bruno Haible  <bruno@clisp.org>
62290
62291         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62292         cross-compiling to x86_64.
62293
62294 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62295
62296         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62297         glitch reported by Ralf Wildenhues in
62298         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62299
62300         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62301         Vin Shelton.
62302
62303 2007-06-11  Bruno Haible  <bruno@clisp.org>
62304
62305         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62306         replacement string.
62307         Reported by Eric Blake.
62308
62309 2007-06-10  Bruno Haible  <bruno@clisp.org>
62310
62311         Prepare vasnprintf code for use with Unicode strings.
62312         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62313         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62314         TYPE_U32_STRING.
62315         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62316         a_u32_string variants.
62317         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62318         * lib/printf-args.c: Don't include config.h and the specification
62319         header if PRINTF_FETCHARGS is already defined.
62320         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62321         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
62322         TYPE_U16_STRING, TYPE_U32_STRING.
62323         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
62324         u16_directive, u16_directives, u32_directive, u32_directives): New
62325         types.
62326         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
62327         New declarations.
62328         * lib/printf-parse.c: Don't include config.h and the specification
62329         header if PRINTF_PARSE is already defined. Eliminate the set of
62330         parameters for WIDE_CHAR_VERSION; the user of this file must provide
62331         them now. Include c-ctype.h.
62332         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
62333         directive and CHAR_T_ONLY_ASCII.
62334         * lib/vasnprintf.c: Don't include config.h and the specification header
62335         if VASNPRINTF is already defined.
62336         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62337         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62338         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62339         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62340         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62341         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62342         code accordingly.
62343         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62344         pad_ourselves also in this case, with the 'c' and 's' directives, and
62345         with a different notion of "width".
62346         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62347
62348 2007-06-10  Bruno Haible  <bruno@clisp.org>
62349
62350         * modules/unistr/u32-mbsnlen: New file.
62351         * lib/unistr/u32-mbsnlen.c: New file.
62352
62353         * modules/unistr/u16-mbsnlen: New file.
62354         * lib/unistr/u16-mbsnlen.c: New file.
62355
62356         * modules/unistr/u8-mbsnlen: New file.
62357         * lib/unistr/u8-mbsnlen.c: New file.
62358
62359         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
62360         declarations.
62361
62362 2007-06-10  Bruno Haible  <bruno@clisp.org>
62363
62364         * lib/string_.h (mbsnlen): New declaration.
62365         * lib/mbsnlen.c: New file.
62366         * m4/mbsnlen.m4: New file.
62367         * modules/mbsnlen: New file.
62368         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
62369         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
62370         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
62371
62372 2007-06-10  Bruno Haible  <bruno@clisp.org>
62373
62374         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
62375
62376 2007-06-10  Bruno Haible  <bruno@clisp.org>
62377
62378         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
62379         * lib/mbuiter.h: Likewise.
62380
62381 2007-06-10  Bruno Haible  <bruno@clisp.org>
62382
62383         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
62384         declaration.
62385
62386 2007-06-10  Karl Berry  <karl@gnu.org>
62387
62388         * config/srclist.txt: remove gettext entries, Bruno prefers
62389         to update individually.
62390
62391 2007-06-10  Bruno Haible  <bruno@clisp.org>
62392
62393         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
62394         'maxlen'. Ensure only length + width bytes are allocated, not
62395         length + 1 + width.
62396
62397 2007-06-09  Bruno Haible  <bruno@clisp.org>
62398
62399         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
62400         (CHAR_T): Remove macro.
62401         (VASNPRINTF): Update.
62402
62403 2007-06-09  Bruno Haible  <bruno@clisp.org>
62404
62405         * MODULES.html.sh (Unicode string functions): Add the new modules.
62406
62407         * modules/uniconv/u32-conv-to-enc: New file.
62408         * lib/uniconv/u32-conv-to-enc.c: New file.
62409         * modules/uniconv/u32-conv-to-enc-tests: New file.
62410         * tests/uniconv/test-u32-conv-to-enc.c: New file.
62411
62412         * modules/uniconv/u16-conv-to-enc: New file.
62413         * lib/uniconv/u16-conv-to-enc.c: New file.
62414         * lib/uniconv/u-conv-to-enc.h: New file.
62415         * modules/uniconv/u16-conv-to-enc-tests: New file.
62416         * tests/uniconv/test-u16-conv-to-enc.c: New file.
62417
62418         * modules/uniconv/u8-conv-to-enc: New file.
62419         * lib/uniconv/u8-conv-to-enc.c: New file.
62420         * modules/uniconv/u8-conv-to-enc-tests: New file.
62421         * tests/uniconv/test-u8-conv-to-enc.c: New file.
62422
62423         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62424         u32_conv_to_encoding): New declarations.
62425
62426 2007-06-09  Bruno Haible  <bruno@clisp.org>
62427
62428         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
62429
62430 2007-06-09  Bruno Haible  <bruno@clisp.org>
62431
62432         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
62433         * modules/malloca: Renamed from modules/allocsa, updated.
62434         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
62435         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
62436         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
62437         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
62438         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
62439         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
62440         * modules/xmalloca: Renamed from modules/xallocsa, updated.
62441         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
62442         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
62443         * modules/c-strcasestr (Depends-on): Update.
62444         * lib/c-strcasestr.c: Update.
62445         * modules/c-strstr (Depends-on): Update.
62446         * lib/c-strstr.c: Update.
62447         * modules/canonicalize-lgpl (Depends-on): Update.
62448         * lib/canonicalize-lgpl.c: Update.
62449         * modules/clean-temp (Depends-on): Update.
62450         * lib/clean-temp.c: Update.
62451         * modules/csharpcomp (Depends-on): Update.
62452         * lib/csharpcomp.c: Update.
62453         * modules/csharpexec (Depends-on): Update.
62454         * lib/csharpexec.c: Update.
62455         * modules/javacomp (Depends-on): Update.
62456         * lib/javacomp.c: Update.
62457         * modules/javaexec (Depends-on): Update.
62458         * lib/javaexec.c: Update.
62459         * modules/mbscasestr (Depends-on): Update.
62460         * lib/mbscasestr.c: Update.
62461         * modules/mbsstr (Depends-on): Update.
62462         * lib/mbsstr.c: Update.
62463         * modules/setenv (Depends-on): Update.
62464         * lib/setenv.c: Update.
62465         * modules/strcasestr (Depends-on): Update.
62466         * lib/strcasestr.c: Update.
62467         * modules/striconveha (Depends-on): Update.
62468         * lib/striconveha.c: Update.
62469         * modules/relocatable-prog-wrapper (Files): Update.
62470         * lib/relocwrapper.c: Update.
62471         * build-aux/install-reloc: Update.
62472         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
62473
62474 2007-06-08  Bruno Haible  <bruno@clisp.org>
62475
62476         Port to uClibc.
62477         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
62478         * lib/fpurge.c (fpurge): Likewise.
62479         * lib/freading.c (freading): Likewise.
62480         * lib/fseeko.c (rpl_fseeko): Likewise.
62481         * lib/fseterr.c (fseterr): Likewise.
62482         * lib/fwriting.c (fwriting): Likewise.
62483         * tests/test-fflush.c (main): Avoid a failure on uClibc.
62484
62485 2007-06-08  Bruno Haible  <bruno@clisp.org>
62486
62487         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
62488         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
62489         * modules/gettext (Files): Add m4/intlmacosx.m4.
62490
62491 2007-06-07  Bruno Haible  <bruno@clisp.org>
62492
62493         * modules/localename-tests: New file.
62494         * tests/test-localename.c: New file.
62495
62496         New module 'localename'.
62497         * lib/localename.h: New file.
62498         * lib/localename.c: New file, from GNU gettext.
62499         * m4/localename.m4: New file.
62500         * modules/localename: New file.
62501
62502 2007-06-07  Bruno Haible  <bruno@clisp.org>
62503
62504         Work around the lack of <wchar.h> on some builds of uClibc.
62505         * doc/headers/wchar.texi: Update.
62506         * lib/wchar_.h: Include <wchar.h> only if it exists.
62507         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
62508         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
62509         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
62510         doesn't exist.
62511         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
62512         * modules/mbfile (Depends-on): Add wchar.
62513         * modules/mbiter (Depends-on): Likewise.
62514         * modules/mbuiter (Depends-on): Likewise.
62515         Reported by Simon Josefsson.
62516
62517 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
62518
62519         Work around problem reported by Steven M. Schweda in
62520         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
62521         Tru64 5.1B with the Compaq compiler environment installed declares
62522         an 'isblank' function but does not define it in the C library.
62523         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
62524         * lib/regex_internal.h (isblank): Likewise.
62525         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
62526         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62527
62528 2007-06-05  Bruno Haible  <bruno@clisp.org>
62529
62530         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
62531         ia64.
62532         * modules/printf-safe: New file.
62533         * modules/fprintf-posix (Depends-on): Add printf-safe.
62534         * modules/printf-posix (Depends-on): Likewise.
62535         * modules/snprintf-posix (Depends-on): Likewise.
62536         * modules/sprintf-posix (Depends-on): Likewise.
62537         * modules/vasnprintf-posix (Depends-on): Likewise.
62538         * modules/vasprintf-posix (Depends-on): Likewise.
62539         * modules/vfprintf-posix (Depends-on): Likewise.
62540         * modules/vprintf-posix (Depends-on): Likewise.
62541         * modules/vsnprintf-posix (Depends-on): Likewise.
62542         * modules/vsprintf-posix (Depends-on): Likewise.
62543         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
62544         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
62545         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
62546         "no" on i386, x86_64, ia64.
62547         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
62548         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62549         on i386, x86_64, ia64.
62550         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
62551         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62552         on i386, x86_64, ia64.
62553         * tests/test-vasnprintf-posix.c: Include float.h.
62554         (LDBL80_WORDS): New macro.
62555         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62556         on i386, x86_64, ia64.
62557         * tests/test-vasprintf-posix.c: Include float.h.
62558         (LDBL80_WORDS): New macro.
62559         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62560         on i386, x86_64, ia64.
62561         * tests/test-snprintf-posix.c: Include float.h.
62562         * tests/test-sprintf-posix.c: Likewise.
62563         * tests/test-vsnprintf-posix.c: Likewise.
62564         * tests/test-vsprintf-posix.c: Likewise.
62565
62566 2007-06-05  Bruno Haible  <bruno@clisp.org>
62567
62568         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
62569         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
62570         non-IEEE numbers on i386, x86_64, ia64.
62571         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
62572         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
62573         * tests/test-isnanl.h: Include float.h.
62574         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
62575
62576 2007-06-05  Bruno Haible  <bruno@clisp.org>
62577
62578         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
62579         also the %a / %A. Handle the %a / %A code before this extra handling.
62580
62581 2007-06-05  Bruno Haible  <bruno@clisp.org>
62582
62583         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
62584         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
62585
62586 2007-06-05  Bruno Haible  <bruno@clisp.org>
62587
62588         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
62589         typo in variable name.
62590
62591 2007-06-05  Eric Blake  <ebb9@byu.net>
62592
62593         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
62594         Reported by Simon Josefsson.
62595
62596 2007-06-04  Bruno Haible  <bruno@clisp.org>
62597
62598         Avoid test failures on some PowerPC platforms.
62599         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
62600         Define differently for PowerPC.
62601         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
62602         Reported by Gary V. Vaughan <gary@gnu.org>.
62603
62604 2007-06-02  Bruno Haible  <bruno@clisp.org>
62605
62606         Fix test-stdint failure on FreeBSD/ia64.
62607         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
62608         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
62609         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
62610         * doc/headers/stdint.texi: Update.
62611
62612 2007-06-01  Bruno Haible  <bruno@clisp.org>
62613
62614         * tests/test-binary-io.c (main): Pass a third argument to open().
62615         Reported by Gary V. Vaughan <gary@gnu.org>.
62616
62617 2007-06-01  Bruno Haible  <bruno@clisp.org>
62618
62619         * doc/functions/frexpl.texi: Update for mingw.
62620
62621 2007-06-01  Bruno Haible  <bruno@clisp.org>
62622
62623         * tests/test-lseek.c (main): Disable test of errno for invalid third
62624         argument.
62625         * doc/functions/lseek.texi: Update.
62626         Reported by Gary V. Vaughan <gary@gnu.org>.
62627
62628 2007-05-28  Bruno Haible  <bruno@clisp.org>
62629
62630         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
62631
62632 2007-05-31  Eric Blake  <ebb9@byu.net>
62633
62634         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
62635         cross compiling.
62636
62637 2007-05-30  Eric Blake  <ebb9@byu.net>
62638         and Bruno Haible  <bruno@clisp.org>
62639
62640         Work around mingw test failures exposed by m4-1.4.9b.
62641         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
62642         * tests/test-unistd.c: Disable uid_t and git_t tests for the
62643         moment.
62644
62645 2007-05-30  Bruno Haible  <bruno@clisp.org>
62646
62647         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
62648         assuming that they are closed. Needed on HP-UX 11.
62649
62650 2007-05-29  Bruno Haible  <bruno@clisp.org>
62651
62652         Fix a problem with #include_next.
62653         * lib/dirent_.h: Split the double-inclusion guard.
62654         * lib/fcntl_.h: Likewise.
62655         * lib/float_.h: Likewise.
62656         * lib/iconv_.h: Likewise.
62657         * lib/inttypes_.h: Likewise.
62658         * lib/locale_.h: Likewise.
62659         * lib/math_.h: Likewise.
62660         * lib/netinet_in_.h: Likewise.
62661         * lib/search_.h: Likewise.
62662         * lib/signal_.h: Likewise.
62663         * lib/stdint_.h: Likewise.
62664         * lib/stdio_.h: Likewise.
62665         * lib/stdlib_.h: Likewise.
62666         * lib/string_.h: Likewise.
62667         * lib/sys_select_.h: Likewise.
62668         * lib/sys_socket_.h: Likewise.
62669         * lib/sys_stat_.h: Likewise.
62670         * lib/sys_time_.h: Likewise.
62671         * lib/sysexits_.h: Likewise.
62672         * lib/time_.h: Likewise.
62673         * lib/unistd_.h: Likewise.
62674         * lib/wchar_.h: Likewise.
62675         * lib/wctype_.h: Likewise.
62676
62677 2007-05-29  Bruno Haible  <bruno@clisp.org>
62678
62679         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
62680         for the moment.
62681
62682 2007-05-29  Bruno Haible  <bruno@clisp.org>
62683
62684         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
62685         invocation.
62686         Reported by Eric Blake.
62687
62688 2007-05-29  Bruno Haible  <bruno@clisp.org>
62689
62690         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
62691         compiling case.
62692
62693 2007-05-29  Eric Blake  <ebb9@byu.net>
62694             Bruno Haible  <bruno@clisp.org>
62695
62696         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
62697         cross compiles.
62698
62699 2007-05-28  Eric Blake  <ebb9@byu.net>
62700
62701         * modules/closein-tests (test_closein_LDADD): Support test on
62702         cygwin with libtool.
62703
62704 2007-05-28  Bruno Haible  <bruno@clisp.org>
62705
62706         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
62707         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62708         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62709         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62710         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62711         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62712         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62713         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62714         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62715
62716 2007-05-28  Eric Blake  <ebb9@byu.net>
62717
62718         Unconditionally include <config.h> in unit tests.
62719         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
62720         * tests/test-allocsa.c, tests/test-arcfour.c,
62721         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
62722         tests/test-array_list.c, tests/test-array_oset.c,
62723         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
62724         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
62725         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
62726         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
62727         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
62728         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
62729         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
62730         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
62731         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
62732         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
62733         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
62734         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
62735         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
62736         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
62737         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
62738         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
62739         test-md5.c, test-memmem.c, test-printf-posix.c,
62740         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
62741         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
62742         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
62743         test-strcasestr.c, test-striconv.c, test-striconveh.c,
62744         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
62745         test-vasnprintf-posix2.c, test-vasnprintf.c,
62746         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
62747         test-vfprintf-posix.c, test-vprintf-posix.c,
62748         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
62749         test-xvasprintf.c: Likewise.
62750
62751 2007-05-28  Bruno Haible  <bruno@clisp.org>
62752
62753         * gnulib-tool (func_import): Remember the --with-tests command-line
62754         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
62755         Reported by Eric Blake.
62756
62757 2007-05-28  Bruno Haible  <bruno@clisp.org>
62758
62759         * modules/ftell-tests: New file.
62760         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
62761         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
62762
62763         * lib/ftell.c: New file.
62764         * modules/ftell: New file.
62765         * m4/ftell.m4: New file.
62766         * doc/functions/ftell.texi: Update.
62767         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
62768         REPLACE_FTELL.
62769         * lib/stdio_.h (rpl_ftell): New declaration.
62770         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
62771         REPLACE_FTELL.
62772
62773 2007-05-28  Eric Blake  <ebb9@byu.net>
62774
62775         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
62776
62777 2007-05-28  Bruno Haible  <bruno@clisp.org>
62778
62779         * modules/fseek-tests: New file.
62780         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
62781         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
62782
62783         * lib/fseek.c: New file.
62784         * modules/fseek: New file.
62785         * m4/fseek.m4: New file.
62786         * doc/functions/fseek.texi: Update.
62787         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
62788         REPLACE_FSEEK.
62789         * lib/stdio_.h (rpl_fseek): New declaration.
62790         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
62791         REPLACE_FSEEK.
62792
62793 2007-05-28  Bruno Haible  <bruno@clisp.org>
62794
62795         * lib/stdio_.h (fflush): More comments.
62796
62797 2007-05-28  Bruno Haible  <bruno@clisp.org>
62798
62799         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
62800         runtime test.
62801
62802 2007-05-28  Eric Blake  <ebb9@byu.net>
62803
62804         Improve lseek module.
62805         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
62806         * lib/unistd_.h (lseek): Scale back link warning message.
62807         * tests/test-lseek.c: Beef up test.
62808         * tests/test-lseek.sh: Exercise more facets of lseek.
62809         Reported by Bruno Haible.
62810
62811 2007-05-28  Bruno Haible  <bruno@clisp.org>
62812
62813         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
62814         to define.
62815
62816 2007-05-27  Bruno Haible  <bruno@clisp.org>
62817
62818         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
62819
62820 2007-05-27  Bruno Haible  <bruno@clisp.org>
62821
62822         * modules/openmp: New file.
62823         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
62824         Noah Misch.
62825
62826 2007-05-26  Bruno Haible  <bruno@clisp.org>
62827
62828         * modules/chdir-long (Depends-on): Add fchdir.
62829         * modules/chdir-safer (Depends-on): Likewise.
62830         * modules/fts (Depends-on): Likewise.
62831         * modules/fts-lgpl (Depends-on): Likewise.
62832         * modules/openat (Depends-on): Likewise.
62833         * modules/savewd (Depends-on): Likewise.
62834
62835 2007-05-24  Eric Blake  <ebb9@byu.net>
62836
62837         Fix lseek on mingw.
62838         * modules/lseek: New module.
62839         * m4/lseek.m4: New file.
62840         * lib/lseek.c: New file.
62841         * modules/lseek-tests: New file.
62842         * tests/test-lseek.c: New file.
62843         * tests/test-lseek.sh: New file.
62844         * MODULES.html.sh: Document lseek module.
62845         * modules/fflush (Depends-on): Add lseek, fseeko.
62846         * modules/fseeko (Depends-on): Likewise.
62847         * modules/ftello (Depends-on): Likewise.
62848         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
62849         broken.
62850         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
62851         broken.
62852         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
62853         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
62854         * lib/ftello.c (rpl_ftello): Likewise.
62855         * tests/test-fseeko.c (main): Test this.
62856         * tests/test-fseeko.sh: Likewise.
62857         * tests/test-ftello.c (main): Likewise.
62858         * tests/test-ftello.sh: Likewise.
62859         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
62860         implies replacing fseek.
62861         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
62862         HAVE_FTELLO.
62863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
62864         * modules/unistd (Makefile.am): Likewise.
62865         * lib/unistd_.h (lseek): Declare a replacement.
62866         * doc/functions/lseek.texi (lseek): Document this fix.
62867         * doc/functions/fseek.texi (fseek): Likewise.
62868         * doc/functions/ftell.texi (ftell): Likewise.
62869
62870 2007-05-24  Bruno Haible  <bruno@clisp.org>
62871
62872         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
62873         in the printed representation of a NaN.
62874         * tests/test-vasprintf-posix.c (test_function): Likewise.
62875         * tests/test-snprintf-posix.h (test_function): Likewise.
62876         * tests/test-sprintf-posix.h (test_function): Likewise.
62877         Reported by Eric Blake.
62878
62879 2007-05-23  Eric Blake  <ebb9@byu.net>
62880
62881         Fix fseeko/ftello on cygwin 1.5.24.
62882         * doc/functions/fseeko.texi (fseeko): Document the fix.
62883         * doc/functions/ftello.texi (ftello): Document the fix.
62884         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
62885         * doc/functions/stdout.text (stdout): New file.
62886         * doc/functions/stderr.text (stderr): New file.
62887         * doc/gnulib.texi (Function Substitutes): Use new files.
62888         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
62889         prior to 1.7.0.
62890         * tests/test-ftello.c (main): Likewise for ftello.
62891         * tests/test-fseeko.sh: New file.
62892         * tests/test-ftello.sh: New file.
62893         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
62894         with seekable stdin.
62895         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
62896         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
62897         (gl_REPLACE_FSEEKO): New macro.
62898         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
62899         * modules/fseeko (Files): Distribute fseeko.c.
62900         * modules/ftello (Files): Distribute ftello.c.
62901         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
62902         mode.
62903         * lib/ftello.c (rpl_ftello): New file.
62904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
62905         fseeko, ftello.
62906         (gl_STDIN_LARGE_OFFSET): New macro.
62907         * modules/stdio (Makefile.am): Perform the replacement.
62908         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
62909
62910 2007-05-23  Bruno Haible  <bruno@clisp.org>
62911
62912         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
62913         GNULIB_POSIXCHECK is defined.
62914
62915 2007-05-21  Bruno Haible  <bruno@clisp.org>
62916
62917         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
62918         Check also the output for NaN arguments. When cross-compiling, guess
62919         no on IRIX.
62920         * lib/vasnprintf.c: Update comments.
62921         * tests/test-vasnprintf-posix.c (strisnan): New function.
62922         (test_function): Use it.
62923         * tests/test-vasprintf-posix.c (strisnan): New function.
62924         (test_function): Use it.
62925         * tests/test-snprintf-posix.h (strisnan): New function.
62926         (test_function): Use it.
62927         * tests/test-sprintf-posix.h (strisnan): New function.
62928         (test_function): Use it.
62929         Reported by Eric Blake.
62930
62931 2007-05-20  Bruno Haible  <bruno@clisp.org>
62932
62933         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
62934         numbers that fails on BeOS.
62935         * doc/functions/frexpl.texi: Update.
62936
62937 2007-05-20  Jim Meyering  <jim@meyering.net>
62938
62939         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
62940         forced upon us by glibc-2.6.
62941
62942 2007-05-20  Bruno Haible  <bruno@clisp.org>
62943
62944         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
62945         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
62946         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
62947         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
62948         NEED_PRINTF_INFINITE.
62949         (is_infinitel): New function.
62950         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
62951         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
62952         gl_PREREQ_VASNPRINTF_INFINITE.
62953         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
62954         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62955         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
62956         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
62957         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
62958         gl_PREREQ_VASNPRINTF_INFINITE.
62959         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62960         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62961         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62962         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62963         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62964         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62965         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62966         * doc/functions/fprintf.texi: Update.
62967         * doc/functions/printf.texi: Update.
62968         * doc/functions/snprintf.texi: Update.
62969         * doc/functions/sprintf.texi: Update.
62970         * doc/functions/vfprintf.texi: Update.
62971         * doc/functions/vprintf.texi: Update.
62972         * doc/functions/vsnprintf.texi: Update.
62973         * doc/functions/vsprintf.texi: Update.
62974
62975 2007-05-20  Bruno Haible  <bruno@clisp.org>
62976
62977         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
62978         was not found in libc.
62979         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
62980
62981 2007-05-20  Bruno Haible  <bruno@clisp.org>
62982
62983         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62984         printed as "-nan" instead of "nan".
62985         * tests/test-vasprintf-posix.c (test_function): Likewise.
62986         * tests/test-snprintf-posix.h (test_function): Likewise.
62987         * tests/test-sprintf-posix.h (test_function): Likewise.
62988         Needed for HP-UX 11.
62989
62990 2007-05-20  Jim Meyering  <jim@meyering.net>
62991
62992         Fix buggy test for the fchownat-deref bug.
62993         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
62994         symlink required for the run-test.  Without it, this test would
62995         always declare that fchownat doesn't work, and client code would
62996         unnecessarily use the replacement function with fixed libc.
62997         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
62998         Reported by Greg Schafer.
62999
63000 2007-05-19  Bruno Haible  <bruno@clisp.org>
63001
63002         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63003         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63004         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63005         Needed for IRIX 6.5 and Solaris 2.5.1.
63006
63007 2007-05-19  Bruno Haible  <bruno@clisp.org>
63008
63009         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63010         (test_function): Skip tests involving -0.0 on platforms where
63011         -0.0 = 0.0.
63012         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63013         (test_function): Skip tests involving -0.0 on platforms where
63014         -0.0 = 0.0.
63015         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63016         (test_function): Skip tests involving -0.0 on platforms where
63017         -0.0 = 0.0.
63018         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63019         (test_function): Skip tests involving -0.0 on platforms where
63020         -0.0 = 0.0.
63021         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63022         tests.
63023         * tests/test-printf-posix.h (test_function): Likewise.
63024         * tests/test-printf-posix.output: Remove all -0.0 related results.
63025         Needed for IRIX 6.5.
63026
63027 2007-05-19  Bruno Haible  <bruno@clisp.org>
63028
63029         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63030         printed as "nan0x7fffffff" instead of "nan".
63031         * tests/test-vasprintf-posix.c (test_function): Likewise.
63032         * tests/test-snprintf-posix.h (test_function): Likewise.
63033         * tests/test-sprintf-posix.h (test_function): Likewise.
63034         * tests/test-fprintf-posix.h (NaN): Remove macro.
63035         (test_function): Remove all NaN related tests.
63036         * tests/test-printf-posix.h (NaN): Remove macro.
63037         (test_function): Remove all NaN related tests.
63038         * tests/test-printf-posix.output: Remove all NaN related results.
63039         Needed for IRIX 6.5.
63040
63041 2007-05-19  Bruno Haible  <bruno@clisp.org>
63042
63043         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63044         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63045
63046 2007-05-19  Bruno Haible  <bruno@clisp.org>
63047
63048         * lib/float_.h: New file.
63049         * m4/float_h.m4: New file.
63050         * modules/float: New file.
63051         * modules/isnanl (Dependencies): Add float.
63052         * modules/isnanl-nolibm (Dependencies): Likewise.
63053         * modules/mathl (Dependencies): Likewise.
63054         * modules/printf-frexpl (Dependencies): Likewise.
63055         * modules/signbit (Dependencies): Likewise.
63056         * modules/vasnprintf (Dependencies): Likewise.
63057         * doc/headers/float.texi: Update.
63058
63059 2007-05-19  Jim Meyering  <jim@meyering.net>
63060
63061         * lib/utimens.c (gl_futimens): Rename from futimens,
63062         now that glibc-2.6 declares futimens.
63063         * lib/utimens.h: Likewise.
63064
63065 2007-05-19  Bruno Haible  <bruno@clisp.org>
63066
63067         Avoid test failures on mingw.
63068         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63069         * tests/test-printf-posix.sh: Likewise.
63070         * tests/test-vfprintf-posix.sh: Likewise.
63071         * tests/test-vprintf-posix.sh: Likewise.
63072
63073 2007-05-19  Bruno Haible  <bruno@clisp.org>
63074
63075         Fix *printf result for NaN, Inf, -0.0 on mingw.
63076         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63077         * lib/vasnprintf.c: Include math.h and isnan.h.
63078         (is_infinite_or_zero): New function.
63079         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63080         values in the %f, %F, %e, %E, %g, %G directives.
63081         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63082         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63083         gl_PRINTF_INFINITE and test its result. Invoke
63084         gl_PREREQ_VASNPRINTF_INFINITE.
63085         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63086         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63087         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63088         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63089         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63090         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63091         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63092         * doc/functions/fprintf.texi: Update.
63093         * doc/functions/printf.texi: Update.
63094         * doc/functions/snprintf.texi: Update.
63095         * doc/functions/sprintf.texi: Update.
63096         * doc/functions/vfprintf.texi: Update.
63097         * doc/functions/vprintf.texi: Update.
63098         * doc/functions/vsnprintf.texi: Update.
63099         * doc/functions/vsprintf.texi: Update.
63100
63101 2007-05-19  Bruno Haible  <bruno@clisp.org>
63102
63103         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63104         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63105         Instead of multiplying with 10^k, set extra_zeroes to k.
63106         (scale10_round_long_double): Remove function.
63107
63108 2007-05-18  Bruno Haible  <bruno@clisp.org>
63109
63110         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63111         introduced on 2007-05-06.
63112
63113 2007-05-18  Bruno Haible  <bruno@clisp.org>
63114
63115         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63116         %g directives.
63117         * tests/test-vasprintf-posix.c (test_function): Likewise.
63118         * tests/test-snprintf-posix.h (test_function): Likewise.
63119         * tests/test-sprintf-posix.h (test_function): Likewise.
63120
63121 2007-05-18  Bruno Haible  <bruno@clisp.org>
63122
63123         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63124         (strmatch): New function.
63125         (test_function): Test the %f directive on numbers of various exponents.
63126         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63127         (strmatch): New function.
63128         (test_function): Test the %f directive on numbers of various exponents.
63129         * tests/test-snprintf-posix.h (strmatch): New function.
63130         (test_function): Test the %f directive on numbers of various exponents.
63131         * tests/test-sprintf-posix.h (strmatch): New function.
63132         (test_function): Test the %f directive on numbers of various exponents.
63133         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63134         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63135         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63136         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63137
63138 2007-05-18  Bruno Haible  <bruno@clisp.org>
63139
63140         Add support for 'long double' number output.
63141         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63142         * lib/vasnprintf.c: Include math.h and float+.h.
63143         (mp_limb_t): New type.
63144         (GMP_LIMB_BITS): New macro.
63145         (mp_twolimb_t): New type.
63146         (GMP_TWOLIMB_BITS): New macro.
63147         (mpn_t): New type.
63148         (multiply, divide, convert_to_decimal, decode_long_double,
63149         scale10_round_long_double, scale10_round_decimal_long_double,
63150         floorlog10l): New functions.
63151         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63152         for the %f, %F, %e, %E, %g, %G directives.
63153         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63154         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63155         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63156         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63157         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63158         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63159         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63160         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63161         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63162         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63163         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63164         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63165         * modules/snprintf-posix (Depends-on): Likewise.
63166         * modules/sprintf-posix (Depends-on): Likewise.
63167         * modules/vasnprintf-posix (Depends-on): Likewise.
63168         * modules/vasprintf-posix (Depends-on): Likewise.
63169         * modules/vfprintf-posix (Depends-on): Likewise.
63170         * modules/vsnprintf-posix (Depends-on): Likewise.
63171         * modules/vsprintf-posix (Depends-on): Likewise.
63172         * modules/vasnprintf (Files): Add lib/float+.h.
63173         * doc/functions/fprintf.texi: Update.
63174         * doc/functions/printf.texi: Update.
63175         * doc/functions/snprintf.texi: Update.
63176         * doc/functions/sprintf.texi: Update.
63177         * doc/functions/vfprintf.texi: Update.
63178         * doc/functions/vprintf.texi: Update.
63179         * doc/functions/vsnprintf.texi: Update.
63180         * doc/functions/vsprintf.texi: Update.
63181
63182 2007-05-18  Bruno Haible  <bruno@clisp.org>
63183
63184         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63185
63186 2007-05-18  Bruno Haible  <bruno@clisp.org>
63187
63188         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63189         for printing 64-bit integers. Needed for mingw.
63190
63191 2007-05-18  Bruno Haible  <bruno@clisp.org>
63192
63193         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63194         gl_FUNC_FREXPL_WORKS.
63195         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63196
63197 2007-05-18  Bruno Haible  <bruno@clisp.org>
63198
63199         * modules/frexpl-nolibm-tests: New file.
63200
63201         * modules/frexpl-nolibm: New file.
63202         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63203
63204 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63205
63206         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63207         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63208         GCC 4.2, which otherwise issues a lot of warnings.
63209         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63210         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63211         Likewise.
63212         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63213         * modules/iconv_open (iconv.h): Likewise.
63214         * modules/locale (locale.h): Likewise.
63215         * modules/netinet_in (netinet/in.h): Likewise.
63216         * modules/sys_select (sys_select.h): Likewise.
63217         * modules/sys_socket (sys/socket.h): Likewise.
63218         * modules/sys_stat (sys/stat.h): Likewise.
63219         * modules/sysexits (sysexits.h): Likewise.
63220         * modules/unistd (unistd.h): Likewise.
63221
63222 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63223
63224         * modules/closein-tests (Makefile.am): Distribute
63225         `test-closein.sh'.
63226
63227 2007-05-17  Bruno Haible  <bruno@clisp.org>
63228
63229         * tests/test-printf-posix.output: Renamed from
63230         tests/test-fprintf-posix.out.
63231         * modules/fprintf-posix-tests: Update.
63232         * modules/printf-posix-tests: Update.
63233         * modules/vfprintf-posix-tests: Update.
63234         * modules/vprintf-posix-tests: Update.
63235         * tests/test-fprintf-posix.sh: Update.
63236         * tests/test-printf-posix.sh: Update.
63237         * tests/test-vfprintf-posix.sh: Update.
63238         * tests/test-vprintf-posix.sh: Update.
63239         Reported by Ralf Wildenhues.
63240
63241 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63242
63243         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63244         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63245         GCC 4.2, which otherwise issues a lot of warnings.
63246         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63247         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63248         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63249         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63250         it should no longer be needed.
63251         * lib/string_.h: Likewise.
63252         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63253         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63254         * modules/inttypes (inttypes.h): Likewise.
63255         * modules/math (math.h): Likewise.
63256         * modules/search (search.h): Likewise.
63257         * modules/signal (signal.h): Likewise.
63258         * modules/stdint (stdint.h): Likewise.
63259         * modules/stdio (stdio.h): Likewise.
63260         * modules/stdlib (stdlib.h): Likewise.
63261         * modules/string (string.h): Likewise.
63262         * modules/sys_time (sys/time.h): Likewise.
63263         * modules/time (time.h): Likewise.
63264         * modules/wchar (wchar.h): Likewise.
63265         * modules/wctype (wtype.h): Likewise.
63266
63267 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63268
63269         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63270
63271 2007-05-13  Bruno Haible  <bruno@clisp.org>
63272
63273         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63274         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63275         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63276         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63277         (gl_PREREQ_STRTOK_R): Don't require it here.
63278
63279 2007-05-13  Bruno Haible  <bruno@clisp.org>
63280
63281         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63282         when used in C++ mode.
63283
63284 2007-05-12  Bruno Haible  <bruno@clisp.org>
63285
63286         * lib/linebuffer.h: Tweak doc.
63287         * lib/linebuffer.c: Likewise.
63288
63289 2007-05-12  James Youngman  <jay@gnu.org>
63290
63291         * lib/linebuffer.c (readlinebuffer_delim): New function,
63292         like readlinebuffer, but use a caller-specified delimiter.
63293         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63294         as the delimiter.
63295         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63296
63297 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63298
63299         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63300         * modules/openat (Files): Remove openat-die.c.
63301         (Depends-on): Add openat-die.
63302         * modules/openat-die: New module.
63303
63304 2007-05-06  Bruno Haible  <bruno@clisp.org>
63305
63306         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63307         Update with info about Cygwin.
63308         * doc/functions/fprintf.texi: Update.
63309         * doc/functions/printf.texi: Update.
63310         * doc/functions/snprintf.texi: Update.
63311         * doc/functions/sprintf.texi: Update.
63312         * doc/functions/vfprintf.texi: Update.
63313         * doc/functions/vprintf.texi: Update.
63314         * doc/functions/vsnprintf.texi: Update.
63315         * doc/functions/vsprintf.texi: Update.
63316         Reported by Eric Blake.
63317
63318 2007-05-06  Bruno Haible  <bruno@clisp.org>
63319
63320         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
63321         padding ourselves for the floating-point directives.
63322         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
63323         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
63324         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63325         gl_PRINTF_FLAG_ZERO and test its result. Invoke
63326         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
63327         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63328         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63329         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63330         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63331         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63332         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63333         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63334         * tests/test-snprintf-posix.h (test_function): Also check the width
63335         and some flags in the %f directive.
63336         * tests/test-sprintf-posix.h (test_function): Likewise.
63337         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63338         * tests/test-vasprintf-posix.c (test_function): Likewise.
63339         * doc/functions/fprintf.texi: Update.
63340         * doc/functions/printf.texi: Update.
63341         * doc/functions/snprintf.texi: Update.
63342         * doc/functions/sprintf.texi: Update.
63343         * doc/functions/vfprintf.texi: Update.
63344         * doc/functions/vprintf.texi: Update.
63345         * doc/functions/vsnprintf.texi: Update.
63346         * doc/functions/vsprintf.texi: Update.
63347
63348 2007-05-06  Bruno Haible  <bruno@clisp.org>
63349
63350         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63351         pass the ' flag character to sprintf or snprintf.
63352         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63353         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
63354         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63355         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
63356         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
63357         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63358         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63359         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63360         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63361         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63362         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63363         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63364         * tests/test-snprintf-posix.h (test_function): Also check the grouping
63365         flag.
63366         * tests/test-sprintf-posix.h (test_function): Likewise.
63367         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63368         * tests/test-vasprintf-posix.c (test_function): Likewise.
63369         * doc/functions/fprintf.texi: Update.
63370         * doc/functions/printf.texi: Update.
63371         * doc/functions/snprintf.texi: Update.
63372         * doc/functions/sprintf.texi: Update.
63373         * doc/functions/vfprintf.texi: Update.
63374         * doc/functions/vprintf.texi: Update.
63375         * doc/functions/vsnprintf.texi: Update.
63376         * doc/functions/vsprintf.texi: Update.
63377
63378 2007-05-01  Bruno Haible  <bruno@clisp.org>
63379
63380         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
63381
63382 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
63383
63384         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
63385         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
63386
63387 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63388
63389         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
63390         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
63391         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
63392
63393 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
63394
63395         * lib/argp-help.c (struct hol_entry): New member `ord'.
63396         (HOL_ENTRY_PTRCMP): Use ord for comparison
63397         (hol_sort): Initialize ord.
63398
63399 2007-05-01  Bruno Haible  <bruno@clisp.org>
63400
63401         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
63402         Reported by Eric Blake.
63403         * doc/gnulib.texi (Function Substitutes): Update.
63404
63405 2007-05-01  Bruno Haible  <bruno@clisp.org>
63406
63407         * doc/functions.texi: Remove file, now redundant through
63408         doc/functions/*.texi.
63409
63410 2007-05-01  Bruno Haible  <bruno@clisp.org>
63411
63412         * modules/argp (Depends-on): Add sleep.
63413
63414 2007-05-01  Bruno Haible  <bruno@clisp.org>
63415
63416         * modules/sleep-tests: New file.
63417         * tests/test-sleep.c: New file.
63418
63419         * modules/sleep: New file.
63420         * lib/sleep.c: New file.
63421         * m4/sleep.m4: New file.
63422         * lib/unistd_.h (sleep): New declaration.
63423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
63424         HAVE_SLEEP.
63425         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
63426         * doc/functions/sleep.texi: Document the sleep module.
63427
63428 2007-05-01  Bruno Haible  <bruno@clisp.org>
63429
63430         * lib/sigprocmask.h: Remove file.
63431         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
63432         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
63433         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
63434         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
63435         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
63436         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
63437         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
63438         HAVE_SIGSET_T as a shell variable.
63439         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
63440         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
63441         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
63442         (Depends-on): Add signal. Remove verify.
63443         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
63444         (Include): Mention <signal.h> instead of sigprocmask.h.
63445         * NEWS: Mention the change.
63446         * lib/fatal-signal.c: Don't include sigprocmask.h.
63447
63448 2007-05-01  Bruno Haible  <bruno@clisp.org>
63449
63450         * modules/signal: New file.
63451         * lib/signal_.h: New file.
63452         * m4/signal_h.m4: New file.
63453
63454 2007-05-01  Bruno Haible  <bruno@clisp.org>
63455
63456         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
63457         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
63458         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
63459         HAVE_WCTYPE_CTMP_BUG into wctype.h.
63460
63461 2007-05-01  Bruno Haible  <bruno@clisp.org>
63462
63463         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
63464         configure time.
63465         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
63466         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
63467         * modules/sys_stat (Makefile.am): Substitute their values into
63468         sys/stat.h.
63469
63470 2007-05-01  Bruno Haible  <bruno@clisp.org>
63471
63472         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
63473         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
63474         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
63475
63476 2007-05-01  Bruno Haible  <bruno@clisp.org>
63477
63478         * doc/header/assert.texi: Undo last change: don't mention the gnulib
63479         'assert' module here.
63480
63481 2007-05-01  Bruno Haible  <bruno@clisp.org>
63482
63483         * doc/functions/*.texi: New files.
63484         * doc/functions/google-ranking.txt: New file.
63485         * doc/gnulib.texi (Function Substitutes): New chapter.
63486         (ctime, inet_ntoa): Remove sections.
63487         * doc/ctime.texi: Remove file.
63488         * doc/inet_ntoa.texi: Remove file.
63489         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
63490         dependencies.
63491         (%.info): New rule, specifying a --reference-limit.
63492
63493 2007-05-01  Bruno Haible  <bruno@clisp.org>
63494
63495         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
63496
63497 2007-05-01  Bruno Haible  <bruno@clisp.org>
63498
63499         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
63500         the portability of 'mkdir' to mingw systems.
63501
63502 2007-05-01  Bruno Haible  <bruno@clisp.org>
63503
63504         * doc/headers/google-ranking.txt: New file.
63505
63506 2007-04-30  Eric Blake  <ebb9@byu.net>
63507
63508         Prefer fseeko to fseek.
63509         * modules/getpass (Depends-on): Add fseeko.
63510         * lib/getpass.c (getpass): Use fseeko, not fseek.
63511
63512 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
63513
63514         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
63515         assumes the sorting is stable, while most qsort implementations
63516         are not.  Use argument addresses to ensure they never compare as
63517         equal.
63518
63519         * tests/test-argp-2.sh (usage-indent test): Fix output
63520         (func_compare): Restore diff options
63521         * tests/test-argp.c: Restore #include "progname.h"
63522
63523 2007-04-29  Bruno Haible  <bruno@clisp.org>
63524
63525         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
63526         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63527         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
63528         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63529         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
63530         (configure.ac): Define CHECK_SNPRINTF_POSIX.
63531         (TESTS, check_PROGRAMS): Add test-snprintf.
63532         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
63533         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
63534         (TESTS, check_PROGRAMS): Add test-vsnprintf.
63535         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
63536         assertions that fail on HP-UX, OSF/1, or IRIX.
63537         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
63538
63539 2007-04-29  Bruno Haible  <bruno@clisp.org>
63540
63541         * MODULES.html.sh (posix_functions): Remove 'contents'.
63542
63543 2007-04-29  Karl Berry  <karl@gnu.org>
63544
63545         * config/srclist.txt (gendocs_template_min): new entry.
63546
63547 2007-04-29  Bruno Haible  <bruno@clisp.org>
63548
63549         Work around fpurge bug on BSD systems.
63550         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
63551         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
63552         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
63553         fpurge to rpl_fpurge if the system already has this function.
63554         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
63555         the case where the system already has this function. Correct invariants
63556         on BSD systems.
63557         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
63558         BSD systems.
63559
63560 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
63561
63562         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
63563         proposed by Sven Verdoolaege.
63564
63565         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
63566         options.
63567         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
63568         (usage and help tests): Update
63569
63570 2007-04-29  Bruno Haible  <bruno@clisp.org>
63571
63572         * tests/test-fflush.c (main): Use a file of size 17, not 10.
63573         Print more information in case of failure. Disable a test on BeOS.
63574
63575 2007-04-29  Bruno Haible  <bruno@clisp.org>
63576
63577         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
63578         This helps debugging on systems on which no gdb is available.
63579
63580 2007-04-29  Bruno Haible  <bruno@clisp.org>
63581
63582         * lib/freading.h: Improve comments.
63583         * lib/fwriting.h: Likewise.
63584         * tests/test-freading.c (main): Don't check freading immediately after
63585         repositioning. Needed for glibc.
63586
63587 2007-04-29  Bruno Haible  <bruno@clisp.org>
63588
63589         * lib/freading.c (freading): Trivial simplification.
63590
63591 2007-04-28  Bruno Haible  <bruno@clisp.org>
63592
63593         * tests/test-fwriting.c (main): Also test the interaction between
63594         fflush and fwriting.
63595         * modules/fwriting-tests (Depends-on): Add fflush.
63596
63597         * tests/test-freading.c (main): Also test the interaction between
63598         fflush and freading.
63599         * modules/freading-tests (Depends-on): Add fflush.
63600
63601 2007-04-28  Bruno Haible  <bruno@clisp.org>
63602
63603         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
63604         fseeko and ftello.
63605         Suggested by Eric Blake.
63606
63607 2007-04-28  Jim Meyering  <jim@meyering.net>
63608
63609         Avoid false-negative in gl_STDINT_H's C99 conformance test.
63610         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
63611         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
63612
63613 2007-04-27  Eric Blake  <ebb9@byu.net>
63614
63615         * doc/headers/assert.texi (assert.h): Document assert module use.
63616
63617 2007-04-27  Bruno Haible  <bruno@clisp.org>
63618
63619         * doc/headers/*.texi: New files.
63620         * doc/gnulib.texi (Header File Substitutes): New chapter.
63621         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
63622         dependencies.
63623         (standards.info ,standards.html, standards.dvi): Update dependencies.
63624         (mostlyclean, clean): New targets.
63625
63626 2007-04-27  Bruno Haible  <bruno@clisp.org>
63627
63628         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
63629         * modules/sysexits (Files, Makefile.am): Update.
63630
63631         * lib/sys_socket_.h: Renamed from lib/socket_.h.
63632         * modules/sys_socket (Files, Makefile.am): Update.
63633
63634         * lib/sys_stat_.h: Renamed from lib/stat_.h.
63635         * modules/sys_stat (Files, Makefile.am): Update.
63636
63637 2007-04-27  Eric Blake  <ebb9@byu.net>
63638
63639         * lib/freading.h: Improve comments.
63640         * lib/fwriting.h: Likewise.
63641         * lib/fflush.c: Likewise.
63642
63643         Fix closein for mingw.
63644         * modules/closein-tests: Add tests for closein.
63645         * tests/test-closein.c: New file.
63646         * tests/test-closein.sh: Likewise.
63647         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
63648         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
63649
63650 2007-04-27  Bruno Haible  <bruno@clisp.org>
63651
63652         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
63653         version is < 6.
63654         * lib/math_.h [__DECC]: Likewise.
63655         * lib/stdio_.h [__DECC]: Likewise.
63656         * lib/stdlib_.h [__DECC]: Likewise.
63657         * lib/string_.h [__DECC]: Likewise.
63658         * lib/time_.h [__DECC]: Likewise.
63659         * lib/wchar_.h [__DECC]: Likewise.
63660         * lib/wctype_.h [__DECC]: Likewise.
63661
63662 2007-04-27  Bruno Haible  <bruno@clisp.org>
63663
63664         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
63665
63666 2007-04-27  Bruno Haible  <bruno@clisp.org>
63667
63668         * lib/fflush.c: Add comments.
63669         * modules/fpurge-tests (Depends-on): Add fflush.
63670         * modules/freadable-tests (Depends-on): Likewise.
63671         * modules/fwritable-tests (Depends-on): Likewise.
63672
63673 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
63674
63675         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
63676         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
63677         Report by Bruno Haible <bruno@clisp.org>.
63678
63679 2007-04-26  Eric Blake  <ebb9@byu.net>
63680
63681         Fix fflush on mingw.
63682         * modules/fflush (Depends-on): Add freading.
63683         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
63684         but unread data.
63685
63686 2007-04-26  Eric Blake  <ebb9@byu.net>
63687         and Bruno Haible  <bruno@clisp.org>
63688
63689         Implement freading and fwriting.
63690         * lib/freading.c: New file.
63691         * lib/freading.h: Likewise.
63692         * m4/freading.m4: Likewise.
63693         * modules/freading: Likewise.
63694         * modules/freading-tests: Likewise.
63695         * tests/test-freading.c: Likewise.
63696         * lib/fwriting.c: New file.
63697         * lib/fwriting.h: Likewise.
63698         * m4/fwriting.m4: Likewise.
63699         * modules/fwriting: Likewise.
63700         * modules/fwriting-tests: Likewise.
63701         * tests/test-fwriting.c: Likewise.
63702         * MODULES.html.sh (File stream based Input/Output): Mention them.
63703
63704 2007-04-26  Bruno Haible  <bruno@clisp.org>
63705
63706         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
63707         'long' when we assume it.
63708         Suggested by Eric Blake.
63709
63710 2007-04-26  Bruno Haible  <bruno@clisp.org>
63711
63712         Ensure fseeko, ftello are declared on glibc systems.
63713         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
63714         * modules/fseeko (configure.ac-early): Likewise.
63715         * modules/ftello (configure.ac-early): Likewise.
63716         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
63717         AC_FUNC_FSEEKO for this.
63718         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
63719         (gl_CHECK_FSEEKO): Remove macro.
63720
63721 2007-04-26  Bruno Haible  <bruno@clisp.org>
63722
63723         * tests/test-fflush.c (main): Also check the ftell result after
63724         fflush and fseek/fseeko.
63725         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
63726         file descriptor position cache in the stream.
63727         * lib/fseeko.c (rpl_fseeko): Likewise.
63728
63729 2007-04-26  Bruno Haible  <bruno@clisp.org>
63730
63731         * modules/fflush-tests (Depends-on): Add fseeko.
63732
63733 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
63734             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63735
63736         * lib/argz_.h: ensure error_t definition is obtained in same
63737         mechanism system argz.h would have.
63738         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
63739         argz facilities are known bad.  Err on the side of caution if
63740         cross-compiling.
63741
63742 2007-04-25  Eric Blake  <ebb9@byu.net>
63743
63744         * lib/fpurge.c (includes): Use stdlib.h for free.
63745         * tests/test-fflush.c (main): Also test fflush-fseeko.
63746
63747 2007-04-25  Bruno Haible  <bruno@clisp.org>
63748
63749         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
63750         * lib/fseeko.c: New file.
63751         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
63752         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
63753         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
63754         gl_FUNC_FSEEKO.
63755         (gl_FUNC_FSEEKO): Invoke it.
63756         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
63757         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
63758         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
63759
63760 2007-04-25  Bruno Haible  <bruno@clisp.org>
63761
63762         * modules/fflush (Depends-on): Add ftello.
63763
63764 2007-04-25  Bruno Haible  <bruno@clisp.org>
63765
63766         * modules/ftello-tests: New file.
63767         * tests/test-ftello.c: New file.
63768
63769         * modules/ftello: New file.
63770         * m4/ftello.m4: New file.
63771         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
63772         HAVE_FTELLO.
63773         * lib/stdio_.h (ftello): New declaration.
63774         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
63775         HAVE_FTELLO.
63776
63777 2007-04-25  Bruno Haible  <bruno@clisp.org>
63778
63779         * modules/fseeko-tests: New file.
63780         * tests/test-fseeko.c: New file.
63781
63782         * modules/fseeko: New file.
63783         * m4/fseeko.m4: New file.
63784         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
63785         HAVE_FSEEKO.
63786         * lib/stdio_.h (fseeko): New declaration.
63787         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
63788         HAVE_FSEEKO.
63789
63790 2007-04-25  Bruno Haible  <bruno@clisp.org>
63791
63792         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
63793
63794 2007-04-25  Bruno Haible  <bruno@clisp.org>
63795
63796         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
63797         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
63798         * tests/test-unistd.c: Likewise.
63799         * tests/test-fcntl.c: Likewise.
63800
63801 2007-04-23  Eric Blake  <ebb9@byu.net>
63802
63803         * lib/fflush.c: Fix missing include.
63804         Reported by Bruno Haible.
63805
63806 2007-04-23  Bruno Haible  <bruno@clisp.org>
63807
63808         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
63809         Reported by Eric Blake.
63810
63811 2007-04-23  Bruno Haible  <bruno@clisp.org>
63812
63813         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
63814
63815 2007-04-23  Bruno Haible  <bruno@clisp.org>
63816
63817         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
63818
63819 2007-04-23  Bruno Haible  <bruno@clisp.org>
63820
63821         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
63822         Needed on HP-UX 11.
63823
63824 2007-04-16  Eric Blake  <ebb9@byu.net>
63825
63826         Make fflush rely on fpurge.
63827         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
63828         open coding all variants.
63829         * modules/fflush (Depends-on): Add fpurge and unistd.
63830         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
63831         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
63832
63833         Fix --with-tests compilation on cygwin.
63834         * modules/argmatch-tests (Makefile.am): List gnulib library first
63835         in LDADD.
63836         * modules/argp-tests (Makefile.am): Likewise.
63837         * modules/array-list-tests (Makefile.am): Likewise.
63838         * modules/array-oset-tests (Makefile.am): Likewise.
63839         * modules/avltree-list-tests (Makefile.am): Likewise.
63840         * modules/avltree-oset-tests (Makefile.am): Likewise.
63841         * modules/avltreehash-list-tests (Makefile.am): Likewise.
63842         * modules/carray-list-tests (Makefile.am): Likewise.
63843         * modules/dirname-tests (Makefile.am): Likewise.
63844         * modules/frexp-tests (Makefile.am): Likewise.
63845         * modules/isnanl-tests (Makefile.am): Likewise.
63846         * modules/linked-list-tests (Makefile.am): Likewise.
63847         * modules/linkedhash-list-tests (Makefile.am): Likewise.
63848         * modules/lock-tests (Makefile.am): Likewise.
63849         * modules/rbtree-list-tests (Makefile.am): Likewise.
63850         * modules/rbtree-oset-tests (Makefile.am): Likewise.
63851         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
63852         * modules/tls-tests (Makefile.am): Likewise.
63853         * modules/tsearch-tests (Makefile.am): Likewise.
63854         * modules/xvasprintf-tests (Makefile.am): Likewise.
63855
63856         Fix fpurge for cygwin.
63857         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
63858         value.
63859         * modules/fpurge-tests (Depends-on): Clean up trash.
63860
63861 2007-04-16  Simon Josefsson  <simon@josefsson.org>
63862
63863         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
63864
63865         * m4/autobuild.m4: Re-indent.
63866
63867 2007-04-13  Bruno Haible  <bruno@clisp.org>
63868
63869         * modules/fpurge-tests: New file.
63870         * tests/test-fpurge.c: New file.
63871
63872         * modules/fpurge: New file.
63873         * lib/fpurge.h: New file.
63874         * lib/fpurge.c: New file.
63875         * m4/fpurge.m4: New file.
63876
63877 2007-04-13  Bruno Haible  <bruno@clisp.org>
63878
63879         * modules/fbufmode-tests: New file.
63880         * tests/test-fbufmode.c: New file.
63881
63882         * modules/fbufmode: New file.
63883         * lib/fbufmode.h: New file.
63884         * lib/fbufmode.c: New file.
63885         * m4/fbufmode.m4: New file.
63886
63887 2007-04-13  Bruno Haible  <bruno@clisp.org>
63888
63889         * modules/fwritable-tests: New file.
63890         * tests/test-fwritable.c: New file.
63891
63892         * modules/fwritable: New file.
63893         * lib/fwritable.h: New file.
63894         * lib/fwritable.c: New file.
63895         * m4/fwritable.m4: New file.
63896
63897 2007-04-13  Bruno Haible  <bruno@clisp.org>
63898
63899         * modules/freadable-tests: New file.
63900         * tests/test-freadable.c: New file.
63901
63902         * modules/freadable: New file.
63903         * lib/freadable.h: New file.
63904         * lib/freadable.c: New file.
63905         * m4/freadable.m4: New file.
63906
63907 2007-04-13  Bruno Haible  <bruno@clisp.org>
63908
63909         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
63910         MOSTLYCLEANFILES.
63911
63912 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63913
63914         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
63915         gzip bootstrap.conf to avoid dragging in i18n machinery.
63916         (gnulib_tool_option): Use it.
63917
63918 2007-04-13  Bruno Haible  <bruno@clisp.org>
63919
63920         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
63921         %F directives.
63922         * tests/test-vasprintf-posix.c (test_function): Likewise.
63923         * tests/test-snprintf-posix.h (test_function): Likewise.
63924         * tests/test-sprintf-posix.h (test_function): Likewise.
63925         * tests/test-fprintf-posix.h (test_function): Likewise.
63926         * tests/test-printf-posix.h (test_function): Likewise.
63927         * tests/test-fprintf-posix.out: Likewise.
63928
63929 2007-04-13  Bruno Haible  <bruno@clisp.org>
63930
63931         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
63932         * modules/tls-tests (configure.ac): Likewise.
63933         Reported by Arto C. Nirkko <anirkko@insel.ch>.
63934
63935 2007-04-13  Bruno Haible  <bruno@clisp.org>
63936
63937         * lib/tls.c (glthread_tls_get): Fix return type.
63938         Patch by Arto C. Nirkko <anirkko@insel.ch>.
63939
63940 2007-04-12  Eric Blake  <ebb9@byu.net>
63941
63942         * modules/gettime (Depends-on): Remove gettime.
63943         Reported by Dmitry V. Levin.
63944
63945 2007-04-12  Bruno Haible  <bruno@clisp.org>
63946
63947         * modules/fflush (Include): Mention <stdio.h>.
63948         * modules/strtoimax (Include): Mention <inttypes.h>.
63949         * modules/strtoumax (Include): Likewise.
63950
63951 2007-04-12  Eric Blake  <ebb9@byu.net>
63952
63953         * .cvsignore: New file.
63954         * .gitignore: Likewise.
63955
63956 2007-04-12  Bruno Haible  <bruno@clisp.org>
63957
63958         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
63959         not before, since $(LDADD) often contains libgnu.a.
63960         * modules/striconv-tests (test_striconv_LDADD): Likewise.
63961         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
63962         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
63963         Needed on Cygwin.
63964
63965 2007-04-12  Eric Blake  <ebb9@byu.net>
63966
63967         Work around glibc's failure to flush stdin on fclose.
63968         * lib/closein.c (close_stdin): Flush stdin before closing.
63969
63970         Work around glibc's failure to reset seekable stdin on exit.
63971         * modules/closein: New module.
63972         * lib/closein.c: New file.
63973         * lib/closein.h: Likewise.
63974         * m4/closein.m4: Likewise.
63975         * MODULES.html.sh (File stream based Input/Output): Document it.
63976
63977 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63978
63979         * gnulib-tool: Rename generated 'autobuild' script to
63980         'do-autobuild' in --create-megatestdir output.
63981
63982         * doc/gnulib.texi (Build robot for gnulib): Fix.
63983
63984 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63985
63986         * modules/sysexits (Depends-on): Add absolute-header.
63987
63988 2007-04-12  Eric Blake  <ebb9@byu.net>
63989
63990         No need to preserve errno on success.
63991         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
63992         Reported by Bruno Haible.
63993
63994 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63995
63996         * MODULES.html.sh (Support for maintaining and releasing
63997         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
63998
63999 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64000
64001         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64002
64003 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64004
64005         * modules/autobuild: New module.
64006
64007         * m4/autobuild.m4: New file.
64008
64009 2007-04-11  Bruno Haible  <bruno@clisp.org>
64010
64011         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64012         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64013         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64014         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64015         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64016         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64017         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64018         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64019         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64020         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64021         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64022         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64023         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64024         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64025         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64026         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64027         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64028         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64029         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64030         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64031         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64032         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64033         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64034         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64035         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64036         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64037         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64038         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64039         Reported by Eric Blake.
64040
64041 2007-04-11  Bruno Haible  <bruno@clisp.org>
64042
64043         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64044
64045 2007-04-10  Bruno Haible  <bruno@clisp.org>
64046
64047         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64048         for NaN and Infinity. Needed on FreeBSD 6.1.
64049         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64050         regarding results for "%010a" of Infinity and NaN.
64051         * tests/test-vasprintf-posix.c (test_function): Likewise.
64052         * tests/test-snprintf-posix.h (test_function): Likewise.
64053         * tests/test-sprintf-posix.h (test_function): Likewise.
64054         * tests/test-fprintf-posix.h (test_function): Likewise.
64055         * tests/test-printf-posix.h (test_function): Likewise.
64056         * tests/test-fprintf-posix.out: Likewise.
64057
64058 2007-04-10  Bruno Haible  <bruno@clisp.org>
64059
64060         * modules/locale-tests: New file.
64061         * tests/test-locale.c: New file.
64062
64063         * modules/locale: New file.
64064         * lib/locale_.h: New file.
64065         * m4/locale_h.m4: New file.
64066
64067 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64068             Bruno Haible  <bruno@clisp.org>
64069
64070         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64071         be determined, test for availability of the copysignf, copysign,
64072         copysignl functions.
64073         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64074         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64075         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64076
64077 2007-04-09  Eric Blake  <ebb9@byu.net>
64078
64079         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64080         * modules/stdio (Makefile.am): Support fflush.
64081         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64082         * modules/fflush: New file.
64083         * lib/fflush.c: Likewise.
64084         * m4/fflush.m4: Likewise.
64085         * modules/fflush-tests: New test.
64086         * tests/test-fflush.c: Likewise.
64087         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64088
64089 2007-04-06  Bruno Haible  <bruno@clisp.org>
64090
64091         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64092         (VASNPRINTF): Use signbit for faster determination whether to print a
64093         minus sign.
64094         * modules/vasnprintf (Files): Remove lib/float+.h.
64095         * modules/fprintf-posix (Depends-on): Add signbit.
64096         * modules/snprintf-posix (Depends-on): Likewise.
64097         * modules/sprintf-posix (Depends-on): Likewise.
64098         * modules/vasnprintf-posix (Depends-on): Likewise.
64099         * modules/vasprintf-posix (Depends-on): Likewise.
64100         * modules/vfprintf-posix (Depends-on): Likewise.
64101         * modules/vsnprintf-posix (Depends-on): Likewise.
64102         * modules/vsprintf-posix (Depends-on): Likewise.
64103
64104 2007-04-06  Bruno Haible  <bruno@clisp.org>
64105
64106         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64107         * tests/test-frexpl.c (main): Likewise.
64108         * tests/test-ldexpl.c (main): Likewise.
64109         * modules/frexp-tests (Depends-on): Add signbit.
64110         * modules/frexpl-tests (Depdends-on): Likewise.
64111         * modules/ldexpl-tests (Depdends-on): Likewise.
64112
64113 2007-04-06  Bruno Haible  <bruno@clisp.org>
64114
64115         * modules/signbit-tests: New file.
64116         * tests/test-signbit.c: New file.
64117
64118         * modules/signbit: New file.
64119         * lib/signbitf.c: New file.
64120         * lib/signbitd.c: New file.
64121         * lib/signbitl.c: New file.
64122         * m4/signbit.m4: New file.
64123         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64124         (signbit): New macro.
64125         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64126         REPLACE_SIGNBIT.
64127         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64128         REPLACE_FREXPL into math.h.
64129
64130 2007-04-06  Bruno Haible  <bruno@clisp.org>
64131
64132         * modules/isnanf-nolibm-tests: New file.
64133         * tests/test-isnanf.c: New file.
64134
64135         * modules/isnanf-nolibm: New file.
64136         * lib/isnanf.h: New file.
64137         * lib/isnanf.c: New file.
64138         * lib/isnan.c: Consider the USE_FLOAT macro.
64139         * m4/isnanf.m4: New file.
64140
64141 2007-04-06  Bruno Haible  <bruno@clisp.org>
64142
64143         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64144         (Link): New section.
64145
64146         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64147
64148 2007-04-06  Bruno Haible  <bruno@clisp.org>
64149
64150         Assume the 'long double' type.
64151         * m4/longdouble.m4: Remove file.
64152         * config/srclist.txt: Don't mention longdouble.m4.
64153         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64154         * lib/float+.h: Likewise.
64155         * lib/frexp.c: Likewise.
64156         * lib/printf-args.h: Likewise.
64157         * lib/printf-args.c: Likewise.
64158         * lib/printf-frexp.c: Likewise.
64159         * lib/printf-parse.c: Likewise.
64160         * lib/vasnprintf.c: Likewise.
64161         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64162         * m4/intl.m4: Likewise.
64163         * m4/isnanl.m4: Likewise.
64164         * m4/printf.m4: Likewise.
64165         * m4/printf-frexpl.m4: Likewise.
64166         * m4/vasnprintf.m4: Likewise.
64167         * modules/allocsa (Files): Remove m4/longdouble.m4.
64168         * modules/gettext (Files): Likewise.
64169         * modules/relocatable-prog-wrapper (Files): Likewise.
64170         * modules/vasnprintf (Files): Likewise.
64171         * modules/isnanl (Files): Likewise.
64172         (Include): Simplify.
64173         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64174         (Include): Simplify.
64175         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64176         (Include): Simplify.
64177         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64178         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64179         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64180         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64181         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64182         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64183         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64184         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64185         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64186         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64187         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64188         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64189         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64190         * tests/test-isnanl.c: Likewise.
64191         * tests/test-snprintf-posix.h: Likewise.
64192         * tests/test-sprintf-posix.h: Likewise.
64193         * tests/test-vasnprintf-posix.c: Likewise.
64194         * tests/test-vasnprintf-posix2.c: Likewise.
64195         * tests/test-vasprintf-posix.c: Likewise.
64196
64197 2007-04-06  Bruno Haible  <bruno@clisp.org>
64198
64199         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64200         * lib/math_.h [__DECC]: Include the overridden include file through
64201         #include_next, outside the double-inclusion guard.
64202         * lib/stdio_.h [__DECC]: Likewise.
64203         * lib/stdlib_.h [__DECC]: Likewise.
64204         * lib/string_.h [__DECC]: Likewise.
64205         * lib/time_.h [__DECC]: Likewise.
64206         * lib/wchar_.h [__DECC]: Likewise.
64207         * lib/wctype_.h [__DECC]: Likewise.
64208         * lib/inttypes_.h [__DECC]: Likewise.
64209         Reported by Albert Chin <china@thewrittenword.com> in
64210         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64211
64212 2007-04-04  Eric Blake  <ebb9@byu.net>
64213
64214         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64215         1.5.x.
64216
64217 2007-04-04  Bruno Haible  <bruno@clisp.org>
64218
64219         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64220         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64221
64222 2007-04-04  Bruno Haible  <bruno@clisp.org>
64223
64224         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64225         results for "%010a" of Infinity and NaN.
64226         * tests/test-vasprintf-posix.c (test_function): Likewise.
64227         * tests/test-snprintf-posix.h (test_function): Likewise.
64228         * tests/test-sprintf-posix.h (test_function): Likewise.
64229         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64230         * tests/test-printf-posix.h (test_function): Likewise.
64231         * tests/test-fprintf-posix.out: Update.
64232         Needed for FreeBSD 6.1.
64233
64234 2007-04-04  Bruno Haible  <bruno@clisp.org>
64235
64236         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64237         directly used by the gnulib modules nor by gnulib-tool.
64238
64239 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64240
64241         * DEPENDENCIES: Give overall description of version dependency
64242         desirability.  Use more-typical names for apps.
64243         Add shell, coreutils, diffutils, grep, tar, gzip.
64244
64245 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64246
64247         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64248
64249 2007-04-04  Karl Berry  <karl@gnu.org>
64250
64251         * MODULES.html.sh (func_module): missing '.
64252
64253 2007-04-03  Bruno Haible  <bruno@clisp.org>
64254
64255         * modules/argmatch-tests (Makefile.am): New variable
64256         test_argmatch_LDADD.
64257         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64258         * modules/array-list-tests (Makefile.am): New variable
64259         test_array_list_LDADD.
64260         * modules/array-oset-tests (Makefile.am): New variable
64261         test_array_oset_LDADD.
64262         * modules/avltree-list-tests (Makefile.am): New variable
64263         test_avltree_list_LDADD.
64264         * modules/avltree-oset-tests (Makefile.am): New variable
64265         test_avltree_oset_LDADD.
64266         * modules/avltreehash-list-tests (Makefile.am): New variable
64267         test_avltreehash_list_LDADD.
64268         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64269         test_canonicalize_lgpl_LDADD.
64270         * modules/carray-list-tests (Makefile.am): New variable
64271         test_carray_list_LDADD.
64272         * modules/dirname-tests (Makefile.am): New variable
64273         test_dirname_LDADD.
64274         * modules/linked-list-tests (Makefile.am): New variable
64275         test_linked_list_LDADD.
64276         * modules/linkedhash-list-tests (Makefile.am): New variable
64277         test_linkedhash_list_LDADD.
64278         * modules/rbtree-list-tests (Makefile.am): New variable
64279         test_rbtree_list_LDADD.
64280         * modules/rbtree-oset-tests (Makefile.am): New variable
64281         test_rbtree_oset_LDADD.
64282         * modules/rbtreehash-list-tests (Makefile.am): New variable
64283         test_rbtreehash_list_LDADD.
64284         * modules/xvasprintf-tests (Makefile.am): New variable
64285         test_xvasprintf_LDADD.
64286         Reported by Eric Blake.
64287
64288 2007-04-03  Eric Blake  <ebb9@byu.net>
64289
64290         * DEPENDENCIES: Weaken m4 requirements.
64291
64292 2007-04-03  Bruno Haible  <bruno@clisp.org>
64293
64294         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64295         * modules/isnanl-tests (configure.ac): Likewise.
64296
64297 2007-04-03  Ben Pfaff  <blp@gnu.org>
64298
64299         * modules/iconv_open: Add $(srcdir)/ to source directory
64300         references in Makefile fragments that call gperf, to fix VPATH
64301         builds.
64302
64303 2007-04-03  Bruno Haible  <bruno@clisp.org>
64304
64305         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64306         * lib/ldexpl.c: Undo last change.
64307
64308 2007-04-03  Bruno Haible  <bruno@clisp.org>
64309
64310         * modules/printf-frexpl (Depends-on): Undo last change.
64311         (Files): Add m4/ldexpl.m4.
64312
64313 2007-04-03  Bruno Haible  <bruno@clisp.org>
64314
64315         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64316         * modules/isnanl (Link): New section.
64317
64318         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64319         * modules/frexp (Link): New section.
64320
64321         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
64322         * modules/frexpl (Link): New section.
64323
64324         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
64325         * modules/ldexpl (Link): New section.
64326
64327 2007-04-03  Bruno Haible  <bruno@clisp.org>
64328
64329         * modules/TEMPLATE-EXTENDED: New file.
64330         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
64331
64332 2007-04-03  Bruno Haible  <bruno@clisp.org>
64333
64334         * DEPENDENCIES: New file.
64335         Suggested by Simon Josefsson.
64336
64337 2007-04-03  Bruno Haible  <bruno@clisp.org>
64338
64339         * doc/gnulib.texi: Escape @.
64340
64341 2007-04-03  James Youngman  <jay@gnu.org>
64342         and Paul Eggert  <eggert@cs.ucla.edu>
64343
64344         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64345         birthtime on all systems that have birthtime, not just those which
64346         use st_birthtimensec rather than st_birthtim.  Putting zero in
64347         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64348         that the birth time is not available for files on an NFS mount.
64349
64350 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64351
64352         * modules/memxor: Move back from crypto/, suggested by Bruno.
64353         * modules/crypto/hmac-sha1: Fix memxor dependency.
64354
64355         * modules/crypto/gc: Moved from ../.
64356
64357 2007-04-02  Eric Blake  <ebb9@byu.net>
64358
64359         * lib/ldexpl.c (includes): Avoid libm.
64360
64361         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
64362
64363 2007-04-02  Bruno Haible  <bruno@clisp.org>
64364
64365         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
64366         on IRIX.
64367
64368 2007-04-02  Bruno Haible  <bruno@clisp.org>
64369
64370         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
64371         x86 or x86_64 platforms running MacOS X.
64372         Reported by Ryan Schmidt <@ryandesign.com>.
64373
64374 2007-04-02  Bruno Haible  <bruno@clisp.org>
64375
64376         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
64377         i386.
64378
64379 2007-04-01  Simon Josefsson  <simon@josefsson.org>
64380
64381         * modules/crypto/arcfour: Moved from ../.
64382         * modules/crypto/arcfour-tests: Moved from ../.
64383         * modules/crypto/arctwo: Moved from ../.
64384         * modules/crypto/arctwo-tests: Moved from ../.
64385         * modules/crypto/des: Moved from ../.
64386         * modules/crypto/des-tests: Moved from ../.
64387         * modules/crypto/gc-arcfour: Moved from ../.
64388         * modules/crypto/gc-arcfour-tests: Moved from ../.
64389         * modules/crypto/gc-arctwo: Moved from ../.
64390         * modules/crypto/gc-arctwo-tests: Moved from ../.
64391         * modules/crypto/gc-des: Moved from ../.
64392         * modules/crypto/gc-des-tests: Moved from ../.
64393         * modules/crypto/gc-hmac-md5: Moved from ../.
64394         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
64395         * modules/crypto/gc-hmac-sha1: Moved from ../.
64396         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
64397         * modules/crypto/gc-md2: Moved from ../.
64398         * modules/crypto/gc-md2-tests: Moved from ../.
64399         * modules/crypto/gc-md4: Moved from ../.
64400         * modules/crypto/gc-md4-tests: Moved from ../.
64401         * modules/crypto/gc-md5: Moved from ../.
64402         * modules/crypto/gc-md5-tests: Moved from ../.
64403         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
64404         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
64405         * modules/crypto/gc-random: Moved from ../.
64406         * modules/crypto/gc-rijndael: Moved from ../.
64407         * modules/crypto/gc-rijndael-tests: Moved from ../.
64408         * modules/crypto/gc-sha1: Moved from ../.
64409         * modules/crypto/gc-sha1-tests: Moved from ../.
64410         * modules/crypto/gc-tests: Moved from ../.
64411         * modules/crypto/hmac-md5: Moved from ../.
64412         * modules/crypto/hmac-md5-tests: Moved from ../.
64413         * modules/crypto/hmac-sha1: Moved from ../.
64414         * modules/crypto/hmac-sha1-tests: Moved from ../.
64415         * modules/crypto/md2: Moved from ../.
64416         * modules/crypto/md2-tests: Moved from ../.
64417         * modules/crypto/md4: Moved from ../.
64418         * modules/crypto/md4-tests: Moved from ../.
64419         * modules/crypto/md5: Moved from ../.
64420         * modules/crypto/md5-tests: Moved from ../.
64421         * modules/crypto/memxor: Moved from ../.
64422         * modules/crypto/rijndael: Moved from ../.
64423         * modules/crypto/rijndael-tests: Moved from ../.
64424         * modules/crypto/sha1: Moved from ../.
64425
64426 2007-03-30  James Youngman  <jay@gnu.org>
64427
64428         * tests/test-stat-time.c (prepare_test): use chmod() rather than
64429         rename() to change the ctime of a file (because ctime is unaffected
64430         by rename on jfs2 on AIX 5.1).
64431         (main): Start by doing cleanup, in case a previous run failed leaving
64432         test files behind.
64433
64434 2007-03-31  Bruno Haible  <bruno@clisp.org>
64435
64436         Support old proprietary implementations of iconv.
64437         * modules/iconv_open: New file.
64438         * lib/iconv_.h: New file.
64439         * m4/iconv_h.m4: New file.
64440         * lib/iconv_open.c: New file.
64441         * lib/iconv_open-aix.gperf: New file.
64442         * lib/iconv_open-hpux.gperf: New file.
64443         * lib/iconv_open-irix.gperf: New file.
64444         * lib/iconv_open-osf.gperf: New file.
64445         * m4/iconv_open.m4: New file.
64446         * modules/linebreak (Depends-on): Add iconv_open.
64447         * modules/striconv (Depends-on): Likewise.
64448         * modules/striconveh (Depends-on): Likewise.
64449         * modules/unicodeio (Depends-on): Likewise.
64450         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
64451         (iconv_t)(-1).
64452         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
64453         conversion if cd is (iconv_t)(-1).
64454         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
64455         is not possible.
64456
64457 2007-03-31  Bruno Haible  <bruno@clisp.org>
64458
64459         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64460         work on Solaris either. Protect also second use of "autodetect_jp".
64461
64462 2007-03-31  Bruno Haible  <bruno@clisp.org>
64463
64464         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
64465         the function is not present.
64466
64467 2007-03-31  Bruno Haible  <bruno@clisp.org>
64468
64469         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
64470         the function is not present.
64471
64472 2007-03-31  Bruno Haible  <bruno@clisp.org>
64473
64474         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
64475         a bug in HP-UX iconv_open().
64476
64477 2007-03-31  Bruno Haible  <bruno@clisp.org>
64478
64479         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
64480         (Mathematics <math.h>): New section, add fpieee.
64481         (Input/output <stdio.h>): Add fseterr.
64482         (Mathematics <math.h>): New section, add printf-frexp.
64483         (Container data structures): Add sublist.
64484         (Core language properties): Add fpucw, inline.
64485         (Functions for greatest-width integer types <inttypes.h>): Add
64486         imaxabs, imaxdiv, inttypes.
64487         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
64488         isnanl-nolibm, ldexp.
64489         (Mathematics <math.h>): New section, add printf-frexpl.
64490         (Support for systems lacking POSIX:2001): Add fprintf-posix,
64491         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
64492         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
64493         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
64494         (Unicode string functions): Add unistr/u*-mbtoucr.
64495         (Java): Add javacomp-script, javaexec-script.
64496         (C#): Add csharpcomp-script, csharpexec-script.
64497         (Support for building libraries and executables): Add havelib,
64498         relocatable-*.
64499         (Support for maintaining and releasing projects): Renamed from
64500         'Support for maintaining and release projects'. Add announce-gen.
64501
64502 2007-03-31  Bruno Haible  <bruno@clisp.org>
64503
64504         * README: Talk primarily about git.
64505         (git and CVS): Renamed from CVS.
64506         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
64507         gnulib is available through git.
64508         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
64509
64510 2007-03-30  Bruno Haible  <bruno@clisp.org>
64511
64512         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
64513         * lib/poll_.h: Likewise.
64514         * lib/stat_.h: Likewise.
64515         * lib/sys_time_.h: Likewise.
64516         * lib/sysexit_.h: Likewise.
64517         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
64518         * lib/stdbool_.h: Likewise.
64519         * lib/byteswap_.h: Add double-inclusion guard.
64520
64521 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
64522
64523         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
64524
64525 2007-03-30  Karl Berry  <karl@gnu.org>
64526
64527         * config/srclist-update: double space after USA in the license
64528         substitution, since that's how it's usually (?) written.
64529
64530 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
64531
64532         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
64533         reported by Bruno Haible.
64534
64535 2007-03-29  Bruno Haible  <bruno@clisp.org>
64536
64537         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
64538         a bug in AIX iconv().
64539
64540 2007-03-29  Bruno Haible  <bruno@clisp.org>
64541
64542         * modules/ldexpl-tests: New file.
64543         * tests/test-ldexpl.c: New file.
64544
64545 2007-03-29  Bruno Haible  <bruno@clisp.org>
64546
64547         * lib/ldexpl.c: Include fpucw.h.
64548         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
64549         multiplication.
64550         * modules/ldexpl (Depends-on): Add fpucw.
64551
64552 2007-03-29  Bruno Haible  <bruno@clisp.org>
64553
64554         * modules/ldexpl: New file.
64555         * m4/ldexpl.m4: New file.
64556         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
64557         set.
64558         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
64559         REPLACE_LDEXPL.
64560         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
64561         REPLACE_LDEXPL.
64562         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64563         gl_FUNC_LDEXPL_WORKS.
64564         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
64565         * modules/mathl (Files): Remove lib/ldexpl.c.
64566         (Depends-on): Add ldexpl.
64567
64568 2007-03-29  Bruno Haible  <bruno@clisp.org>
64569
64570         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
64571
64572 2007-03-29  Bruno Haible  <bruno@clisp.org>
64573
64574         * tests/test-striconveh.c (main): Don't assume that a direct conversion
64575         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
64576         and possibly also HP-UX.
64577         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64578         work on AIX, IRIX, HP-UX, OSF/1.
64579         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64580         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64581         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64582         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64583         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
64584         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64585
64586 2007-03-29  Bruno Haible  <bruno@clisp.org>
64587
64588         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
64589
64590 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64591
64592         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
64593         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
64594
64595 2007-03-29  Eric Blake  <ebb9@byu.net>
64596
64597         * lib/acl-internal.h: Remove redundant include.
64598         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
64599         Cygwin when a file is locked.
64600
64601 2007-03-29  Bruno Haible  <bruno@clisp.org>
64602
64603         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
64604         file.
64605         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
64606
64607 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64608
64609         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
64610         try to remove a parent directory if the child couldn't be removed
64611         (except for the first rmdir, which could fail because the child
64612         doesn't exist).  Problem reported by Jeff Blaine in
64613         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
64614
64615 2007-03-28  Bruno Haible  <bruno@clisp.org>
64616
64617         * lib/striconveh.c (utf8conv_carefully): New function.
64618         (mem_cd_iconveh_internal): Invoke it.
64619
64620 2007-03-28  Bruno Haible  <bruno@clisp.org>
64621
64622         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
64623         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
64624         input.
64625         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
64626         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
64627         unistr/u8-uctomb.
64628
64629 2007-03-28  Bruno Haible  <bruno@clisp.org>
64630
64631         * modules/unistr/u8-mbtoucr: New file.
64632         * lib/unistr/u8-mbtoucr.c: New file.
64633         * modules/unistr/u16-mbtoucr: New file.
64634         * lib/unistr/u16-mbtoucr.c: New file.
64635         * modules/unistr/u16-mbtoucr: New file.
64636         * lib/unistr/u16-mbtoucr.c: New file.
64637         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
64638
64639 2007-03-27  Simon Josefsson  <simon@josefsson.org>
64640             Bruno Haible  <bruno@clisp.org>
64641
64642         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
64643         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
64644         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
64645
64646         * m4/stdio_h.m4: Add stubs for vasprintf too.
64647
64648         * modules/stdio: Support vasprintf in sed command.
64649
64650         * modules/vasprintf: Depend on stdio for prototypes.  Remove
64651         vasprintf.h.  Add stdio module indicator.
64652
64653         * lib/stdio_.h: Declare asprintf and vasprintf, based on
64654         vasprintf.h.
64655
64656         * lib/vasprintf.h: File removed.
64657
64658         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
64659         * lib/vasprintf.c: Ditto.
64660         * lib/xvasprintf.c: Ditto.
64661         * tests/test-vasprintf-posix.c: Ditto.
64662         * tests/test-vasprintf.c: Ditto.
64663
64664 2007-03-27  Bruno Haible  <bruno@clisp.org>
64665
64666         Make vasnprintf multithread-safe.
64667         * lib/vasnprintf.c (decimal_point_char): New function.
64668         (VASNPRINTF): Use it.
64669         Suggested by Simon Josefsson.
64670
64671 2007-03-27  Eric Blake  <ebb9@byu.net>
64672
64673         Support sub-second birthtime on cygwin.
64674         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
64675         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
64676         (get_stat_birthtime): Also work with st_birthtim.
64677
64678 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
64679
64680         * lib/stat-time.h (USE_BIRTHTIME): Remove.
64681         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
64682         (get_stat_birthtime_ns): Do not try to use "spare" fields.
64683         (get_stat_birthtime_ns): Simplify compile-time tests.
64684         (get_stat_birthtime): Change the API to look like
64685         get_stat_mtime etc., except return a negative tv_nsec on error.
64686         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
64687         Don't check for "spare" fields.
64688         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
64689         or for struct stat.st_birthtime, as these tests aren't used.
64690         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
64691
64692 2007-03-27  Bruno Haible  <bruno@clisp.org>
64693
64694         * lib/stat-time.h: Include <sys/stat.h>.
64695
64696 2007-03-27  James Youngman  <jay@gnu.org>
64697
64698         * lib/stat-time.h (get_stat_birthtime): New function for
64699           retrieving st_birthtime as provided by UFS2 (hence *BSD).
64700         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
64701           and its variants.
64702         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
64703         * modules/stat-time-test: New file.
64704         * tests/test-stat-time.c: New test, devised by Bruno Haible.
64705
64706 2007-03-26  Bruno Haible  <bruno@clisp.org>
64707
64708         Better support of signalling NaNs.
64709         * lib/atanl.c: Include isnanl.h.
64710         (atanl): Perform test for NaN at the beginning of the function and
64711         through a call to isnanl.
64712         * lib/cosl.c: Include isnanl.h.
64713         (cosl): Perform test for NaN at the beginning of the function and
64714         through a call to isnanl.
64715         * lib/ldexpl.c: Include isnanl.h.
64716         (ldexpl): Perform test for NaN through a call to isnanl.
64717         * lib/logl.c: Include isnanl.h.
64718         (logl): Perform test for NaN at the beginning of the function and
64719         through a call to isnanl.
64720         * lib/sinl.c: Include isnanl.h.
64721         (sinl): Perform test for NaN at the beginning of the function and
64722         through a call to isnanl.
64723         * lib/sqrtl.c: Include isnanl.h.
64724         (sqrtl): Perform test for NaN at the beginning of the function and
64725         through a call to isnanl.
64726         * lib/tanl.c: Include isnanl.h.
64727         (tanl): Perform test for NaN at the beginning of the function and
64728         through a call to isnanl.
64729         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
64730         * modules/mathl (Depends-on): Add isnanl.
64731
64732 2007-03-26  Eric Blake  <ebb9@byu.net>
64733
64734         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
64735         regression in logic sense of previous patch.
64736
64737 2007-03-26  Bruno Haible  <bruno@clisp.org>
64738
64739         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
64740         unportable shell command "if ! ...".
64741         Reported by Ralf Wildenhues.
64742
64743 2007-03-25  Bruno Haible  <bruno@clisp.org>
64744
64745         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
64746         <sysexits.h> file, and only add EX_CONFIG.
64747         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
64748         absolute file name and whether it is sufficient. Substitute also
64749         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
64750         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
64751         ABSOLUTE_SYSEXITS_H into sysexits.h.
64752
64753 2007-03-25  Bruno Haible  <bruno@clisp.org>
64754
64755         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
64756         hints is NULL.
64757
64758 2007-03-25  Bruno Haible  <bruno@clisp.org>
64759
64760         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
64761         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
64762
64763 2007-03-25  Bruno Haible  <bruno@clisp.org>
64764
64765         * lib/vasnprintf.c: Include langinfo.h.
64766         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
64767         multithread-safe.
64768         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
64769         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
64770         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64771         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64772         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64773         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64774         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64775         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
64776         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64777         Reported by Simon Josefsson.
64778
64779 2007-03-25  Bruno Haible  <bruno@clisp.org>
64780
64781         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
64782         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
64783         * modules/vasnprintf (Depends-on): Add stdint.
64784
64785 2007-03-25  Bruno Haible  <bruno@clisp.org>
64786
64787         * modules/fpieee: New file.
64788         * m4/fpieee.m4: New file.
64789         * modules/isnan-nolibm (Depends-on): Add fpieee.
64790         * modules/isnanl-nolibm (Depends-on): Add fpieee.
64791         * modules/isnanl (Depends-on): Add fpieee.
64792
64793 2007-03-25  Bruno Haible  <bruno@clisp.org>
64794
64795         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
64796
64797 2007-03-25  Bruno Haible  <bruno@clisp.org>
64798
64799         Avoid test failures on IRIX 6.5.
64800         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
64801         (main): Use it.
64802         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
64803         macros.
64804         (main): Use them.
64805
64806 2007-03-25  Bruno Haible  <bruno@clisp.org>
64807
64808         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
64809         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
64810         exists but doesn't work.
64811         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
64812         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
64813         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
64814         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
64815         math.h.
64816
64817 2007-03-25  Bruno Haible  <bruno@clisp.org>
64818
64819         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
64820         returns inf. Needed on IRIX 6.5.
64821
64822 2007-03-25  Bruno Haible  <bruno@clisp.org>
64823
64824         * tests/test-frexpl.c: Include isnanl-nolibm.h.
64825         (main): Use isnanl instead of x != x idiom.
64826         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
64827
64828         * tests/test-frexp.c: Include isnan.h.
64829         (main): Use isnan instead of x != x idiom.
64830         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
64831
64832 2007-03-25  Bruno Haible  <bruno@clisp.org>
64833
64834         * tests/test-frexp.c (NaN): New function/macro.
64835         (main): Use it instead of 0.0 / 0.0.
64836         * tests/test-isnan.c (NaN): New function/macro.
64837         (main): Use it instead of 0.0 / 0.0.
64838         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
64839         (test_function): Use it instead of 0.0 / 0.0.
64840         * tests/test-vasprintf-posix.c (NaN): New function/macro.
64841         (test_function): Use it instead of 0.0 / 0.0.
64842         * tests/test-snprintf-posix.h (NaN): New function/macro.
64843         (test_function): Use it instead of 0.0 / 0.0.
64844         * tests/test-sprintf-posix.h (NaN): New function/macro.
64845         (test_function): Use it instead of 0.0 / 0.0.
64846         * tests/test-fprintf-posix.h (NaN): New function/macro.
64847         (test_function): Use it instead of 0.0 / 0.0.
64848         * tests/test-printf-posix.h (NaN): New function/macro.
64849         (test_function): Use it instead of 0.0 / 0.0.
64850
64851         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
64852
64853 2007-03-25  Bruno Haible  <bruno@clisp.org>
64854
64855         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
64856
64857 2007-03-25  Bruno Haible  <bruno@clisp.org>
64858
64859         * lib/regexec.c (merge_state_with_log): Make static.
64860
64861 2007-03-25  Bruno Haible  <bruno@clisp.org>
64862
64863         * lib/trigl.c (kernel_rem_pio2): Make static.
64864
64865 2007-03-25  Bruno Haible  <bruno@clisp.org>
64866
64867         * lib/sincosl.c (sincosl_table): Make static.
64868
64869 2007-03-25  Bruno Haible  <bruno@clisp.org>
64870
64871         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
64872         if the compiler does not support C99.
64873
64874 2007-03-25  Bruno Haible  <bruno@clisp.org>
64875
64876         * modules/time (Makefile.am): Ensure all rule action lines start with a
64877         tab.
64878
64879 2007-03-24  Bruno Haible  <bruno@clisp.org>
64880
64881         * modules/tsearch-tests: New file.
64882         * tests/test-tsearch.sh: New file.
64883         * tests/test-tsearch.c: New file, mostly copied from glibc.
64884
64885         * modules/search-tests: New file.
64886         * tests/test-search.c: New file.
64887
64888         * modules/search: New file.
64889         * lib/search_.h: New file, incorporating lib/tsearch.h.
64890         * m4/search_h.m4: New file.
64891         * lib/tsearch.h: Remove file.
64892         * lib/tsearch.c: Include search.h instead of tsearch.h.
64893         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
64894         HAVE_TSEARCH.
64895         * modules/tsearch (Files): Remove lib/tsearch.h.
64896         (Depends-on): Add search.
64897         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
64898         (Include): Change tsearch.h into search.h.
64899
64900 2007-03-24  Bruno Haible  <bruno@clisp.org>
64901
64902         * modules/fpucw: New file.
64903         * lib/fpucw.h: New file.
64904         * lib/frexp.c: Include fpucw.h.
64905         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64906         (FUNC): Use them.
64907         * lib/printf-frexp.c: Include fpucw.h.
64908         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64909         (FUNC): Use them.
64910         * lib/vasnprintf.c: Include fpucw.h.
64911         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
64912         'long double' calculations.
64913         * tests/test-frexpl.c: Include fpucw.h.
64914         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64915         * tests/test-printf-frexpl.c: Include fpucw.h.
64916         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64917         * modules/frexpl (Depends-on): Add fpucw.
64918         * modules/printf-frexpl (Depends-on): Likewise.
64919         * modules/fprintf-posix (Depends-on): Likewise.
64920         * modules/snprintf-posix (Depends-on): Likewise.
64921         * modules/sprintf-posix (Depends-on): Likewise.
64922         * modules/vasnprintf-posix (Depends-on): Likewise.
64923         * modules/vasprintf-posix (Depends-on): Likewise.
64924         * modules/vfprintf-posix (Depends-on): Likewise.
64925         * modules/vsnprintf-posix (Depends-on): Likewise.
64926         * modules/vsprintf-posix (Depends-on): Likewise.
64927         * modules/frexpl-tests (Depends-on): Likewise.
64928         * modules/printf-frexpl-tests (Depends-on): Likewise.
64929
64930 2007-03-24  Bruno Haible  <bruno@clisp.org>
64931
64932         * lib/float+.h: New file.
64933         * lib/isnan.c: Include float+.h.
64934         (SIZE): New macro.
64935         (FUNC): Compare only SIZE bytes of the value.
64936         * lib/vasnprintf.c: Include float+.h.
64937         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
64938         SIZEOF_LDBL or SIZEOF_DBL bytes.
64939         * modules/isnan-nolibm (Files): Add lib/float+.h.
64940         * modules/isnanl-nolibm (Files): Add lib/float+.h.
64941         * modules/isnanl (Files): Add lib/float+.h.
64942         * modules/vasnprintf (Files): Add lib/float+.h.
64943
64944 2007-03-24  Bruno Haible  <bruno@clisp.org>
64945
64946         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
64947         include isnanl-nolibm.h.
64948
64949 2007-03-24  Bruno Haible  <bruno@clisp.org>
64950
64951         * tests/test-read-file.c (main): Don't produce spurious output for
64952         expected situations. Make the test fail if it encountered unexpected
64953         results.
64954
64955 2007-03-24  Bruno Haible  <bruno@clisp.org>
64956
64957         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
64958         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
64959
64960 2007-03-24  Bruno Haible  <bruno@clisp.org>
64961
64962         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
64963
64964 2007-03-24  Bruno Haible  <bruno@clisp.org>
64965
64966         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
64967         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
64968
64969         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
64970         * modules/utf8-ucs4: Turn into a symbolic link to module
64971         unistr/u8-mbtouc.
64972
64973         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
64974         utf8-ucs4-unsafe.
64975         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
64976         unistr/u8-mbtouc-unsafe.
64977
64978         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
64979         * modules/utf16-ucs4: Turn into a symbolic link to module
64980         unistr/u16-mbtouc.
64981
64982         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
64983         utf16-ucs4-unsafe.
64984         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
64985         unistr/u16-mbtouc-unsafe.
64986
64987         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
64988         * modules/ucs4-utf8: Turn into a symbolic link to module
64989         unistr/u8-ubtomb.
64990
64991         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
64992         * modules/ucs4-utf16: Turn into a symbolic link to module
64993         unistr/u16-ubtomb.
64994
64995 2007-03-24  Bruno Haible  <bruno@clisp.org>
64996
64997         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
64998         Enable the function only if HAVE_INLINE.
64999         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65000         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65001         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65002         Enable the function only if HAVE_INLINE.
65003         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65004         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65005         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65006         Enable the function only if HAVE_INLINE.
65007         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65008         Enable the function only if HAVE_INLINE.
65009         * modules/utf8-ucs4: Update.
65010         * modules/utf8-ucs4-unsafe: Update.
65011         * modules/utf16-ucs4: Update.
65012         * modules/utf16-ucs4-unsafe: Update.
65013         * modules/ucs4-utf8: Update.
65014         * modules/ucs4-utf16: Update.
65015
65016 2007-03-24  Bruno Haible  <bruno@clisp.org>
65017
65018         * lib/utf8-ucs4.h: Remove file.
65019         * lib/utf8-ucs4-unsafe.h: Remove file.
65020         * lib/utf16-ucs4.h: Remove file.
65021         * lib/utf16-ucs4-unsafe.h: Remove file.
65022         * lib/ucs4-utf8.h: Remove file.
65023         * lib/ucs4-utf16.h: Remove file.
65024         * lib/unistr.h: Include their previous contents.
65025         * m4/utf-ucs4.m4: Remove file.
65026         * m4/ucs4-utf.m4: Remove file.
65027         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65028         (Depends-on): Add unistr/base.
65029         (configure.ac): Remove gl_UTF_UCS4.
65030         (Makefile.am): Update.
65031         (Include): Change to unistr.h.
65032         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65033         (Depends-on): Add unistr/base.
65034         (configure.ac): Remove gl_UTF_UCS4.
65035         (Makefile.am): Update.
65036         (Include): Change to unistr.h.
65037         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65038         (Depends-on): Add unistr/base.
65039         (configure.ac): Remove gl_UTF_UCS4.
65040         (Makefile.am): Update.
65041         (Include): Change to unistr.h.
65042         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65043         (Depends-on): Add unistr/base.
65044         (configure.ac): Remove gl_UTF_UCS4.
65045         (Makefile.am): Update.
65046         (Include): Change to unistr.h.
65047         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65048         (Depends-on): Add unistr/base.
65049         (configure.ac): Remove gl_UCS4_UTF.
65050         (Makefile.am): Update.
65051         (Include): Change to unistr.h.
65052         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65053         (Depends-on): Add unistr/base.
65054         (configure.ac): Remove gl_UCS4_UTF.
65055         (Makefile.am): Update.
65056         (Include): Change to unistr.h.
65057         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65058         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65059         utf8-ucs4-unsafe.h.
65060         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65061         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65062         utf16-ucs4-unsafe.h.
65063         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65064         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65065         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65066         * lib/unistr/u8-strchr.c: Likewise.
65067         * lib/unistr/u8-strrchr.c: Likewise.
65068         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65069         * lib/unistr/u16-strchr.c: Likewise.
65070         * lib/unistr/u16-strrchr.c: Likewise.
65071         * lib/striconveh.c: Update.
65072         * lib/linebreak.c: Update.
65073
65074 2007-03-24  Bruno Haible  <bruno@clisp.org>
65075
65076         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65077         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65078
65079 2007-03-22  Bruno Haible  <bruno@clisp.org>
65080
65081         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65082
65083 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65084
65085         * MODULES.html.sh (File system functions): New module write-any-file.
65086         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65087         * m4/write-any-file.m4: New files.
65088
65089 2007-03-23  Eric Blake  <ebb9@byu.net>
65090
65091         * gnulib-tool: Rearrange space-tab sequences, since some editors
65092         like to eat them.
65093
65094 2007-03-23  Eric Blake  <ebb9@byu.net>
65095
65096         * lib/version-etc.c (version_etc_va): Update license wording to
65097         be more concise.  Recommended by Richard Stallman.
65098
65099 2007-03-22  Bruno Haible  <bruno@clisp.org>
65100
65101         * lib/poll.c (MSG_PEEK): New fallback definition.
65102
65103 2007-03-22  Bruno Haible  <bruno@clisp.org>
65104
65105         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65106         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65107         (main): Update.
65108         Fixes a compilation error on BeOS.
65109
65110 2007-03-22  Bruno Haible  <bruno@clisp.org>
65111
65112         * modules/frexpl-tests: New file.
65113         * tests/test-frexpl.c: New file.
65114
65115         * modules/frexpl: New file.
65116         * m4/frexpl.m4: New file.
65117         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65118         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65119         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65120         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65121         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65122         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65123
65124 2007-03-22  Bruno Haible  <bruno@clisp.org>
65125
65126         * lib/frexpl.c: Share code with lib/frexp.c.
65127         * modules/mathl (Files): Add lib/frexp.c.
65128         (Depends-on): Add isnanl-nolibm.
65129
65130 2007-03-22  Bruno Haible  <bruno@clisp.org>
65131
65132         * modules/printf-frexp (Files): Add m4/frexp.m4.
65133         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65134         only if the found frexp function actually works.
65135
65136 2007-03-22  Bruno Haible  <bruno@clisp.org>
65137
65138         * lib/frexp.c: Remove older implementation that uses divisions.
65139
65140 2007-03-21  Bruno Haible  <bruno@clisp.org>
65141
65142         * modules/frexp-tests: New file.
65143         * tests/test-frexp.c: New file.
65144
65145         * modules/frexp: New file.
65146         * lib/frexp.c: New file.
65147         * m4/frexp.m4: New file.
65148         * lib/math_.h (frexp): New declaration.
65149         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65150         REPLACE_FREXP.
65151         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65152
65153 2007-03-21  Bruno Haible  <bruno@clisp.org>
65154
65155         * modules/isnanl-tests: New file.
65156         * tests/test-isnanl.c: New file.
65157
65158         * modules/isnanl: New file.
65159         * lib/isnanl.h: New file.
65160         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65161         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65162         gl_FUNC_ISNANL_WORKS.
65163         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65164         New macros.
65165
65166 2007-03-21  Bruno Haible  <bruno@clisp.org>
65167
65168         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65169         lib/isnanl.h.
65170         (Include): Update.
65171         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65172         * lib/vasnprintf.c: Update.
65173         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65174         tests/test-isnanl.h, remove tests/test-isnanl.c.
65175         (Makefile.am): Update.
65176         * tests/test-isnanl-nolibm.c: New file.
65177         * tests/test-isnanl.h: New file.
65178         * tests/test-isnanl.c: Remove file.
65179
65180 2007-03-21  Jim Meyering  <jim@meyering.net>
65181
65182         When trying to open ".", treat ESTALE like EACCES.
65183         * lib/savewd.c (savewd_save): Resort to forking not just upon
65184         failure with EACCES, but also when errno is ESTALE.
65185
65186 2007-03-20  Bruno Haible  <bruno@clisp.org>
65187
65188         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65189         Needed on AIX 5.1. Reported by Matthew Woehlke.
65190
65191 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65192
65193         Suggestions by Bruno Haible:
65194         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65195         our own.
65196         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65197         * modules/acl (Depends-on): Add gettext.
65198
65199 2007-03-19  Bruno Haible  <bruno@clisp.org>
65200
65201         * modules/iconvme: Remove file.
65202         * lib/iconvme.h: Remove file.
65203         * lib/iconvme.c: Remove file.
65204         * m4/iconvme.m4: Remove file.
65205
65206 2007-03-19  Bruno Haible  <bruno@clisp.org>
65207
65208         * doc/relocatable-maint.texi: Break long shell script line.
65209         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65210
65211 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65212
65213         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65214         handle file_has_acl.
65215         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65216         * lib/acl.c: Move header inclusions and related macro defns into
65217         lib/acl-internal.h.
65218         (S_ISLNK): Remove defn, since that's now done for us.
65219         (file_has_acl): Move to lib/file-has-acl.c.
65220         Call acl_trivial if available.  This is the crucial part of the fix.
65221         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65222         shared within the library.  Rewrite a bit, partly to make it compatible
65223         with the GNU coding style.
65224         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65225         Remove unnecessary double-quotes.
65226         Don't test for acl_to_text; the build will catch that.
65227         Replace acl_entries if it doesn't exist and it is needed.
65228         Check for -lsec and acl_trivial (as used on Solaris 10).
65229         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65230         lib/file-has-acl.c.
65231         (Depends-on): Add sys_stat, for S_ISLNK.
65232
65233 2007-03-19  Ben Pfaff  <blp@gnu.org>
65234
65235         * doc/gnulib.texi: Fix typos.
65236         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65237
65238 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65239
65240         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65241         If size is zero here, buf must be zero.
65242
65243 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65244
65245         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65246         <bruno@clisp.org>.
65247
65248 2007-03-18  Bruno Haible  <bruno@clisp.org>
65249
65250         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65251         Suggested by Eric Blake.
65252
65253 2007-03-18  Ben Pfaff  <blp@gnu.org>
65254
65255         * doc/relocatable.texi: Recommend using as prefix a directory
65256         that does not exist and will never be created.  Based on
65257         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65258         and others.
65259
65260 2007-03-17  Bruno Haible  <bruno@clisp.org>
65261
65262         * lib/fchownat.c: Include lchown.h.
65263
65264 2007-03-17  Bruno Haible  <bruno@clisp.org>
65265
65266         Fix endless loop when the given allocated size was > INT_MAX.
65267         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65268         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65269         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65270         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65271         * lib/sprintf.c (sprintf): Likewise.
65272
65273 2007-03-17  Bruno Haible  <bruno@clisp.org>
65274
65275         * tests/test-argp-2.sh (func_compare): Output a context diff.
65276
65277 2007-03-17  Bruno Haible  <bruno@clisp.org>
65278
65279         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65280         locale's decimal-point character.
65281
65282 2007-03-17  Bruno Haible  <bruno@clisp.org>
65283
65284         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65285         before comparing it. Needed because on some platforms (e.g. x86) a
65286         'long double' occupies less bytes than sizeof (long double).
65287
65288 2007-03-17  Bruno Haible  <bruno@clisp.org>
65289
65290         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65291         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65292         * tests/test-getaddrinfo.c (simple): Likewise.
65293         * tests/test-read-file.c (main): Likewise.
65294
65295 2007-03-17  Bruno Haible  <bruno@clisp.org>
65296
65297         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65298
65299 2007-03-17  Bruno Haible  <bruno@clisp.org>
65300
65301         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65302         unused variable.
65303
65304 2007-03-17  Bruno Haible  <bruno@clisp.org>
65305
65306         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65307         * tests/test-c-strncasecmp.c: Likewise.
65308
65309 2007-03-17  Bruno Haible  <bruno@clisp.org>
65310
65311         * modules/stdlib (Depends-on): Add unistd.
65312         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65313         Needed for MacOS X 10.3.
65314
65315 2007-03-17  Bruno Haible  <bruno@clisp.org>
65316
65317         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65318
65319 2007-03-17  Bruno Haible  <bruno@clisp.org>
65320
65321         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
65322
65323 2007-03-17  Bruno Haible  <bruno@clisp.org>
65324
65325         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
65326         to reflect files copied from gnulib (with or without modifications).
65327         Suggested by Jim Meyering.
65328
65329 2007-03-17  Eric Blake  <ebb9@byu.net>
65330
65331         * NEWS: Document stdlib change from 2007-02-18.
65332
65333 2007-03-17  Jim Meyering  <jim@meyering.net>
65334
65335         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65336         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65337         someone uses a name containing shell meta-characters.
65338         Reported by Alfred M. Szmidt.
65339
65340         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65341
65342 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65343
65344         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65345         and copy gettext configuration files only if configure.ac contains
65346         a use of AM_GNU_GETTEXT_VERSION.
65347
65348 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65349
65350         * build-aux/bootstrap (gnulib_name): New variable.
65351         (gnulib_tool_options): Use it.
65352
65353 2007-03-13  Simon Josefsson  <simon@josefsson.org>
65354
65355         * tests/test-des.c: Use new namespace.
65356
65357 2007-03-15  Bruno Haible  <bruno@clisp.org>
65358
65359         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
65360         Reported by James Youngman <jay@gnu.org>.
65361
65362 2007-03-15  Bruno Haible  <bruno@clisp.org>
65363
65364         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
65365         declared prototype. Needed with cc on OSF/1 5.1.
65366
65367 2007-03-15  Bruno Haible  <bruno@clisp.org>
65368
65369         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
65370         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
65371         (struct gl_list_implementation): Add dispose_fn argument to the
65372         'create_empty', 'create' methods.
65373         (struct gl_list_impl_base): Add field 'dispose_fn'.
65374         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
65375         argument.
65376         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
65377         dispose_fn argument.
65378         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
65379         dispose_fn on the dropped values.
65380         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
65381         dispose_fn argument.
65382         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
65383         dropped values.
65384         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
65385         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65386         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
65387         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65388         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
65389         argument.
65390         (gl_tree_list_free): Call dispose_fn on the dropped values.
65391         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
65392         the dropped values.
65393         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65394         Add dispose_fn argument.
65395         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
65396         Call dispose_fn on the dropped values.
65397         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
65398         Add dispose_fn argument.
65399         (gl_sublist_create): Initialize the 'dispose_fn' field.
65400         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
65401         * tests/test-array_list.c (main): Update.
65402         * tests/test-carray_list.c (main): Update.
65403         * tests/test-avltree_list.c (main): Update.
65404         * tests/test-rbtree_list.c (main): Update.
65405         * tests/test-avltreehash_list.c (main): Update.
65406         * tests/test-rbtreehash_list.c (main): Update.
65407         * tests/test-linked_list.c (main): Update.
65408         * tests/test-linkedhash_list.c (main): Update.
65409         * tests/test-array_oset.c (main): Update.
65410
65411 2007-03-15  Bruno Haible  <bruno@clisp.org>
65412
65413         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
65414         (gl_oset_create_empty): Add dispose_fn argument.
65415         (struct gl_oset_implementation): Add dispose_fn argument to
65416         'create_empty' method.
65417         (struct gl_oset_impl_base): Add dispose_fn field.
65418         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
65419         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
65420         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
65421         values.
65422         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
65423         (gl_tree_oset_free): Call dispose_fn on the dropped values.
65424         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65425         dropped value.
65426         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65427         dropped value.
65428         * tests/test-array_oset.c (main): Update.
65429         * tests/test-avltree_oset.c (main): Update.
65430         * tests/test-rbtree_oset.c (main): Update.
65431         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
65432
65433 2007-03-13  Bruno Haible  <bruno@clisp.org>
65434
65435         * tests/test-stdbool.c (i): Update after last patch.
65436
65437 2007-03-12  Bruno Haible  <bruno@clisp.org>
65438
65439         * lib/quotearg.c: Include <wctype.h> early, before the definition of
65440         the iswprint macro. Needed on Solaris 2.5.1.
65441
65442 2007-03-12  Bruno Haible  <bruno@clisp.org>
65443
65444         * tests/test-printf-frexp.c (main): Declare x as volatile.
65445
65446 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65447
65448         * doc/gnulib.texi (Build robot for gnulib): New section.
65449
65450 2007-03-12  Jim Meyering  <jim@meyering.net>
65451
65452         * build-aux/bootstrap: New file.
65453         * build-aux/bootstrap.conf: New file, from coreutils.
65454
65455 2007-03-11  Bruno Haible  <bruno@clisp.org>
65456
65457         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
65458
65459 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65460
65461         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
65462         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
65463         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
65464
65465 2007-03-11  Bruno Haible  <bruno@clisp.org>
65466
65467         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
65468         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
65469
65470 2007-03-11  Bruno Haible  <bruno@clisp.org>
65471
65472         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
65473         formula. Needed for SunPRO C 5.0.
65474
65475 2007-03-11  Bruno Haible  <bruno@clisp.org>
65476
65477         * modules/long-options (Depends-on): Add getopt.
65478
65479 2007-03-11  Bruno Haible  <bruno@clisp.org>
65480
65481         * modules/modechange (Depends-on): Add stdbool.
65482
65483 2007-03-11  Bruno Haible  <bruno@clisp.org>
65484
65485         * modules/i-ring (Depends-on): Add stdbool.
65486
65487 2007-03-11  Bruno Haible  <bruno@clisp.org>
65488
65489         * modules/gc-des (Depends-on): Add stdbool.
65490
65491 2007-03-11  Bruno Haible  <bruno@clisp.org>
65492
65493         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
65494
65495 2007-03-11  Bruno Haible  <bruno@clisp.org>
65496
65497         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
65498
65499 2007-03-11  Bruno Haible  <bruno@clisp.org>
65500
65501         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
65502
65503 2007-03-11  Bruno Haible  <bruno@clisp.org>
65504
65505         * lib/vasnprintf.c (sprintf): Undefine.
65506
65507 2007-03-11  Bruno Haible  <bruno@clisp.org>
65508
65509         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
65510         initializers in SunPRO C and Compaq C compilers.
65511
65512 2007-03-11  Bruno Haible  <bruno@clisp.org>
65513
65514         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
65515         decrementing code ANSI C compliant.
65516
65517 2007-03-11  Bruno Haible  <bruno@clisp.org>
65518
65519         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
65520         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
65521
65522 2007-03-11  Bruno Haible  <bruno@clisp.org>
65523
65524         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
65525         <stdbool.h> substitute doesn't pass.
65526
65527 2007-03-11  Bruno Haible  <bruno@clisp.org>
65528
65529         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
65530
65531 2007-03-11  Bruno Haible  <bruno@clisp.org>
65532
65533         * gnulib-tool (func_create_megatestdir): Create also an autobuild
65534         script, for submission to autobuild.josefsson.org.
65535
65536 2007-03-10  Bruno Haible  <bruno@clisp.org>
65537
65538         * modules/canonicalize-lgpl-tests: New file.
65539         * tests/test-canonicalize-lgpl.sh: New file.
65540         * tests/test-canonicalize-lgpl.c: New file.
65541
65542         * modules/c-strcase-tests: New file.
65543         * tests/test-c-strcase.sh: New file.
65544         * tests/test-c-strcasecmp.c: New file.
65545         * tests/test-c-strncasecmp.c: New file.
65546
65547         * modules/atexit-tests: New file.
65548         * tests/test-atexit.sh: New file.
65549         * tests/test-atexit.c: New file.
65550
65551 2007-03-10  Bruno Haible  <bruno@clisp.org>
65552
65553         * tests/test-binary-io.sh: Use temporary filenames that are not so
65554         likely to clash with those of other tests (in a parallel make).
65555         * tests/test-binary-io.c: Likewise.
65556
65557 2007-03-10  Bruno Haible  <bruno@clisp.org>
65558
65559         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
65560         fallback; use #error instead.
65561         Suggested by Simon Josefsson.
65562
65563 2007-03-10  Bruno Haible  <bruno@clisp.org>
65564
65565         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
65566         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
65567         first and the last.
65568
65569 2007-03-10  Bruno Haible  <bruno@clisp.org>
65570
65571         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
65572
65573 2007-03-10  Bruno Haible  <bruno@clisp.org>
65574
65575         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
65576         "make distcheck".
65577         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
65578         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
65579         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
65580
65581 2007-03-10  Bruno Haible  <bruno@clisp.org>
65582
65583         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
65584         variable.
65585         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
65586         variable.
65587
65588 2007-03-09  Eric Blake  <ebb9@byu.net>
65589         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
65590
65591         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
65592         types are not being provided by gnulib.
65593         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
65594         types are supported.
65595
65596 2007-03-10  Bruno Haible  <bruno@clisp.org>
65597
65598         * lib/stdio_.h (__attribute__): New macro.
65599         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
65600         vsprintf): Specify __attribute__ __format__ for GCC.
65601         Suggested by Eric Blake.
65602
65603 2007-03-09  Bruno Haible  <bruno@clisp.org>
65604
65605         * modules/printf-posix-tests: New file.
65606         * tests/test-printf-posix.sh: New file.
65607         * tests/test-printf-posix.c: New file.
65608
65609         * modules/printf-posix: New file.
65610         * lib/printf.c: New file.
65611         * m4/printf-posix-rpl.m4: New file.
65612         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
65613         REPLACE_PRINTF.
65614         * lib/stdio_.h (printf): New declaration.
65615         (format, __format__, ____printf____, ____scanf____, ____strftime____,
65616         ____strfmon____): New macros.
65617         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
65618         REPLACE_PRINTF.
65619
65620 2007-03-09  Bruno Haible  <bruno@clisp.org>
65621
65622         * tests/test-vasnprintf-posix2.sh: New file.
65623         * tests/test-vasnprintf-posix2.c: New file.
65624         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
65625         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
65626         (Makefile.am): Activate test-vasnprintf-posix2.sh.
65627
65628         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
65629         a locale dependent decimal point, rather than always '.'.
65630
65631 2007-03-09  Eric Blake  <ebb9@byu.net>
65632
65633         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
65634         spite of platforms like Tandem/NSK that define it to -1.
65635
65636 2007-03-08  Bruno Haible  <bruno@clisp.org>
65637
65638         * modules/vprintf-posix-tests: New file.
65639         * tests/test-vprintf-posix.sh: New file.
65640         * tests/test-vprintf-posix.c: New file.
65641         * tests/test-printf-posix.h: New file.
65642
65643         * modules/vprintf-posix: New file.
65644         * lib/vprintf.c: New file.
65645         * m4/vprintf-posix.m4: New file.
65646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
65647         REPLACE_VPRINTF.
65648         * lib/stdio_.h (vprintf): New declaration.
65649         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
65650         REPLACE_VPRINTF.
65651
65652 2007-03-08  Bruno Haible  <bruno@clisp.org>
65653
65654         * modules/fprintf-posix-tests: New file.
65655         * tests/test-fprintf-posix.sh: New file.
65656         * tests/test-fprintf-posix.c: New file.
65657
65658         * modules/fprintf-posix: New file.
65659         * lib/fprintf.c: New file.
65660         * m4/fprintf-posix.m4: New file.
65661         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
65662         REPLACE_FPRINTF.
65663         * lib/stdio_.h (fprintf): New declaration.
65664         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
65665         REPLACE_FPRINTF.
65666
65667 2007-03-08  Bruno Haible  <bruno@clisp.org>
65668
65669         * modules/vfprintf-posix-tests: New file.
65670         * tests/test-vfprintf-posix.sh: New file.
65671         * tests/test-vfprintf-posix.c: New file.
65672         * tests/test-fprintf-posix.h: New file.
65673         * tests/test-fprintf-posix.out: New file.
65674
65675         * modules/vfprintf-posix: New file.
65676         * lib/vfprintf.c: New file.
65677         * m4/vfprintf-posix.m4: New file.
65678         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
65679         REPLACE_VFPRINTF.
65680         * lib/stdio_.h (vfprintf): New declaration.
65681         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
65682         REPLACE_VFPRINTF.
65683
65684 2007-03-08  Bruno Haible  <bruno@clisp.org>
65685
65686         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
65687
65688 2007-03-08  Bruno Haible  <bruno@clisp.org>
65689
65690         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
65691         instead of 'expr' invocations.
65692         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65693         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65694         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65695         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65696         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65697         Suggested by Paul Eggert.
65698
65699 2007-03-08  Bruno Haible  <bruno@clisp.org>
65700
65701         * modules/fseterr-tests: New file.
65702         * tests/test-fseterr.c: New file.
65703
65704         * modules/fseterr: New file.
65705         * lib/fseterr.h: New file.
65706         * lib/fseterr.c: New file.
65707
65708 2007-03-08  Bruno Haible  <bruno@clisp.org>
65709
65710         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
65711         * lib/getopt_.h: Likewise.
65712         * lib/mbswidth.h: Likewise.
65713         * lib/setenv.h: Likewise.
65714         * lib/vasnprintf.h: Likewise.
65715         * lib/vasprintf.h: Likewise.
65716         * lib/verror.h: Likewise.
65717         * lib/xsetenv.h: Likewise.
65718         * lib/xvasprintf.h: Likewise.
65719
65720 2007-03-08  Jim Meyering  <jim@meyering.net>
65721
65722         * users.txt: Add parted.
65723
65724         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
65725
65726 2007-03-07  Bruno Haible  <bruno@clisp.org>
65727
65728         * m4/printf.m4: Make the shell script snippets copy&pastable.
65729
65730 2007-03-02  Bruno Haible  <bruno@clisp.org>
65731
65732         * lib/netinet_in_.h: New file.
65733         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
65734         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
65735         * modules/netinet_in (Files): Add lib/netinet_in_.h.
65736         (Depends-on): Add absolute-header.
65737         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
65738         into netinet/in.h.
65739
65740 2007-03-03  Bruno Haible  <bruno@clisp.org>
65741
65742         * lib/sys_select_.h: New file.
65743         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
65744         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
65745         * modules/sys_select (Files): Add lib/sys_select_.h.
65746         (Depends-on): Add absolute-header.
65747         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
65748         into sys/select.h.
65749
65750 2007-03-02  Bruno Haible  <bruno@clisp.org>
65751
65752         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
65753         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
65754         values.
65755         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
65756         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
65757         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
65758         * modules/sys_socket (Depends-on): Add absolute-header.
65759         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
65760         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
65761         (Include): Remove requirement of inclusion of <sys/types.h>.
65762
65763 2007-03-02  Bruno Haible  <bruno@clisp.org>
65764
65765         * lib/byteswap_.h (bswap_32): Fix formula.
65766
65767 2007-03-06  Bruno Haible  <bruno@clisp.org>
65768
65769         * modules/sprintf-posix-tests: New file.
65770         * tests/test-sprintf-posix.c: New file.
65771
65772         * modules/sprintf-posix: New file.
65773         * lib/sprintf.c: New file.
65774         * m4/sprintf-posix.m4: New file.
65775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
65776         REPLACE_SPRINTF.
65777         * lib/stdio_.h (sprintf): New declaration.
65778         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
65779         REPLACE_SPRINTF.
65780
65781 2007-03-06  Bruno Haible  <bruno@clisp.org>
65782
65783         * modules/vsprintf-posix-tests: New file.
65784         * tests/test-vsprintf-posix.c: New file.
65785         * tests/test-sprintf-posix.h: New file.
65786
65787         * modules/vsprintf-posix: New file.
65788         * lib/vsprintf.c: New file.
65789         * m4/vsprintf-posix.m4: New file.
65790         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
65791         REPLACE_VSPRINTF.
65792         * lib/stdio_.h (vsprintf): New declaration.
65793         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
65794         REPLACE_VSPRINTF.
65795
65796 2007-03-06  Bruno Haible  <bruno@clisp.org>
65797
65798         * modules/vsnprintf (Depend-on): Remove minmax.
65799
65800 2007-03-06  Bruno Haible  <bruno@clisp.org>
65801
65802         * modules/snprintf-posix-tests: New file.
65803         * tests/test-snprintf-posix.c: New file.
65804
65805         * modules/snprintf-posix: New file.
65806         * m4/snprintf-posix.m4: New file.
65807         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
65808         gl_FUNC_SNPRINTF.
65809         (gl_FUNC_SNPRINTF): Invoke it.
65810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
65811         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
65812         is set.
65813         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
65814
65815 2007-03-06  Bruno Haible  <bruno@clisp.org>
65816
65817         * modules/vsnprintf-posix-tests: New file.
65818         * tests/test-vsnprintf-posix.c: New file.
65819         * tests/test-snprintf-posix.h: New file.
65820
65821         * modules/vsnprintf-posix: New file.
65822         * m4/vsnprintf-posix.m4: New file.
65823         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
65824         gl_FUNC_VSNPRINTF.
65825         (gl_FUNC_VSNPRINTF): Invoke it.
65826         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
65827         * lib/stdio_.h (vsnprintf): Define as a replacement if
65828         REPLACE_VSNPRINTF is set.
65829         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
65830
65831 2007-03-06  Bruno Haible  <bruno@clisp.org>
65832
65833         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
65834         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
65835
65836 2007-03-06  Bruno Haible  <bruno@clisp.org>
65837
65838         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
65839         (asinl): Declare also if HAVE_DECL_ASINL is set.
65840         (atanl): Declare also if HAVE_DECL_ATANL is set.
65841         (ceill): Declare also if HAVE_DECL_CEILL is set.
65842         (cosl): Declare also if HAVE_DECL_COSL is set.
65843         (expl): Declare also if HAVE_DECL_EXPL is set.
65844         (floorl): Declare also if HAVE_DECL_FLOORL is set.
65845         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
65846         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
65847         (logl): Declare also if HAVE_DECL_LOGL is set.
65848         (sinl): Declare also if HAVE_DECL_SINL is set.
65849         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
65850         (tanl): Declare also if HAVE_DECL_TANL is set.
65851         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
65852         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
65853         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
65854         declaration of frexpl, ldexpl.
65855         * modules/printf-frexpl (Depends-on): Add math.
65856         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
65857
65858 2007-03-05  Bruno Haible  <bruno@clisp.org>
65859
65860         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
65861         frexpl and ldexpl are declared.
65862         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
65863
65864 2007-03-05  Bruno Haible  <bruno@clisp.org>
65865
65866         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
65867         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
65868
65869 2007-03-05  Bruno Haible  <bruno@clisp.org>
65870
65871         * lib/stdio_.h: Include <stddef.h>.
65872
65873 2007-03-05  Bruno Haible  <bruno@clisp.org>
65874
65875         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
65876
65877 2007-03-05  Bruno Haible  <bruno@clisp.org>
65878
65879         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
65880         NetBSD 4, from Ralf Wildenhues.
65881
65882 2007-03-04  Bruno Haible  <bruno@clisp.org>
65883
65884         * lib/vasprintf.h: Update #if logic for the case when the functions
65885         exist but are overridden.
65886
65887 2007-03-04  Bruno Haible  <bruno@clisp.org>
65888
65889         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
65890         implementations: glibc-2.4 and MacOS X 10.3.
65891         * tests/test-vasnprintf-posix.c (test_function): Test also the case
65892         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
65893         * tests/test-vasprintf-posix.c (test_function): Likewise.
65894
65895 2007-03-04  Bruno Haible  <bruno@clisp.org>
65896
65897         * modules/vasprintf-posix-tests: New file.
65898         * tests/test-vasprintf-posix.c: New file.
65899
65900         * modules/vasprintf-posix: New file.
65901         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
65902         defined.
65903         * m4/vasprintf-posix.m4: New file.
65904         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
65905         gl_FUNC_VASPRINTF.
65906         (gl_FUNC_VASPRINTF): Invoke it.
65907         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
65908         here.
65909         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
65910
65911 2007-03-04  Bruno Haible  <bruno@clisp.org>
65912
65913         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
65914         REPLACE_GETTIMEOFDAY.
65915         * modules/sys_time (Makefile.am): Likewise.
65916         * m4/sys_time_h.m4: Likewise.
65917         * m4/gettimeofday.m4: Likewise.
65918
65919 2007-03-04  Bruno Haible  <bruno@clisp.org>
65920
65921         * modules/vasnprintf-posix-tests: New file.
65922         * tests/test-vasnprintf-posix.c: New file.
65923
65924         * modules/vasnprintf-posix: New file.
65925         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
65926         printf-frexpl.h.
65927         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
65928         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
65929         REPLACE_VASNPRINTF is defined.
65930         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
65931         gl_FUNC_VASNPRINTF.
65932         (gl_FUNC_VASNPRINTF): Invoke it.
65933         * m4/vasnprintf-posix.m4: New file.
65934         * m4/printf.m4: New file.
65935
65936 2007-03-04  Bruno Haible  <bruno@clisp.org>
65937
65938         Compile progreloc.c only if --enable-relocatable is specified.
65939         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
65940         if --enable-relocatable was specified.
65941         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
65942         lib_SOURCES.
65943
65944 2007-03-04  Jim Meyering  <jim@meyering.net>
65945
65946         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
65947         Use it consistently, rather than enumerating errno constants.
65948
65949 2007-03-04  Bruno Haible  <bruno@clisp.org>
65950
65951         * modules/xvasprintf-tests: New file.
65952         * tests/test-xvasprintf.c: New file.
65953
65954         * modules/vasprintf-tests: New file.
65955         * tests/test-vasprintf.c: New file.
65956
65957         * modules/vasnprintf-tests: New file.
65958         * tests/test-vasnprintf.c: New file.
65959
65960         * modules/vsnprintf-tests: New file.
65961         * tests/test-vsnprintf.c: New file.
65962
65963         * modules/snprintf-tests: New file.
65964         * tests/test-snprintf.c: New file.
65965
65966 2007-03-04  Bruno Haible  <bruno@clisp.org>
65967
65968         Compile relocatable.c only if --enable-relocatable is specified.
65969         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
65970         gl_RELOCATABLE_LIBRARY.
65971         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
65972         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
65973         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
65974         gl_RELOCATABLE_LIBRARY.
65975         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
65976         (Makefile.am): Remove lib_SOURCES.
65977         * modules/relocatable-lib-lgpl (configure.ac): Invoke
65978         gl_RELOCATABLE_LIBRARY.
65979         (Makefile.am): Remove lib_SOURCES.
65980         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
65981         always.
65982         * modules/relocatable-prog-wrapper (configure.ac): Invoke
65983         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
65984
65985 2007-03-04  Bruno Haible  <bruno@clisp.org>
65986
65987         * modules/argmatch-tests: New file.
65988         * tests/test-argmatch.c: New file.
65989
65990         * tests/test-allocsa.c (main): Halve the number of loop runs.
65991
65992         * modules/alloca-opt-tests: New file.
65993         * tests/test-alloca-opt.c: New file.
65994
65995 2007-03-04  Jim Meyering  <jim@meyering.net>
65996
65997         Work around difference between Linux ACLs and Solaris 10 ZFS.
65998         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
65999         for EINVAL.
66000
66001 2007-03-03  Bruno Haible  <bruno@clisp.org>
66002
66003         * modules/relocatable-prog (Depends-on): Add back progreloc's
66004         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66005
66006 2007-03-03  Bruno Haible  <bruno@clisp.org>
66007
66008         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66009         * modules/relocatable-lib: New file.
66010
66011 2007-03-03  Bruno Haible  <bruno@clisp.org>
66012
66013         * modules/relocatable-prog: Renamed from modules/relocatable.
66014         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66015
66016 2007-03-03  Bruno Haible  <bruno@clisp.org>
66017
66018         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66019         m4/relocatable-lib.m4.
66020         (Depends-on): Remove 'relocatable'.
66021         (configure.ac): Add gl_RELOCATABLE_NOP.
66022
66023 2007-03-03  Bruno Haible  <bruno@clisp.org>
66024
66025         * modules/relocatable-prog-wrapper: New file.
66026         * modules/relocatable (Depends-on): Add it. Remove all other
66027         dependencies except progname.
66028         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66029
66030         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66031         (gl_FUNC_STRERROR): Nop.
66032         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66033
66034         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66035         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66036
66037         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66038         (gl_FUNC_READLINK): Update.
66039
66040         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66041
66042 2007-03-03  Bruno Haible  <bruno@clisp.org>
66043
66044         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66045         * modules/xreadlink (Depends-on): Add unistd.
66046         * modules/xreadlink-with-size (Depends-on): Likewise.
66047
66048 2007-03-03  Bruno Haible  <bruno@clisp.org>
66049
66050         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66051         extracted from gt_FUNC_SETENV.
66052         (gt_FUNC_SETENV): Remove macro.
66053         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66054         remove gt_FUNC_SETENV.
66055
66056 2007-03-03  Bruno Haible  <bruno@clisp.org>
66057
66058         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66059         ENABLE_RELOCATABLE here.
66060         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66061
66062 2007-03-03  Bruno Haible  <bruno@clisp.org>
66063
66064         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66065         * tests/test-rbtreehash_list.c: Include progname.h.
66066         (main): Call set_program_name.
66067
66068         * modules/rbtree-oset-tests (Depends-on): Add progname.
66069         * tests/test-rbtree_oset.c: Include progname.h.
66070         (main): Call set_program_name.
66071
66072         * modules/rbtree-list-tests (Depends-on): Add progname.
66073         * tests/test-rbtree_list.c: Include progname.h.
66074         (main): Call set_program_name.
66075
66076         * modules/linked-list-tests (Depends-on): Add progname.
66077         * tests/test-linked_list.c: Include progname.h.
66078         (main): Call set_program_name.
66079
66080 2007-03-03  Bruno Haible  <bruno@clisp.org>
66081
66082         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66083         All uses of __restrict changed to _Restrict_.
66084         * lib/glob_.h (__restrict): Remove macro.
66085
66086 2007-03-02  Bruno Haible  <bruno@clisp.org>
66087
66088         * modules/gettext (configure.ac): Require gettext infrastructure
66089         from version 0.16.1.
66090
66091 2007-03-02  Bruno Haible  <bruno@clisp.org>
66092
66093         * modules/linkedhash-list-tests (Depends-on): Add progname.
66094         * tests/test-linkedhash_list.c: Include progname.h.
66095         (main): Call set_program_name.
66096
66097         * modules/carray-list-tests (Depends-on): Add progname.
66098         * tests/test-carray_list.c: Include progname.h.
66099         (main): Call set_program_name.
66100
66101         * modules/avltreehash-list-tests (Depends-on): Add progname.
66102         * tests/test-avltreehash_list.c: Include progname.h.
66103         (main): Call set_program_name.
66104
66105         * modules/avltree-oset-tests (Depends-on): Add progname.
66106         * tests/test-avltree_oset.c: Include progname.h.
66107         (main): Call set_program_name.
66108
66109         * modules/avltree-list-tests (Depends-on): Add progname.
66110         * tests/test-avltree_list.c: Include progname.h.
66111         (main): Call set_program_name.
66112
66113         * modules/array-oset-tests (Depends-on): Add progname.
66114         * tests/test-array_oset.c: Include progname.h.
66115         (main): Call set_program_name.
66116
66117         * modules/array-list-tests (Depends-on): Add progname.
66118         * tests/test-array_list.c: Include progname.h.
66119         (main): Call set_program_name.
66120
66121         * modules/argp-tests (Depends-on): Add progname.
66122         * tests/test-argp.c: Include argp.h first. Include progname.h.
66123         (main): Call set_program_name.
66124
66125 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66126
66127         * doc/gnulib-tool.texi (Initial import): Reword description of
66128         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66129         limited effect even if defined after the first system include.
66130
66131 2007-03-01  Bruno Haible  <bruno@clisp.org>
66132
66133         * build-aux/config.libpath: Update to libtool-1.5.22.
66134         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66135
66136 2007-03-01  Bruno Haible  <bruno@clisp.org>
66137
66138         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66139         foo_CFLAGS.
66140         Reported by Ralf Wildenhues.
66141
66142 2007-03-01  Bruno Haible  <bruno@clisp.org>
66143
66144         * build-aux/install-reloc: Remove object files left over by some
66145         compilers.
66146         Reported by Ralf Wildenhues.
66147
66148 2007-03-01  Bruno Haible  <bruno@clisp.org>
66149
66150         * build-aux/install-reloc: Break long lines.
66151
66152 2007-03-01  Bruno Haible  <bruno@clisp.org>
66153
66154         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66155         Reported by Ralf Wildenhues.
66156
66157 2007-03-01  Bruno Haible  <bruno@clisp.org>
66158
66159         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66160         include ordering constraints.
66161
66162 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66163
66164         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66165         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66166         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66167         as another example.
66168         * lib/time_.h: Fix misspelling.
66169         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66170         Require gl_HEADER_TIME_H_DEFAULTS.
66171         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66172         * m4/time_r.m4 (gl_TIME_R): Likewise.
66173         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66174
66175 2007-03-01  Bruno Haible  <bruno@clisp.org>
66176
66177         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66178         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66179
66180 2007-03-01  Jim Meyering  <jim@meyering.net>
66181
66182         * modules/xreadlink (Maintainer): Add my name.
66183         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66184
66185 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66186             Bruno Haible  <bruno@clisp.org>
66187
66188         * build-aux/install-reloc: Compile also c-ctype.c.
66189         * build-aux/relocatable.sh.in: New file.
66190         * doc/relocatable.texi: New file.
66191         * doc/relocatable-maint.texi: New file.
66192         * doc/gnulib.texi: Include relocatable-maint.texi.
66193         * lib/progreloc.c: Include unistd.h unconditionally.
66194         * lib/relocwrapper.c: Include unistd.h unconditionally.
66195         Include c-ctype.h.
66196         (add_dotbin): Use c_tolower.
66197         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66198         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66199         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66200         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66201         to m4/relocatable-lib.m4.
66202         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66203         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66204         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66205         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66206         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66207         * modules/relocatable: New file.
66208         * modules/relocatable-lib: New file.
66209         * modules/relocatable-script: New file.
66210
66211 2007-02-28  Bruno Haible  <bruno@clisp.org>
66212
66213         Import --enable-relocatable infrastructure.
66214         * build-aux/config.libpath: New file, from GNU gettext.
66215         * build-aux/install-reloc: New file, from GNU gettext.
66216         * build-aux/reloc-ldflags: New file, from GNU gettext.
66217         * lib/relocatable.h: New file, from GNU gettext.
66218         * lib/relocatable.c: New file, from GNU gettext.
66219         * lib/relocwrapper.c: New file, from GNU gettext.
66220         * m4/relocatable.m4: New file, from GNU gettext.
66221
66222 2007-02-28  Bruno Haible  <bruno@clisp.org>
66223
66224         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66225
66226         * modules/xreadlink: New file, from GNU gettext with modifications.
66227         * lib/xreadlink.c: New file, from GNU gettext.
66228         * lib/xreadlink.h: Add comments.
66229         (xreadlink): New declaration.
66230
66231         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66232         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66233         lib/xreadlink-with-size.c.
66234         (configure.ac): Remove gl_XREADLINK invocation.
66235         (Makefile.am): Augment lib_SOURCES.
66236         * m4/xreadlink.m4: Remove file.
66237         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66238         (xreadlink_with_size): Renamed from xreadink.
66239         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66240         * modules/canonicalize (Depends-on): Replace xreadlink with
66241         xreadlink-with-size.
66242         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66243
66244 2007-02-25  Jim Meyering  <jim@meyering.net>
66245
66246         * build-aux/announce-gen: When complaining about excess arguments,
66247         list them.
66248
66249 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66250
66251         * README: Document signed integer overflow situation more
66252         accurately.
66253
66254 2007-02-25  Bruno Haible  <bruno@clisp.org>
66255
66256         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66257         'a' or 'A' conversion.
66258
66259 2007-02-25  Bruno Haible  <bruno@clisp.org>
66260
66261         * modules/filename: Renamed from modules/pathname.
66262         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66263         lib/concatpath.c with lib/concat-filename.c.
66264         (Makefile.am): Update.
66265         (Include): Replace pathname.h with filename.h.
66266         * lib/filename.h: Renamed from lib/pathname.h.
66267         (concatenated_filename): Renamed from concatenated_pathname.
66268         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66269         (concatenated_filename): Renamed from concatenated_pathname.
66270         * lib/findprog.c: Include filename.h instead of pathname.h.
66271         (find_in_path): Update.
66272         * lib/javacomp.c: Include filename.h instead of pathname.h.
66273         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66274         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66275         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66276         is_oldgcj_14_13_usable, is_javac_usable): Update.
66277         * lib/javaexec.c: Include filename.h instead of pathname.h.
66278         (execute_java_class): Update.
66279         * modules/findprog: Update.
66280         * modules/javacomp: Update.
66281         * modules/javaexec: Update.
66282         * MODULES.html.sh (File system functions): Add 'filename', remove
66283         'pathname'.
66284
66285 2007-02-25  Bruno Haible  <bruno@clisp.org>
66286
66287         * modules/printf-frexpl-tests: New file.
66288         * tests/test-printf-frexpl.c: New file.
66289
66290         * modules/printf-frexpl: New file.
66291         * lib/printf-frexpl.h: New file.
66292         * lib/printf-frexpl.c: New file.
66293         * m4/printf-frexpl.m4: New file.
66294
66295 2007-02-25  Bruno Haible  <bruno@clisp.org>
66296
66297         * modules/printf-frexp-tests: New file.
66298         * tests/test-printf-frexp.c: New file.
66299
66300         * modules/printf-frexp: New file.
66301         * lib/printf-frexp.h: New file.
66302         * lib/printf-frexp.c: New file.
66303         * m4/printf-frexp.m4: New file.
66304
66305 2007-02-25  Bruno Haible  <bruno@clisp.org>
66306
66307         Assume automake >= 1.10 for the tests.
66308         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66309         * modules/arctwo-tests: Likewise.
66310         * modules/argp-tests: Likewise.
66311         * modules/avltree-list-tests: Likewise.
66312         * modules/avltree-oset-tests: Likewise.
66313         * modules/avltreehash-list-tests: Likewise.
66314         * modules/carray-list-tests: Likewise.
66315         * modules/crc-tests: Likewise.
66316         * modules/des-tests: Likewise.
66317         * modules/gc-arcfour-tests: Likewise.
66318         * modules/gc-arctwo-tests: Likewise.
66319         * modules/gc-des-tests: Likewise.
66320         * modules/gc-hmac-md5-tests: Likewise.
66321         * modules/gc-hmac-sha1-tests: Likewise.
66322         * modules/gc-md2-tests: Likewise.
66323         * modules/gc-md4-tests: Likewise.
66324         * modules/gc-md5-tests: Likewise.
66325         * modules/gc-pbkdf2-sha1-tests: Likewise.
66326         * modules/gc-rijndael-tests: Likewise.
66327         * modules/gc-sha1-tests: Likewise.
66328         * modules/gc-tests: Likewise.
66329         * modules/getaddrinfo-tests: Likewise.
66330         * modules/hmac-md5-tests: Likewise.
66331         * modules/hmac-sha1-tests: Likewise.
66332         * modules/linked-list-tests: Likewise.
66333         * modules/linkedhash-list-tests: Likewise.
66334         * modules/lock-tests: Likewise.
66335         * modules/md2-tests: Likewise.
66336         * modules/md4-tests: Likewise.
66337         * modules/md5-tests: Likewise.
66338         * modules/rbtree-list-tests: Likewise.
66339         * modules/rbtree-oset-tests: Likewise.
66340         * modules/rbtreehash-list-tests: Likewise.
66341         * modules/read-file-tests: Likewise.
66342         * modules/rijndael-tests: Likewise.
66343         * modules/stdint-tests: Likewise.
66344         * modules/tls-tests: Likewise.
66345
66346 2007-02-24  Bruno Haible  <bruno@clisp.org>
66347
66348         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66349         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66350         function; instead check whether isnan with a double argument links.
66351         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66352         function; instead check whether isnan with a 'long double' argument
66353         links.
66354         Reported by Eric Blake <ebb9@byu.net>.
66355
66356 2007-02-24  Bruno Haible  <bruno@clisp.org>
66357
66358         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
66359         defined.
66360         * lib/isnanl.c: Remove all code. Just include isnan.c.
66361         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
66362
66363 2007-02-25  Jim Meyering  <jim@meyering.net>
66364
66365         Avoid conflicting types for 'unsetenv' on FreeBSD.
66366         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
66367         conflicting with FreeBSD's (5.0 and 6.1) function declaration
66368         in stdlib.h.
66369
66370 2007-02-24  Bruno Haible  <bruno@clisp.org>
66371
66372         * modules/isnanl-nolibm-tests: New file.
66373         * tests/test-isnanl.c: New file.
66374
66375         * modules/isnanl-nolibm: New file.
66376         * lib/isnanl.h: New file.
66377         * lib/isnanl.c: New file.
66378         * m4/isnanl.m4: New file.
66379
66380 2007-02-24  Bruno Haible  <bruno@clisp.org>
66381
66382         * modules/isnan-nolibm-tests: New file.
66383         * tests/test-isnan.c: New file.
66384
66385         * modules/isnan-nolibm: New file.
66386         * lib/isnan.h: New file.
66387         * lib/isnan.c: New file.
66388         * m4/isnan.m4: New file.
66389
66390 2007-02-24  Bruno Haible  <bruno@clisp.org>
66391
66392         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
66393         assume that an exponent fits in 20 bits.
66394
66395 2007-02-24  Jim Meyering  <jim@meyering.net>
66396
66397         * m4/regex.m4: Update the description of the configure-time option,
66398         --without-included-regex, to state accurately what the defaults are,
66399         and perhaps to give people an idea why using this option is risky.
66400
66401 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66402
66403         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
66404         loops on small arguments.  This attempts to avoid the problem
66405         Bruno Haible reported for AIX 4.3.2 in
66406         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
66407
66408 2007-02-23  Bruno Haible  <bruno@clisp.org>
66409
66410         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
66411         Needed for help2man.
66412
66413 2007-02-23  Karl Berry  <karl@gnu.org>
66414
66415         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
66416         exists, foo.h should be cvs-ignored, not committed.
66417
66418 2007-02-23  Eric Blake  <ebb9@byu.net>
66419
66420         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
66421         * lib/stat-time.h (includes): Likewise.
66422         * lib/utimecmp.c (includes): Likewise.
66423         * lib/utimens.h (includes): Likewise.
66424         * lib/getdate.y (includes): Also include "timespec.h" for use
66425         internal to the module.
66426         * modules/utimens (Depends-on): Revert yesterday's patch.
66427         * modules/nanosleep (Depends-on): Add missing dependency.
66428
66429 2007-02-22  Bruno Haible  <bruno@clisp.org>
66430
66431         * lib/glob.c: Don't include getlogin_r.h.
66432
66433 2007-02-22  Jim Meyering  <jim@meyering.net>
66434
66435         * modules/utimens (Depends-on): Add timespec, required for
66436         utimens.h's inclusion of timespec.h.
66437
66438 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
66439
66440         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
66441         long unreadable paths in GNU/Linux.  Problem reported by Andreas
66442         Schwab in
66443         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
66444         I'll try to think of a better way to fix the Solaris problem.
66445
66446         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
66447         like glibc; on Solaris 10, it fails with errno == EINVAL.
66448         POSIX says the behavior is unspecified if the first argument is NULL,
66449         so play it safe and never pass NULL to the system getcwd.
66450
66451 2007-02-21  Jim Meyering  <jim@meyering.net>
66452
66453         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
66454         of gettimeofday.  It would conflict with the one now always
66455         provided via sys_time_.h.  Reported by Matthew Woehlke, as
66456         an IRIX 6.5 build failure.
66457
66458 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66459
66460         Minor fixups to port to Solaris 10 with Sun C 5.8.
66461         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
66462         * modules/getcwd (Depends-on): Add dirfd.
66463         * lib/putenv.c (putenv): #undef it.
66464         (rpl_putenv): New decl.
66465         (malloc, free): Include <stdlib.h> rather than prototyping separately.
66466
66467 2007-02-20  Bruno Haible  <bruno@clisp.org>
66468
66469         * modules/stdio-tests: New file.
66470         * tests/test-stdio.c: New file.
66471
66472         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
66473         (Depends-on): Add stdio.
66474         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66475         (Include): Use <stdio.h> instead of vsnprintf.h.
66476         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66477         HAVE_DECL_VSNPRINTF.
66478         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
66479
66480         * modules/snprintf (Files): Remove lib/snprintf.h.
66481         (Depends-on): Add stdio.
66482         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66483         (Include): Use <stdio.h> instead of snprintf.h.
66484         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66485         HAVE_DECL_SNPRINTF.
66486         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
66487         * lib/getaddrinfo.c: Likewise.
66488
66489         * modules/stdio: New file.
66490         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
66491         * lib/snprintf.h: Remove file.
66492         * lib/vsnprintf.h: Remove file.
66493         * lib/.cppi-disable: Remove snprintf.h.
66494         * m4/stdio_h.m4: New file.
66495         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
66496
66497 2007-02-20  Jim Meyering  <jim@meyering.net>
66498
66499         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
66500         used by e.g., mingw.  From Bruno Haible.
66501
66502 2007-02-19  Bruno Haible  <bruno@clisp.org>
66503
66504         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
66505         warnings.
66506         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66507
66508 2007-02-19  Bruno Haible  <bruno@clisp.org>
66509
66510         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
66511         from mingw users.
66512
66513 2007-02-19  Bruno Haible  <bruno@clisp.org>
66514
66515         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
66516         warnings.
66517         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
66518
66519 2007-02-19  Jim Meyering  <jim@meyering.net>
66520
66521         Don't use FD after a successful "fdopendir (fd)".
66522         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
66523         Reset it by calling dirfd on the just-obtained DIR*.
66524
66525         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
66526         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
66527
66528 2007-02-18  Bruno Haible  <bruno@clisp.org>
66529
66530         * lib/readlink.c: Include <unistd.h>.
66531         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
66532         HAVE_READLINK.
66533         * modules/readlink (Depends-on): Add unistd.
66534         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66535         (Include): Add <unistd.h>.
66536
66537         * lib/getlogin_r.h: Remove file.
66538         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
66539         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
66540         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
66541         HAVE_DECL_GETLOGIN_R.
66542         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
66543         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66544         (Include): Use <unistd.h> instead of getlogin_r.h.
66545
66546         * lib/getcwd.h: Remove file.
66547         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
66548         * lib/xgetcwd.c: Likewise.
66549         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
66550         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
66551         * modules/getcwd (Files): Remove lib/getcwd.h.
66552         (Depends-on): Add unistd.
66553         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66554         (Include): Use <unistd.h> instad of getcwd.h.
66555
66556         * lib/ftruncate.c: Include <unistd.h> first.
66557         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
66558         Set HAVE_FTRUNCATE.
66559         * modules/ftruncate (Depends-on): Add unistd.
66560         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66561
66562         * lib/fchdir.c: Include <unistd.h> first.
66563         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
66564         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
66565         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
66566         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66567         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
66568
66569         * lib/dup2.c: Include <unistd.h> first.
66570         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
66571         HAVE_DUP2.
66572         * modules/dup2 (Depends-on): Add unistd.
66573         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66574
66575         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
66576         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
66577         REPLACE_CHOWN. Don't define chown as a macro here.
66578         * modules/chown (Depends-on): Add unistd.
66579         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66580
66581         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
66582         Add definition for GL_LINK_WARNING.
66583         (chown, dup2): New declarations.
66584         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
66585         link warning.
66586         (ftruncate): New declaration.
66587         (getcwd): New declaration, taken from old getcwd.h.
66588         (getlogin_r): New declaration, taken from old getlogin_r.h.
66589         (readlink): New declaration.
66590         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
66591         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
66592         (gl_PREREQ_UNISTD): Remove macro.
66593         (gl_UNISTD_MODULE_INDICATOR): New macro.
66594         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
66595         many new variables. Don't set UNISTD_H.
66596         * modules/unistd (Description): Change.
66597         (Depends-on): Add link-warning.
66598         (configure.ac): Update.
66599         (Makefile.am): Create unistd.h always. Substitute many new variables
66600         into it.
66601
66602 2007-02-18  Bruno Haible  <bruno@clisp.org>
66603
66604         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
66605         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
66606         HAVE_GETSUBOPT.
66607         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
66608         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
66609         * lib/getsubopt.h: Remove file.
66610         * modules/getsubopt (Files): Remove lib/getsubopt.h.
66611         (Depends-on): Add stdlib.
66612         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66613         (Includes): Use <stdlib.h> instead of getsubopt.h.
66614         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
66615         Set HAVE_GETSUBOPT.
66616         * lib/getsubopt.c: Don't include getsubopt.h.
66617
66618 2007-02-18  Bruno Haible  <bruno@clisp.org>
66619
66620         * modules/fchdir (Depends-on): Add dup2.
66621
66622 2007-02-18  Bruno Haible  <bruno@clisp.org>
66623
66624         * lib/stdlib_.h: Handle glibc's special invocation convention
66625         specially.
66626
66627 2007-02-18  Bruno Haible  <bruno@clisp.org>
66628
66629         * modules/stdlib-tests: New file.
66630         * tests/test-stdlib.c: New file.
66631
66632         * modules/mkstemp (Files): Remove lib/mkstemp.h.
66633         (Depends-on): Add stdlib.
66634         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66635         (Includes): Use <stdlib.h> instead of mkstemp.h.
66636         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66637         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
66638         * lib/mkstemp.c: Don't include mkstemp.h.
66639         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
66640         * lib/stdlib--.h: Don't include mkstemp.h.
66641
66642         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
66643         (Depends-on): Add stdlib.
66644         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66645         (Includes): Use <stdlib.h> instead of mkdtemp.h.
66646         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66647         HAVE_MKDTEMP.
66648         * lib/mkdtemp.c: Don't include mkdtemp.h.
66649         * lib/clean-temp.c: Don't include mkdtemp.h.
66650
66651         * modules/exit (Files): Remove lib/exit.h.
66652         (Depends-on): Add stdlib.
66653         (Makefile.am): Remove lib_SOURCES.
66654         (Include): Use <stdlib.h> instead of exit.h.
66655         * lib/argmatch.c: Don't include exit.h.
66656         * lib/execute.c: Likewise.
66657         * lib/pagealign_alloc.c: Likewise.
66658         * lib/pipe.c: Likewise.
66659         * lib/wait-process.c: Likewise.
66660         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
66661         * lib/exitfail.c: Likewise.
66662         * lib/savewd.c: Likewise.
66663         * lib/xsetenv.c: Likewise.
66664
66665         * modules/stdlib: New file.
66666         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
66667         and extra comments about mkstemp().
66668         * lib/exit.h: Remove file.
66669         * lib/mkdtemp.h: Remove file.
66670         * lib/mkstemp.h: Remove file.
66671         * m4/stdlib_h.m4: New file.
66672         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
66673
66674 2007-02-18  Bruno Haible  <bruno@clisp.org>
66675
66676         * modules/math-tests: New file.
66677         * tests/test-math.c: New file.
66678
66679         * modules/math: New file.
66680         * modules/mathl (Files): Remove lib/mathl.h.
66681         (Depends-on): Add math.
66682         (Makefile.am): Don't mention mathl.h.
66683         (Include): Use <math.h> instead of mathl.h.
66684         * lib/math_.h: New file.
66685         * lib/mathl.h: Remove file.
66686         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
66687         mathl.h.
66688         * lib/asinl.c: Likewise.
66689         * lib/atanl.c: Likewise.
66690         * lib/ceill.c: Likewise.
66691         * lib/cosl.c: Likewise.
66692         * lib/expl.c: Likewise.
66693         * lib/floorl.c: Likewise.
66694         * lib/frexpl.c: Likewise.
66695         * lib/ldexpl.c: Likewise.
66696         * lib/logl.c: Likewise.
66697         * lib/sincosl.c: Likewise.
66698         * lib/sinl.c: Likewise.
66699         * lib/sqrtl.c: Likewise.
66700         * lib/tanl.c: Likewise.
66701         * lib/trigl.c: Likewise.
66702         * m4/math_h.m4: New file.
66703         * MODULES.html.sh (Mathematics): Add math.
66704
66705 2007-02-17  Bruno Haible  <bruno@clisp.org>
66706
66707         * modules/wctype-tests: New file.
66708         * tests/test-wctype.c: New file.
66709
66710         * modules/wchar-tests: New file.
66711         * tests/test-wchar.c: New file.
66712
66713         * modules/unistd-tests: New file.
66714         * tests/test-unistd.c: New file.
66715
66716         * modules/time-tests: New file.
66717         * tests/test-time.c: New file.
66718
66719         * modules/sysexits-tests: New file.
66720         * tests/test-sysexits.c: New file.
66721
66722         * modules/sys_time-tests: New file.
66723         * tests/test-sys_time.c: New file.
66724
66725         * modules/sys_stat-tests: New file.
66726         * tests/test-sys_stat.c: New file.
66727
66728         * modules/sys_socket-tests: New file.
66729         * tests/test-sys_socket.c: New file.
66730
66731         * modules/sys_select-tests: New file.
66732         * tests/test-sys_select.c: New file.
66733
66734         * modules/string-tests: New file.
66735         * tests/test-string.c: New file.
66736
66737         * modules/stdbool-tests: New file.
66738         * tests/test-stdbool.c: New file.
66739
66740         * modules/netinet_in-tests: New file.
66741         * tests/test-netinet_in.c: New file.
66742
66743         * modules/inttypes-tests: New file.
66744         * tests/test-inttypes.c: New file.
66745
66746         * modules/fcntl-tests: New file.
66747         * tests/test-fcntl.c: New file.
66748
66749         * modules/byteswap-tests: New file.
66750         * tests/test-byteswap.c: New file.
66751
66752         * modules/arpa_inet-tests: New file.
66753         * tests/test-arpa_inet.c: New file.
66754
66755 2007-02-17  Bruno Haible  <bruno@clisp.org>
66756
66757         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
66758         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
66759         if the corresponding module is not enabled. Emit link warnings if
66760         the function is used nevertheless.
66761         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
66762         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
66763         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
66764         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
66765         * modules/inttypes (Depends-on): Add link-warning.
66766         (Makefile.am): Copy the contents of build-aux/link-warning.h into
66767         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
66768         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
66769         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
66770         * modules/imaxdiv (configure.ac): Likewise.
66771         * modules/strtoimax (configure.ac): Likewise.
66772         * modules/strtoumax (configure.ac): Likewise.
66773
66774 2007-02-17  Bruno Haible  <bruno@clisp.org>
66775
66776         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
66777         gl_STRING_MODULE_INDICATOR_DEFAULTS.
66778         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
66779         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
66780
66781 2007-02-17  Bruno Haible  <bruno@clisp.org>
66782
66783         * modules/link-warning: New file.
66784         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
66785         * lib/string_.h (GL_LINK_WARNING): Remove definition.
66786         * modules/string (Depends-on): Add link-warning.
66787         (Makefile.am): Copy the contents of build-aux/link-warning.h into
66788         string.h.
66789         * MODULES.html.sh (Support for building libraries and executables): Add
66790         link-warning.
66791
66792 2007-02-17  Bruno Haible  <bruno@clisp.org>
66793
66794         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
66795         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
66796         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
66797         long lines.
66798
66799 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
66800             Bruno Haible  <bruno@clisp.org>
66801
66802         * modules/tmpfile: New file.
66803         * lib/tmpfile.c: New file.
66804         * m4/tmpfile.m4: New file.
66805         * MODULES.html.sh (func_all_modules): New section "Input/output".
66806
66807 2007-02-15  Bruno Haible  <bruno@clisp.org>
66808
66809         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
66810         (supports_delete_on_close): New function.
66811         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
66812
66813 2007-02-14  Bruno Haible  <bruno@clisp.org>
66814
66815         * modules/mbspcasecmp-tests: New file.
66816         * tests/test-mbspcasecmp.sh: New file.
66817         * tests/test-mbspcasecmp.c: New file.
66818
66819         New module mbspcasecmp.
66820         * modules/mbspcasecmp: New file.
66821         * lib/mbspcasecmp.c: New file.
66822         * lib/string_.h (strncasecmp): Change warning message.
66823         (mbspcasecmp): New declaration.
66824         * m4/mbspcasecmp.m4: New file.
66825         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66826         GNULIB_MBSPCASECMP.
66827         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
66828         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
66829
66830 2007-02-14  Bruno Haible  <bruno@clisp.org>
66831
66832         * modules/mbsncasecmp-tests: New file.
66833         * tests/test-mbsncasecmp.sh: New file.
66834         * tests/test-mbsncasecmp.c: New file.
66835
66836         New module mbsncasecmp.
66837         * modules/mbsncasecmp: New file.
66838         * lib/mbsncasecmp.c: New file.
66839         * lib/string_.h (mbsncasecmp): New declaration.
66840         * m4/mbsncasecmp.m4: New file.
66841         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66842         GNULIB_MBSNCASECMP.
66843         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
66844         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
66845
66846 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
66847
66848         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
66849         Verify that it doesn't overlap with our flags.
66850         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
66851         do not have the desired effect in multibyte locales; instead, use
66852         mbscasecmp.
66853         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
66854         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
66855         we don't require GNU fnmatch ourselves (if our users require it, they
66856         should do so explicitly).
66857
66858         Fix regex code so it doesn't rely on strcasecmp.
66859         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
66860         Otherwise, include gnulib's langinfo.h.
66861         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
66862         undesirable behavior in non-C locales.  Instead, rely on localecharset.
66863         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
66864         * modules/regex (FILES): Remove m4/codeset.m4.
66865         (Depends-on): Add localcharset.  Remove strcase.
66866
66867 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66868
66869         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
66870         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
66871
66872 2007-02-13  Bruno Haible  <bruno@clisp.org>
66873
66874         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
66875         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66876
66877 2007-02-12  Bruno Haible  <bruno@clisp.org>
66878
66879         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66880         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
66881         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
66882         time warning rather than a link error.
66883
66884 2007-02-12  Bruno Haible  <bruno@clisp.org>
66885
66886         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
66887         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
66888         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66889
66890 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66891
66892         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
66893         args, not 2.
66894
66895 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66896
66897         New module 'time', so that apps can include <time.h> as per
66898         POSIX and GNU instead of separate include files like time_r.h
66899         and timegm.h.  This implementation tries out a simpler approach
66900         for replacing decls in standard include files (as compared to
66901         the string module), somewhat as an experiment.
66902
66903         * config/srclist.txt: Comment out mktime.c for now.
66904         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
66905         since it doesn't apply any more.  Use generic wording instead.
66906         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
66907         'time'.
66908         * lib/time_.h, m4/time_h.m4, modules/time: New files.
66909         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
66910         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
66911         Don't include <sys/types.h>; no longer needed since we assume C89.
66912         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
66913         * lib/strftime.c: Likewise.
66914         * lib/time_r.c: Likewise.
66915         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
66916         * lib/nanosleep.c: Include <time.h> first, to check interface.
66917         * lib/strptime.c: Likewise.
66918         * lib/time_r.c: Likewise.
66919         * lib/timegm.c: Likewise.
66920         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
66921         needed.
66922         * lib/timegm.c: Don't include timegm.h; no longer needed.
66923         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
66924         time.h now handles any problems in that area.
66925         (struct timespec, nanosleep): Remove; time.h now arranges for these.
66926         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
66927         that time.h defines struct timespec.
66928         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
66929         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
66930         handles that.
66931         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
66932         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
66933         needed.  Set REPLACE_LOCALTIME.
66934         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
66935         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
66936         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
66937         nanosleep; time_h.m4 now does that.  Don't require
66938         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
66939         module handles this now.
66940         * modules/getdate (Depends-on): Remove timespec.  Add time.
66941         * modules/nanosleep (Depends-on): Likewise.
66942         * modules/stat-time (Depends-on): Likewise.
66943         * modules/nanosleep (Include): Include time.h, not timespec.h.
66944         * modules/strptime (Files): Remove lib/strptime.h.
66945         (Depends-on): Add extensions, time.
66946         (Include): Include time.h, not strptime.h.
66947         * modules/time_r (Files): Remove lib/time_r.h.
66948         (Depends-on): Add time.
66949         (Include): Include time.h, not time_r.h.
66950         * modules/timegm: Likewise.
66951         * modules/timespec (Description): Now does timespec-related decls
66952         of our own, instead of struct timespec itself.
66953         (Depends-on): Add time; remove extensions.
66954         (Maintainer): Add self.
66955         * modules/utimecmp (Depends-on): Add time; remove timespec.
66956         * modules/utimens (Depends-on): Likewise.
66957         * modules/xnanosleep (Depends-on): Likewise.
66958
66959 2007-02-11  Bruno Haible  <bruno@clisp.org>
66960
66961         * lib/c-strstr.c: Include allocsa.h.
66962         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66963         * lib/c-strcasestr.c: Include allocsa.h.
66964         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66965         * lib/strcasestr.c: Include allocsa.h.
66966         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66967         * lib/mbsstr.c: Include allocsa.h.
66968         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66969         allocsa/freesa instead of malloc/free.
66970         * lib/mbscasestr.c: Include allocsa.h.
66971         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66972         allocsa/freesa instead of malloc/free.
66973         * modules/c-strstr (Depends-on): Add allocsa.
66974         * modules/c-strcasestr (Depends-on): Likewise.
66975         * modules/strcasestr (Depends-on): Likewise.
66976         * modules/mbsstr (Depends-on): Likewise.
66977         * modules/mbscasestr (Depends-on): Likewise.
66978
66979 2007-02-11  Bruno Haible  <bruno@clisp.org>
66980
66981         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
66982
66983         * modules/mbsspn-tests: New file.
66984         * tests/test-mbsspn.sh: New file.
66985         * tests/test-mbsspn.c: New file.
66986
66987 2007-02-11  Bruno Haible  <bruno@clisp.org>
66988
66989         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
66990
66991         * modules/mbspbrk-tests: New file.
66992         * tests/test-mbspbrk.sh: New file.
66993         * tests/test-mbspbrk.c: New file.
66994
66995 2007-02-11  Bruno Haible  <bruno@clisp.org>
66996
66997         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
66998         unneeded cast.
66999
67000         * modules/mbscspn-tests: New file.
67001         * tests/test-mbscspn.sh: New file.
67002         * tests/test-mbscspn.c: New file.
67003
67004 2007-02-11  Bruno Haible  <bruno@clisp.org>
67005
67006         * modules/mbscasecmp-tests: New file.
67007         * tests/test-mbscasecmp.sh: New file.
67008         * tests/test-mbscasecmp.c: New file.
67009
67010 2007-02-11  Bruno Haible  <bruno@clisp.org>
67011
67012         Ensure O(n) worst-case complexity of mbscasestr.
67013         * lib/mbscasestr.c: Include stdbool.h.
67014         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67015         functions.
67016         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67017         the bookkeeping indicates that it's worth it.
67018         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67019
67020         * modules/mbscasestr-tests: New file.
67021         * tests/test-mbscasestr1.c: New file.
67022         * tests/test-mbscasestr2.sh: New file.
67023         * tests/test-mbscasestr2.c: New file.
67024         * tests/test-mbscasestr3.sh: New file.
67025         * tests/test-mbscasestr3.c: New file.
67026         * tests/test-mbscasestr4.sh: New file.
67027         * tests/test-mbscasestr4.c: New file.
67028         * m4/locale-tr.m4: New file.
67029
67030 2007-02-11  Bruno Haible  <bruno@clisp.org>
67031
67032         Ensure O(n) worst-case complexity of mbsstr.
67033         * lib/mbsstr.c: Include stdbool.h.
67034         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67035         functions.
67036         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67037         bookkeeping indicates that it's worth it.
67038         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67039
67040         * modules/mbsstr-tests: New file.
67041         * tests/test-mbsstr1.c: New file.
67042         * tests/test-mbsstr2.sh: New file.
67043         * tests/test-mbsstr2.c: New file.
67044         * tests/test-mbsstr3.sh: New file.
67045         * tests/test-mbsstr3.c: New file.
67046         * m4/locale-fr.m4: New file.
67047
67048 2007-02-11  Bruno Haible  <bruno@clisp.org>
67049
67050         * lib/mbsrchr.c (mbsrchr): Fix bug.
67051
67052         * modules/mbsrchr-tests: New file.
67053         * tests/test-mbsrchr.sh: New file.
67054         * tests/test-mbsrchr.c: New file.
67055
67056 2007-02-11  Bruno Haible  <bruno@clisp.org>
67057
67058         * lib/mbschr.c (mbschr): Fix bug.
67059
67060         * modules/mbschr-tests: New file.
67061         * tests/test-mbschr.sh: New file.
67062         * tests/test-mbschr.c: New file.
67063         * m4/locale-zh.m4: New file.
67064
67065 2007-02-11  Bruno Haible  <bruno@clisp.org>
67066
67067         Support for copying multibyte string iterators.
67068         * lib/mbiter.h: Include <string.h>.
67069         (mbiter_multi_copy): New function.
67070         (mbi_copy): New macro.
67071         * lib/mbuiter.h: Include <string.h>.
67072         (mbuiter_multi_copy): New function.
67073         (mbui_copy): New macro.
67074
67075 2007-02-11  Bruno Haible  <bruno@clisp.org>
67076
67077         New module mbslen.
67078         * modules/mbslen: New file.
67079         * lib/mbslen.c: New file.
67080         * lib/string_.h (mbslen): New declaration.
67081         * m4/mbslen.m4: New file.
67082         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67083         GNULIB_MBSLEN.
67084         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67085         * MODULES.html.sh (Internationalization functions): Add mbslen.
67086
67087 2007-02-11  Bruno Haible  <bruno@clisp.org>
67088
67089         Ensure O(n) worst-case complexity of strcasestr substitute.
67090         * lib/strcasestr.c: Include stdbool.h.
67091         (knuth_morris_pratt): New function.
67092         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67093         bookkeeping indicates that it's worth it.
67094         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67095
67096         * modules/strcasestr-tests: New file.
67097         * tests/test-strcasestr.c: New file.
67098
67099 2007-02-11  Bruno Haible  <bruno@clisp.org>
67100
67101         Ensure O(n) worst-case complexity of c_strcasestr.
67102         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67103         (knuth_morris_pratt): New function.
67104         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67105         the bookkeeping indicates that it's worth it.
67106         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67107
67108         * modules/c-strcasestr-tests: New file.
67109         * tests/test-c-strcasestr.c: New file.
67110
67111 2007-02-11  Bruno Haible  <bruno@clisp.org>
67112
67113         Ensure O(n) worst-case complexity of c_strstr.
67114         * lib/c-strstr.c: Include stdbool.h, string.h.
67115         (knuth_morris_pratt): New function.
67116         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67117         bookkeeping indicates that it's worth it.
67118         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67119
67120         * lib/c-strstr.c: Complete rewrite for maintainability.
67121
67122         * modules/c-strstr-tests: New file.
67123         * tests/test-c-strstr.c: New file.
67124
67125 2007-02-11  Bruno Haible  <bruno@clisp.org>
67126
67127         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67128         5.2.1 and earlier, whereby \055 was treated just like the range
67129         delimiter '-'.
67130         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67131
67132 2007-02-08  Bruno Haible  <bruno@clisp.org>
67133
67134         * modules/regex (Depends-on): Add stdbool.
67135         Reported by Dalibor Topic <robilad@kaffe.org>.
67136
67137 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67138
67139         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67140         Prefer returning from main to exiting from it.
67141         Remove unnecessary parens after sizeof.
67142
67143 2007-02-05  Bruno Haible  <bruno@clisp.org>
67144
67145         New module mbssep.
67146         * modules/mbssep: New file.
67147         * lib/mbssep.c: New file.
67148         * lib/string_.h (strsep): Add a conditional link warning.
67149         (mbssep): New declaration.
67150         * m4/mbssep.m4: New file.
67151         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67152         GNULIB_MBSSEP.
67153         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67154         * MODULES.html.sh (Internationalization functions): Add mbssep.
67155
67156 2007-02-05  Bruno Haible  <bruno@clisp.org>
67157
67158         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67159         Optimize search in case of 1 delimiter.
67160
67161 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67162
67163         * lib/acl.h: Include sys/types.h before sys/acl.h.
67164
67165 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67166
67167         Merge upstream fix for glibc bugzilla #3957:
67168
67169         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67170
67171         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67172         bit for RE_HAT_LISTS_NOT_NEWLINE.
67173         (build_charclass_op): Remove bogus comment.
67174
67175 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67176
67177         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67178
67179 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67180
67181         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67182         * lib/memmem.c [!defined _LIBC]: Include config.h.
67183
67184 2007-02-04  Bruno Haible  <bruno@clisp.org>
67185
67186         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67187         warning message.
67188
67189 2007-02-04  Bruno Haible  <bruno@clisp.org>
67190
67191         New module mbstok_r.
67192         * modules/mbstok_r: New file.
67193         * lib/mbstok_r.c: New file.
67194         * lib/string_.h (strtok_r): Change argument names to match the
67195         comments. Add a conditional link warning.
67196         (mbstok_r): New declaration.
67197         * m4/mbstok_r.m4: New file.
67198         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67199         GNULIB_MBSTOK_R.
67200         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67201         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67202
67203 2007-02-04  Bruno Haible  <bruno@clisp.org>
67204
67205         New module mbsspn.
67206         * modules/mbsspn: New file.
67207         * lib/mbsspn.c: New file.
67208         * lib/string_.h (strspn): Add a conditional link warning.
67209         (mbsspn): New declaration.
67210         * m4/mbsspn.m4: New file.
67211         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67212         GNULIB_MBSSPN.
67213         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67214         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67215
67216 2007-02-04  Bruno Haible  <bruno@clisp.org>
67217
67218         New module mbspbrk.
67219         * modules/mbspbrk: New file.
67220         * lib/mbspbrk.c: New file.
67221         * lib/string_.h (strpbrk): Add a conditional link warning.
67222         (mbspbrk): New declaration.
67223         * m4/mbspbrk.m4: New file.
67224         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67225         GNULIB_MBSPBRK.
67226         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67227         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67228
67229 2007-02-04  Bruno Haible  <bruno@clisp.org>
67230
67231         New module mbscspn.
67232         * modules/mbscspn: New file.
67233         * lib/mbscspn.c: New file.
67234         * lib/string_.h (strcspn): Add a conditional link warning.
67235         (mbscspn): New declaration.
67236         * m4/mbscspn.m4: New file.
67237         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67238         GNULIB_MBSCSPN.
67239         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67240         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67241
67242 2007-02-04  Bruno Haible  <bruno@clisp.org>
67243
67244         New module mbscasestr, reduced goal of strcasestr.
67245         * modules/mbscasestr: New file.
67246         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67247         (mbscasestr): Renamed from strcasestr.
67248         * lib/strcasestr.c: Don't include mbuiter.h.
67249         (strcasestr): Remove support for multibyte locales.
67250         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67251         Change the conditional link warning.
67252         (mbscasestr): New declaration.
67253         * m4/mbscasestr.m4: New file.
67254         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67255         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67256         REPLACE_STRCASESTR.
67257         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67258         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67259         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67260         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67261         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67262         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67263         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67264         (Depends-on): Remove mbuiter.
67265         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67266
67267 2007-02-04  Bruno Haible  <bruno@clisp.org>
67268
67269         Simplify handling of strncasecmp.
67270         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67271         the conditional link warning.
67272         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67273         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67274         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67275         * modules/strcase (configure.ac): Don't invoke
67276         gl_STRING_MODULE_INDICATOR.
67277         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67278
67279 2007-02-04  Bruno Haible  <bruno@clisp.org>
67280
67281         New module mbscasecmp, reduced goal of strcasecmp.
67282         * modules/mbscasecmp: New file.
67283         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67284         (mbscasecmp): Renamed from strcasecmp.
67285         * lib/strcasecmp.c: Don't include mbuiter.h.
67286         (strcasecmp): Remove support for multibyte locales.
67287         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67288         Change the conditional link warning.
67289         (mbscasecmp): New declaration.
67290         * m4/mbscasecmp.m4: New file.
67291         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67292         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67293         REPLACE_STRCASECMP.
67294         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67295         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67296         GNULIB_MBSCASECMP.
67297         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67298         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67299         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67300         (Depends-on): Remove mbuiter.
67301         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67302
67303 2007-02-04  Bruno Haible  <bruno@clisp.org>
67304
67305         New module mbsstr. Remove module strstr.
67306         * modules/mbsstr: New file.
67307         * modules/strstr: Remove file.
67308         * lib/mbsstr.c: Renamed from lib/strstr.c.
67309         (mbsstr): Renamed from strstr.
67310         * lib/string_.h (strstr): Remove declaration. Change the conditional
67311         link warning.
67312         (mbsstr): New declaration.
67313         * m4/mbsstr.m4: New file.
67314         * m4/strstr.m4: Remove file.
67315         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67316         REPLACE_STRSTR.
67317         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67318         Don't initialize GNULIB_STRSTR.
67319         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67320         substitute GNULIB_STRSTR and REPLACE_STRSTR.
67321         * MODULES.html.sh (Internationalization functions): Add mbsstr.
67322         (Support for systems lacking ANSI C 89): Remove strstr.
67323
67324 2007-02-04  Bruno Haible  <bruno@clisp.org>
67325
67326         New module mbsrchr.
67327         * modules/mbsrchr: New file.
67328         * lib/mbsrchr.c: New file.
67329         * lib/string_.h (strrchr): Add a conditional link warning.
67330         (mbsrchr): New declaration.
67331         * m4/mbsrchr.m4: New file.
67332         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67333         GNULIB_MBSRCHR.
67334         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67335         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67336
67337 2007-02-04  Bruno Haible  <bruno@clisp.org>
67338
67339         New module mbschr.
67340         * modules/mbschr: New file.
67341         * lib/mbschr.c: New file.
67342         * lib/string_.h (strchr): Add a conditional link warning.
67343         (mbschr): New declaration.
67344         * m4/mbschr.m4: New file.
67345         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67346         GNULIB_MBSCHR.
67347         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67348         * MODULES.html.sh (Internationalization functions): Add mbschr.
67349
67350 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67351
67352         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67353
67354         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
67355
67356 2007-02-04  Bruno Haible  <bruno@clisp.org>
67357
67358         New module description section 'configure.ac-early'.
67359         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
67360         (func_get_autoconf_early_snippet): New function.
67361         (func_import, func_create_testdir): Use it. Remove special cases for
67362         modules 'extensions' and 'lock'.
67363         * modules/extensions (configure.ac-early): Require
67364         gl_USE_SYSTEM_EXTENSIONS.
67365         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
67366
67367 2007-02-04  Bruno Haible  <bruno@clisp.org>
67368
67369         Make use of gcj-4.3's -fsource and -ftarget option.
67370         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
67371         and if so try the options -fsource and -ftarget.
67372         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
67373         source_version, ftarget_option, target_version arguments.
67374         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
67375         (is_envjavac_oldgcj_14_14_usable): Renamed from
67376         is_envjavac_gcj_14_14_usable.
67377         (is_envjavac_oldgcj_14_13_usable): Renamed from
67378         is_envjavac_gcj_14_13_usable.
67379         (is_gcj_present): Update.
67380         (is_gcj_43, is_gcj43_usable): New functions.
67381         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
67382         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
67383         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
67384         try the options -fsource and -ftarget.
67385
67386 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67387
67388         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
67389         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
67390         larger value.
67391
67392 2007-02-03  Jim Meyering  <jim@meyering.net>
67393
67394         Give tools a better chance to allocate space for very large buffers.
67395         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
67396
67397         Make pwd and readlink work also when run with an unreadable parent dir
67398         on systems with openat support.
67399         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
67400         provided getcwd function, even when we have openat support.
67401         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
67402
67403 2007-02-02  Bruno Haible  <bruno@clisp.org>
67404
67405         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67406         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
67407         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
67408         portability problems if one of these functions is only used on specific
67409         platforms.
67410         Reported by Paul Eggert.
67411
67412 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
67413
67414         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
67415         is causing more trouble than it's curing.
67416         * lib/regex_internal.h (__mempcpy): Remove.
67417         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
67418         (and make the code a tad smaller to boot).
67419         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
67420
67421 2007-02-02  Jim Meyering  <jim@meyering.net>
67422
67423         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
67424         section, not in the Makefile.am: one.
67425
67426 2007-02-02  Eric Blake  <ebb9@byu.net>
67427
67428         * lib/strchrnul.c: Always include config.h first.
67429
67430         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
67431         gnulib strstr is not necessary here.
67432
67433 2007-02-02  Simon Josefsson  <simon@josefsson.org>
67434
67435         * m4/socklen.m4: Fix typo.
67436
67437 2007-02-02  Eric Blake  <ebb9@byu.net>
67438
67439         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
67440         * modules/netinet_in (Makefile.am): Likewise.
67441
67442 2007-02-01  Bruno Haible  <bruno@clisp.org>
67443
67444         * lib/string_.h (GL_LINK_WARNING): New macro.
67445         (strcasecmp, strstr, strcasestr): If provided by the system,
67446         conditionally define as a macro that leads to a warning instead of to
67447         an error.
67448         (strncasecmp): Conditionally define as a macro that leads to a warning.
67449
67450 2007-02-01  Karl Berry  <karl@gnu.org>
67451
67452         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
67453
67454 2007-02-01  Bruno Haible  <bruno@clisp.org>
67455
67456         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
67457         renamings.
67458
67459 2007-02-01  Eric Blake  <ebb9@byu.net>
67460
67461         * modules/regex (Depends-on): Revert dependence on mempcpy.
67462         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
67463         module's definition of mempcpy.
67464         Reported by Paul Eggert.
67465
67466 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67467
67468         * lib/string_.h: If the gnulib module XYZ is not present, undefine
67469         the symbol XYZ before redefining it.  This fixes a problem with
67470         programs that don't use XYZ, when compiled on systems that define
67471         XYZ to something else.
67472
67473 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
67474
67475         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
67476         occurs when "mkdir -m foo" creates a setgid directory that is (1)
67477         writeable to group or other and (2) is intended to have a special
67478         mode bit that is set or cleared.  In such a case, the directory
67479         should be neither group- nor other-writeable until the special
67480         mode bits are right.
67481
67482 2007-01-31  Eric Blake  <ebb9@byu.net>
67483
67484         * modules/mountlist (Depends-on): Add strstr.
67485
67486         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
67487         bug.
67488         * modules/string (Makefile.am): Remove redundant replacement.
67489         * modules/regex (Depends-on): Add mempcpy.
67490
67491 2007-01-31  Bruno Haible  <bruno@clisp.org>
67492
67493         New module description field 'Link'.
67494         * gnulib-tool (func_usage): Document --extract-link-directive.
67495         (sed_extract_prog): Recognize 'Link' directive.
67496         (func_get_link_directive): New function.
67497         (func_import): Show summary of link directives.
67498         Handle --extract-link-directive option.
67499         * modules/acl (Link): New section.
67500         * modules/clock-time (Link): New section.
67501         * modules/euidaccess (Link): New section.
67502         * modules/gettext (Link): New section.
67503         * modules/iconv (Link): New section.
67504         * modules/lock (Link): New section.
67505         * modules/nanosleep (Link): New section.
67506         * modules/readline (Link): New section.
67507
67508 2007-01-27  Bruno Haible  <bruno@clisp.org>
67509
67510         Enforce the use of gnulib modules for unportable <string.h> functions.
67511         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
67512         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
67513         (gl_HEADER_STRING_H_BODY): Require it.
67514         * lib/string_.h: If the gnulib module XYZ is not present, redefine
67515         the symbol XYZ to one that gives a link error.
67516         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
67517         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
67518         * modules/mempcpy (configure.ac): Likewise.
67519         * modules/memrchr (configure.ac): Likewise.
67520         * modules/stpcpy (configure.ac): Likewise.
67521         * modules/stpncpy (configure.ac): Likewise.
67522         * modules/strcase (configure.ac): Likewise.
67523         * modules/strcasestr (configure.ac): Likewise.
67524         * modules/strchrnul (configure.ac): Likewise.
67525         * modules/strdup (configure.ac): Likewise.
67526         * modules/strndup (configure.ac): Likewise.
67527         * modules/strnlen (configure.ac): Likewise.
67528         * modules/strpbrk (configure.ac): Likewise.
67529         * modules/strsep (configure.ac): Likewise.
67530         * modules/strstr (configure.ac): Likewise.
67531         * modules/strtok_r (configure.ac): Likewise.
67532
67533 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
67534
67535         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
67536
67537 2007-01-30  Jim Meyering  <jim@meyering.net>
67538
67539         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
67540
67541 2007-01-29  Bruno Haible  <bruno@clisp.org>
67542
67543         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
67544         * lib/execute.c: Likewise.
67545         * lib/pipe.c: Likewise.
67546         * lib/printf-args.h: Likewise.
67547         * lib/printf-args.c: Likewise.
67548         * lib/printf-parse.c: Likewise.
67549         * lib/vasnprintf.c: Likewise.
67550
67551 2007-01-29  Eric Blake  <ebb9@byu.net>
67552
67553         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
67554         declaration.
67555
67556 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
67557
67558         * lib/strptime.h (strptime): Use 'restrict' for args where
67559         POSIX requires this.
67560         * lib/strptime.c (strptime): Likewise.
67561         Change license notice from LGPL to GPL, since gnulib-tool will
67562         change this as needed.
67563         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
67564         defined.
67565         Include "strptime.h" first, to check interface.
67566         Do not #undef _LIBC and _NL_CURRENT.
67567         Do not include <stdlib.h>; no longer needed.
67568         Include "time_r.h" and declare ptime_locale_status
67569         only if _LIBC is not defined.
67570         (__P): Remove unused macro.
67571         (match_string): Bring back glibc version, but use it only if _LIBC
67572         is defined.
67573         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
67574         Remove unnecessary assertion and abort() call.
67575         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
67576         * m4/strptime.m4: Fix serial number comment.
67577         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
67578         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
67579         (Depends-on): Add time_r.
67580
67581 2007-01-29  Bruno Haible  <bruno@clisp.org>
67582
67583         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67584         strptime.
67585         * modules/strptime (Depends-on): Add stdbool.
67586         * lib/strptime.h: Include <time.h> always. Add comments.
67587
67588 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67589
67590         * modules/strptime: New file.
67591         * lib/strptime.h: New file.
67592         * lib/strptime.c: New file.
67593         * m4/strptime.m4: New file.
67594
67595 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67596
67597         * MODULES.html.sh: New module mpsort.
67598         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
67599
67600         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
67601         a circularity problem with HP-UX ia64 reported by Bob Proulx in
67602         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
67603         All uses changed.
67604         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
67605         All uses changed.
67606         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
67607         to _Restrict_.
67608         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
67609         the parameter matches the prototype.
67610
67611 2007-01-28  Jim Meyering  <jim@meyering.net>
67612
67613         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
67614         sys/time.h here, reverting that part of the previous patch:
67615         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
67616
67617 2007-01-28  Bruno Haible  <bruno@clisp.org>
67618
67619         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
67620         value of $(SYS_TIME_H).
67621         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
67622         remove it conditionally, too. [added by Jim Meyering]
67623         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
67624         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67625         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
67626         GETTIMEOFDAY_REPLACEMENT to 1.
67627
67628 2007-01-28  Bruno Haible  <bruno@clisp.org>
67629
67630         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
67631         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
67632         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
67633         Set UNISTD_H instead of UNISTD_H2.
67634         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
67635
67636 2007-01-28  Bruno Haible  <bruno@clisp.org>
67637
67638         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
67639         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
67640
67641 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67642
67643         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
67644         (func_create_testdir): Ensure C locale for `grep' and `tr'
67645         character ranges.
67646         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
67647         ACLOCAL_AMFLAGS parsing state machine.
67648
67649 2007-01-27  Bruno Haible  <bruno@clisp.org>
67650
67651         * modules/unistr/base: Update.
67652
67653 2007-01-27  Bruno Haible  <bruno@clisp.org>
67654
67655         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
67656         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
67657         * modules/unistr/u32-mbtouc-unsafe: Renamed from
67658         modules/unistr/u32-mbtouc.
67659         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
67660         * lib/unistr.h: Update.
67661         * lib/linebreak.c: Update.
67662         * modules/unistr/u32-mbtouc: Renamed from
67663         modules/unistr/u32-mbtouc-safe.
67664         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
67665         * lib/unistr.h: Update.
67666         * lib/unistr/u32-to-u8.c: Update.
67667         * lib/unistr/u32-to-u16.c: Update.
67668
67669 2007-01-27  Bruno Haible  <bruno@clisp.org>
67670
67671         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
67672         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
67673         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
67674         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
67675         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
67676         * modules/unistr/u16-mbtouc-unsafe: Renamed from
67677         modules/unistr/u16-mbtouc.
67678         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
67679         * lib/unistr.h: Update.
67680         * lib/linebreak.c: Update.
67681         * modules/linebreak: Update.
67682         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
67683         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
67684         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
67685         * modules/unistr/u16-mbtouc: Renamed from
67686         modules/unistr/u16-mbtouc-safe.
67687         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
67688         * lib/unistr.h: Update.
67689         * lib/unistr/u16-to-u8.c: Update.
67690         * modules/unistr/u16-to-u8: Update.
67691         * lib/unistr/u16-to-u32.c: Update.
67692         * modules/unistr/u16-to-u32: Update.
67693
67694 2007-01-27  Bruno Haible  <bruno@clisp.org>
67695
67696         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
67697         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
67698         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
67699         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
67700         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
67701         * modules/unistr/u8-mbtouc-unsafe: Renamed from
67702         modules/unistr/u8-mbtouc.
67703         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
67704         * lib/unistr.h: Update.
67705         * lib/striconveh.c: Update.
67706         * modules/striconveh: Update.
67707         * lib/linebreak.c: Update.
67708         * modules/linebreak: Update.
67709         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
67710         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
67711         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
67712         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
67713         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
67714         * lib/unistr.h: Update.
67715         * lib/striconveh.c: Update.
67716         * modules/striconveh: Update.
67717         * lib/unistr/u8-to-u16.c: Update.
67718         * modules/unistr/u8-to-u16: Update.
67719         * lib/unistr/u8-to-u32.c: Update.
67720         * modules/unistr/u8-to-u32: Update.
67721
67722 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67723
67724         Sync from Libtool.
67725         * lib/argz.c: Do not include strings.h nor memory.h, include
67726         string.h unconditionally.  Patch by Simon Josefsson.
67727
67728 2007-01-27  Bruno Haible  <bruno@clisp.org>
67729
67730         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
67731         from gl_HEADER_STRING_H_BODY.
67732         (gl_HEADER_STRING_H_BODY): Require it.
67733         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
67734         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67735         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67736         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67737         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67738         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
67739         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
67740         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67741         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
67742         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67743         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67744         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
67745         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67746         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
67747         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67748
67749 2007-01-27  Bruno Haible  <bruno@clisp.org>
67750
67751         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
67752         check_PROGRAMS into noinst_PROGRAMS.
67753         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
67754         check_PROGRAMS in this case.
67755         (func_import): Set for_test to false.
67756         (func_create_testdir): Set for_test to true.
67757
67758 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67759             Bruno Haible  <bruno@clisp.org>
67760
67761         * modules/strcasestr (Files): Remove lib/strcasestr.h.
67762         (Depends-on): Add string.
67763         (Includes): Use <string.h> instead of strcasestr.h.
67764         * modules/string (Makefile.am): Also substitute the value of
67765         REPLACE_STRCASESTR.
67766         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
67767         assume strcasestr is declared in <string.h> not <strings.h>. Also
67768         set REPLACE_STRCASESTR.
67769         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
67770         REPLACE_STRCASESTR.
67771         * lib/strcasestr.h: Remove file.
67772         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
67773         * lib/string_.h (strcasestr): New declaration.
67774
67775 2007-01-27  Bruno Haible  <bruno@clisp.org>
67776
67777         * lib/string_.h: Use 'extern'.
67778
67779 2007-01-27  Jim Meyering  <jim@meyering.net>
67780
67781         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
67782         of set-but-not-used local, "q".
67783
67784         * lib/mempcpy.c: Include <config.h> before <string.h>.
67785         This fixes a compilation error on HP-UX, due to the system's
67786         "restrict"-using mempcpy prototype.
67787
67788 2007-01-26  Bruno Haible  <bruno@clisp.org>
67789
67790         Small optimization.
67791         * lib/javacomp.c: Include c-strstr.h.
67792          (is_envjavac_gcj): Use c_strstr instead of strstr.
67793         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
67794
67795 2007-01-26  Bruno Haible  <bruno@clisp.org>
67796
67797         * MODULES.html.sh (Unicode string functions): Add the new modules.
67798
67799         * modules/uniconv/u32-strconv-to-locale: New file.
67800         * lib/uniconv/u32-strconv-to-locale.c: New file.
67801
67802         * modules/uniconv/u16-strconv-to-locale: New file.
67803         * lib/uniconv/u16-strconv-to-locale.c: New file.
67804
67805         * modules/uniconv/u8-strconv-to-locale: New file.
67806         * lib/uniconv/u8-strconv-to-locale.c: New file.
67807
67808         * modules/uniconv/u32-strconv-from-locale: New file.
67809         * lib/uniconv/u32-strconv-from-locale.c: New file.
67810
67811         * modules/uniconv/u16-strconv-from-locale: New file.
67812         * lib/uniconv/u16-strconv-from-locale.c: New file.
67813
67814         * modules/uniconv/u8-strconv-from-locale: New file.
67815         * lib/uniconv/u8-strconv-from-locale.c: New file.
67816
67817         * modules/uniconv/u32-strconv-to-enc: New file.
67818         * lib/uniconv/u32-strconv-to-enc.c: New file.
67819         * modules/uniconv/u32-strconv-to-enc-tests: New file.
67820         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
67821
67822         * modules/uniconv/u16-strconv-to-enc: New file.
67823         * lib/uniconv/u16-strconv-to-enc.c: New file.
67824         * lib/uniconv/u-strconv-to-enc.h: New file.
67825         * modules/uniconv/u16-strconv-to-enc-tests: New file.
67826         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
67827
67828         * modules/uniconv/u8-strconv-to-enc: New file.
67829         * lib/uniconv/u8-strconv-to-enc.c: New file.
67830         * modules/uniconv/u8-strconv-to-enc-tests: New file.
67831         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
67832
67833         * modules/uniconv/u32-strconv-from-enc: New file.
67834         * lib/uniconv/u32-strconv-from-enc.c: New file.
67835         * modules/uniconv/u32-strconv-from-enc-tests: New file.
67836         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
67837
67838         * modules/uniconv/u16-strconv-from-enc: New file.
67839         * lib/uniconv/u16-strconv-from-enc.c: New file.
67840         * modules/uniconv/u16-strconv-from-enc-tests: New file.
67841         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
67842
67843         * modules/uniconv/u8-strconv-from-enc: New file.
67844         * lib/uniconv/u8-strconv-from-enc.c: New file.
67845         * lib/uniconv/u-strconv-from-enc.h: New file.
67846         * modules/uniconv/u8-strconv-from-enc-tests: New file.
67847         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
67848
67849         * modules/uniconv/u32-conv-from-enc: New file.
67850         * lib/uniconv/u32-conv-from-enc.c: New file.
67851         * modules/uniconv/u32-conv-from-enc-tests: New file.
67852         * tests/uniconv/test-u32-conv-from-enc.c: New file.
67853
67854         * modules/uniconv/u16-conv-from-enc: New file.
67855         * lib/uniconv/u16-conv-from-enc.c: New file.
67856         * lib/uniconv/u-conv-from-enc.h: New file.
67857         * modules/uniconv/u16-conv-from-enc-tests: New file.
67858         * tests/uniconv/test-u16-conv-from-enc.c: New file.
67859
67860         * modules/uniconv/u8-conv-from-enc: New file.
67861         * lib/uniconv/u8-conv-from-enc.c: New file.
67862         * modules/uniconv/u8-conv-from-enc-tests: New file.
67863         * tests/uniconv/test-u8-conv-from-enc.c: New file.
67864
67865         * modules/uniconv/base: New file.
67866         * lib/uniconv.h: New file.
67867
67868 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
67869
67870         * doc/gnulib-tool.texi (Initial import): Update to match current
67871         behavior with strdup module.
67872         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
67873         * lib/memmem.h: Remove; all uses removed.  This is now done
67874         by <string.h>.
67875         * lib/mempcpy.h: Likewise.
67876         * lib/memrchr.h: Likewise.
67877         * lib/stpcpy.h: Likewise.
67878         * lib/stpncpy.h: Likewise.
67879         * lib/strcase.h: Likewise.
67880         * lib/strchrnul.h: Likewise.
67881         * lib/strdup.h: Likewise.
67882         * lib/strndup.h: Likewise.
67883         * lib/strnlen.h: Likewise.
67884         * lib/strpbrk.h: Likewise.
67885         * lib/strsep.h: Likewise.
67886         * lib/strstr.h: Likewise.
67887         * lib/strtok_r.h: Likewise.
67888         * lib/string_.h: New file.
67889         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
67890         Rely on <string.h> instead.
67891         * lib/canon-host.c: Likewise.
67892         * lib/chdir-long.c: Likewise.
67893         * lib/concatpath.c: Likewise.
67894         * lib/exclude.c: Likewise.
67895         * lib/fchdir.c: Likewise.
67896         * lib/getaddrinfo.c: Likewise.
67897         * lib/getcwd.c: Likewise.
67898         * lib/getsubopt.c: Likewise.
67899         * lib/glob.c: Likewise.
67900         * lib/hard-locale.c: Likewise.
67901         * lib/iconvme.c: Likewise.
67902         * lib/javacomp.c: Likewise.
67903         * lib/mempcpy.c: Likewise.
67904         * lib/memrchr.c: Likewise.
67905         * lib/regex_internal.h: Likewise.
67906         * lib/stpncpy.c: Likewise.
67907         * lib/strcasecmp.c: Likewise.
67908         * lib/strchrnul.c: Likewise.
67909         * lib/strdup.c: Likewise.
67910         * lib/striconv.c: Likewise.
67911         * lib/striconveh.c: Likewise.
67912         * lib/striconveha.c: Likewise.
67913         * lib/strncasecmp.c: Likewise.
67914         * lib/strndup.c: Likewise.
67915         * lib/strnlen.c: Likewise.
67916         * lib/strsep.c: Likewise.
67917         * lib/strstr.c: Likewise.
67918         * lib/strtok_r.c: Likewise.
67919         * lib/userspec.c: Likewise.
67920         * lib/w32spawn.h: Likewise.
67921         * lib/xstrndup.c: Likewise.
67922         * lib/mountlist.c (strstr): Remove decl.
67923         * m4/string_h.m4: New file.
67924         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
67925         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
67926         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
67927         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
67928         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
67929         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
67930         Set REPLACE_STRCASECMP if necessary.
67931         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
67932         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
67933         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
67934         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
67935         HAVE_DECL_STRDUP if necessary.
67936         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
67937         since gl_FUNC_STRNDUP does that now.
67938         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
67939         Check for decl here...
67940         (gl_PREREQ_STRNLEN): ... not here.
67941         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
67942         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
67943         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
67944         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
67945         necessary.
67946         * modules/string: New file.
67947         * modules/memmem (Files): Remove special-purpose include file.
67948         (Depends-on): Add string.
67949         (Include): Include <string.h>, not the removed file.
67950         * modules/mempcpy: Likewise.
67951         * modules/memrchr: Likewise.
67952         * modules/stpcpy: Likewise.
67953         * modules/stpncpy: Likewise.
67954         * modules/strcase: Likewise.
67955         * modules/strchrnul: Likewise.
67956         * modules/strdup: Likewise.
67957         * modules/strndup: Likewise.
67958         * modules/strnlen: Likewise.
67959         * modules/strpbrk: Likewise.
67960         * modules/strsep: Likewise.
67961         * modules/strstr: Likewise.
67962         * modules/strtok_r: Likewise.
67963         * tests/test-dirname.c: Don't include "strdup.h", since
67964         <string.h> now suffices.
67965         * tests/test-memmem.c: Don't include "memmem.h", since
67966         <string.h> now suffices.
67967
67968 2007-01-25  Bruno Haible  <bruno@clisp.org>
67969
67970         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
67971         *resultp is 0.
67972
67973         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
67974         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
67975         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
67976         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
67977
67978         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
67979         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
67980         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
67981         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
67982         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
67983         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
67984
67985 2007-01-24  Bruno Haible  <bruno@clisp.org>
67986
67987         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
67988         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
67989         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
67990         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
67991         gl_FUNC_FTS_CORE.
67992         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
67993         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
67994         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67995         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
67996         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
67997         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
67998         gl_FUNC_FCHOWNAT.
67999         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68000         gl_FUNC_STRFTIME.
68001         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68002         Reported by Ralf Wildenhues.
68003
68004 2007-01-24  Bruno Haible  <bruno@clisp.org>
68005
68006         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68007         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68008         gl_GETADDRINFO.
68009         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68010         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68011         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68012
68013 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68014
68015         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68016         Don't use 'exit'; just return from 'main'.
68017         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68018
68019         * lib/fnmatch_.h: Readjust white space and comments to match
68020         glibc, to avoid spurious diffs.
68021
68022 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68023
68024         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68025         2004-12-01 change by Jakub Jelinek, since this code won't compile
68026         if !LIBC.  Problem reported by Bob Proulx.
68027
68028 2007-01-23  Bruno Haible  <bruno@clisp.org>
68029
68030         * lib/striconveh.c: Include c-strcaseeq.h.
68031         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68032         * modules/striconveh (Depends-on): Add c-strcaseeq.
68033
68034 2007-01-23  Bruno Haible  <bruno@clisp.org>
68035
68036         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68037
68038         * modules/c-strcaseeq: New file.
68039         * lib/c-strcaseeq.h: New file.
68040
68041         * modules/streq: New file.
68042         * lib/streq.h: New file.
68043
68044 2007-01-23  Bruno Haible  <bruno@clisp.org>
68045
68046         * modules/striconveha-tests: New file.
68047         * tests/test-striconveha.c: New file.
68048
68049         * lib/striconveha.h: Include <stdbool.h>.
68050         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68051         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68052         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68053         (mem_iconveha): New function.
68054         (str_iconveha_notranslit): Renamed from str_iconveha.
68055         (str_iconveha): New function.
68056         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68057         c-strcase.
68058
68059 2007-01-23  Bruno Haible  <bruno@clisp.org>
68060
68061         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68062         encodings without forgiving before trying any encoding with handler.
68063         (str_iconveha): Try all encodings without forgiving before trying any
68064         encoding with handler.
68065
68066 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68067
68068         Import the following changes from libc.
68069
68070         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68071
68072         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68073
68074         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68075
68076         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68077         normal_bracket label.
68078
68079         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68080
68081         [BZ #361]
68082         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68083         to normal_bracket after fetching the next character.
68084
68085 2007-01-22  Bruno Haible  <bruno@clisp.org>
68086
68087         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68088         argument.
68089         * lib/striconveh.c (iconv_carefully_1): New function.
68090         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68091         argument.
68092         (str_cd_iconveh): Update.
68093         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68094         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68095         * tests/test-striconveh.c (MAGIC): New macro.
68096         (new_offsets): New function.
68097         (main): Test call with and without offsets.
68098
68099 2007-01-22  Bruno Haible  <bruno@clisp.org>
68100
68101         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68102         * modules/sys_select (Makefile.am): Likewise.
68103         * modules/sys_socket (Makefile.am): Likewise.
68104         * modules/sys_time (Makefile.am): Likewise.
68105
68106 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68107
68108         * modules/gettimeofday (License): Change from GPL to LGPL, since
68109         gettimeofday is a library function.
68110
68111 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68112
68113         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68114
68115 2007-01-21  Bruno Haible  <bruno@clisp.org>
68116
68117         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68118
68119 2007-01-21  Bruno Haible  <bruno@clisp.org>
68120
68121         * modules/striconveha: New file.
68122         * lib/striconveha.h: New file.
68123         * lib/striconveha.c: New file.
68124         * MODULES.html.sh (Internationalization functions): Add striconveha.
68125         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68126         string.
68127         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68128
68129 2007-01-21  Bruno Haible  <bruno@clisp.org>
68130
68131         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68132         * lib/striconveh.c (str_iconveh): Likewise.
68133
68134 2007-01-21  Bruno Haible  <bruno@clisp.org>
68135
68136         * lib/striconveh.h (mem_iconveh): New declaration.
68137         * lib/striconveh.c (mem_iconveh): New function.
68138         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68139
68140 2007-01-21  Bruno Haible  <bruno@clisp.org>
68141
68142         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68143
68144         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68145         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68146         original result buffer.
68147         (str_cd_iconveh): Update.
68148         * tests/test-striconveh.c (main): Update.
68149
68150         * lib/striconv.h (mem_cd_iconv): Change specification.
68151         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68152         result buffer.
68153         (str_cd_iconv): Update.
68154         * tests/test-striconv.c (main): Update.
68155
68156 2007-01-21  Bruno Haible  <bruno@clisp.org>
68157
68158         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68159
68160 2007-01-20  Jim Meyering  <jim@meyering.net>
68161
68162         * lib/userspec.c (parse_with_separator): If a user or group string
68163         starts with "+", skip the corresponding name-to-ID look-up, since
68164         such a look-up must fail: user and group names may not include "+".
68165
68166 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68167
68168         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68169         since we now assume the sys_time module.
68170         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68171         check for sys/time.h; no longer needed.
68172         * modules/poll (Depends-on): Depend on sys_time.
68173
68174 2007-01-18  Bruno Haible  <bruno@clisp.org>
68175
68176         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68177         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68178
68179         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68180         gettimeofday.
68181
68182         * tests/test-gettimeofday.c: Include <time.h>.
68183         (dummy): Remove variable.
68184
68185         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68186         gl_HEADER_SYS_TIME_H.
68187         (gl_HEADER_SYS_TIME_H): New macro.
68188
68189         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68190         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68191         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68192         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68193         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68194         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68195         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68196         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68197         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68198         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68199         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68200
68201         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68202         last change; it caused a compilation error when cross-compiling to
68203         Cygwin.
68204
68205 2007-01-18  Jim Meyering  <jim@meyering.net>
68206
68207         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68208         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68209         than the race-prone "test -d sys || mkdir sys".
68210         (configure.ac): Use AC_PROG_MKDIR_P.
68211         * modules/sys_select: Likewise.
68212         * modules/sys_socket: Likewise.
68213         * modules/sys_time: Likewise.
68214
68215 2007-01-18  Eric Blake  <ebb9@byu.net>
68216
68217         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68218         replace gettimeofday.
68219         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68220         name, to avoid infinite recursion.
68221
68222 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68223
68224         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68225         module sys_time.
68226         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68227         assume timespec.h defines struct timeval.
68228         * lib/settime.c: Likewise.
68229         * lib/utimens.c: Likewise.
68230         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68231         since we now assume the gettimeofday module.
68232         * lib/tempname.c (__gen_tempname): Likewise.
68233         * lib/gettimeofday.h: Remove.
68234         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68235         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68236         Include <time.h>, for 'time()'.
68237         (localtime_buffer_addr): Also use this workaround if
68238         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68239         to simplify the uses.  All uses changed.
68240         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68241         that #undef is inside {}, and 'const' follows type name consistently.
68242         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68243         (gettimeofday): Do not use the maximum possible value for
68244         tv->tv_usec, since that might break usages other than ls.c.
68245         Instead, we'll leave ls.c alone.  This undoes today's patch
68246         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68247         we've never observed the problem but might as well keep the
68248         canary.
68249         * lib/nanosleep.c: Include timespec.h first, for interface check.
68250         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68251         now assume the sys_time module.
68252         * lib/tempname.c: Likewise.
68253         * lib/timespec.h: Likewise.
68254         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68255         needed.
68256         * lib/strftime.c: Likewise.
68257         * lib/timespec.h: Likewise.
68258         * lib/posixtm.c: Include posixtm.h first, for interface check.
68259         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68260         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68261         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68262         * lib/sys_time_.h: New file.
68263         * lib/timespec.h (struct timespec): Use long int, not long.
68264         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68265         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68266         Remove obsolescent call to AC_HEADER_TIME.
68267         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68268         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68269         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68270         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68271         Likewise.
68272         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68273         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68274         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68275         into the sys_time module.  Check for gettimeofday just once.
68276         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68277         for gettimeofday signature to just check the signature.  Merely
68278         compile it, since linking doesn't test signature.  Improve test for
68279         whether gettimeofday.o is actually needed.
68280         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68281         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68282         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68283         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68284         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68285         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68286         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68287         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68288         than worrying about sys/time.h.
68289         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68290         Don't bother worrying about TIME_WITH_SYS_TIME.
68291         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68292         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68293         * m4/sys_time_h.m4: New file.
68294         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68295         Don't include sys/time.h.  Return from main rather than exiting.
68296         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68297         all uses changed.
68298         * modules/gethrxtime (Depends-on): Add sys_time.
68299         * modules/gettime (Depends-on): Likewise.
68300         * modules/gettimeofday (Depends-on): Likewise.
68301         * modules/nanosleep (Depends-on): Likewise.
68302         * modules/settime (Depends-on): Likewise.
68303         * modules/tempname (Depends-on): Likewise.
68304         * modules/utimens (Depends-on): Likewise.
68305         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68306         (Include): Change back to <sys/time.h>.
68307         (Maintainer): Add self.
68308         * modules/sys_time: New file.
68309         * modules/tempname (Depends-on): Add gettimeofday.
68310         * tests/test-gettimeofday.c: Include <sys/time.h>
68311         rather than gettimeofday.h.
68312
68313 2007-01-17  Bruno Haible  <bruno@clisp.org>
68314
68315         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68316         the license default to GPL.
68317         (func_create_testdir): Don't complain if a module is LGPL and its
68318         tests module depends on GPLed modules.
68319
68320 2007-01-17  Bruno Haible  <bruno@clisp.org>
68321
68322         * lib/gettimeofday.c (gettimeofday): Add code for the case
68323         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
68324         maximum possible value for tv->tv_usec, rather than the minimum one.
68325
68326 2005-10-08  Martin Lambers  <marlam@marlam.de>
68327 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68328 2007-01-16  Bruno Haible  <bruno@clisp.org>
68329
68330         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
68331         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
68332         gl_FUNC_GETTIMEOFDAY.
68333         (Include): Add gettimeofday.h.
68334         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68335         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68336         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68337         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68338         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68339         * lib/gettimeofday.h: New file.
68340         * lib/gettimeofday.c: Include <sys/timeb.h>.
68341         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68342         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68343         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68344         fall back on time().
68345
68346         * tests/test-gettimeofday.c: New file.
68347         * modules/gettimeofday-tests: New file.
68348
68349 2007-01-16  Eric Blake  <ebb9@byu.net>
68350
68351         * modules/fnmatch (Depends-on): Depend on wchar.
68352         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68353         * m4/fnmatch.m4: Likewise.
68354         * modules/mbchar (Makefile.am): Assume <wchar.h>.
68355         * m4/mbchar.m4: Likewise.
68356         * modules/mbswidth (Depends-on): Depend on wchar.
68357         * lib/mbswidth.c: Assume <wchar.h>.
68358         * m4/mbswidth.m4: Likewise.
68359         * modules/quotearg (Depends-on): Depend on wchar.
68360         * lib/quotearg.c: Assume <wchar.h>.
68361         * m4/quotearg.m4: Likewise.
68362         * modules/regex (Depends-on): Depend on wchar.
68363         * lib/regex_internal.h: Assume <wchar.h>.
68364         * m4/regex.m4: Likewise.
68365         * modules/stdint (Depends-on): Depend on wchar.
68366         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
68367         * m4/stdint.m4: Likewise.
68368         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
68369         * modules/strftime (Depends-on): Depend on wchar.
68370         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
68371         * modules/strtol (Depends-on): Depend on wchar.
68372         * lib/strtol.c: Assume <wchar.h>.
68373         * modules/wcwidth (Depends-on): Depend on wchar.
68374         * lib/wcwidth.h: Assume <wchar.h>.
68375         * m4/wcwidth.m4: Likewise.
68376
68377 2007-01-16  Bruno Haible  <bruno@clisp.org>
68378
68379         * modules/csharpexec-script: New, created from...
68380         * modules/csharpexec: ... this.
68381
68382 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
68383
68384         * modules/javaexec-script: New, created from...
68385         * modules/javaexec: ... this.
68386
68387 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68388
68389         * modules/poll (Dependencies): Add sys_select.
68390
68391 2007-01-15  Jim Meyering  <jim@meyering.net>
68392
68393         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
68394         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
68395         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
68396         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
68397
68398 2007-01-15  Bruno Haible  <bruno@clisp.org>
68399
68400         * modules/striconveh: New file.
68401         * lib/striconveh.h: New file.
68402         * lib/striconveh.c: New file.
68403         * MODULES.html.sh (Internationalization functions): Add striconveh.
68404
68405         * modules/striconveh-tests: New file.
68406         * tests/test-striconveh.c: New file.
68407
68408 2007-01-15  Bruno Haible  <bruno@clisp.org>
68409
68410         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
68411         not from GNU libiconv or GNU libc.
68412
68413 2007-01-15  Bruno Haible  <bruno@clisp.org>
68414
68415         * doc/gnulib-intro.texi (Copyright): Explain the different license
68416         terms for module descriptions, autoconf macros, tests, documentation.
68417
68418 2007-01-14  Bruno Haible  <bruno@clisp.org>
68419
68420         * modules/striconv-tests: New file.
68421         * tests/test-striconv.c: New file.
68422
68423 2007-01-14  Bruno Haible  <bruno@clisp.org>
68424
68425         * modules/iconv-tests: New file.
68426         * tests/test-iconv.c: New file.
68427
68428 2007-01-14  Bruno Haible  <bruno@clisp.org>
68429
68430         * gnulib-tool (func_get_license): For test modules, use the license of
68431         the main module.
68432
68433 2007-01-14  Bruno Haible  <bruno@clisp.org>
68434
68435         * modules/iconv (Include): Clarify that <iconv.h> can only be included
68436         if iconv is found to exist.
68437
68438 2007-01-14  Bruno Haible  <bruno@clisp.org>
68439
68440         * modules/c-ctype-tests: New file.
68441         * tests/test-c-ctype.c: New file.
68442
68443 2007-01-14  Bruno Haible  <bruno@clisp.org>
68444
68445         * modules/binary-io-tests: New file.
68446         * tests/test-binary-io.sh: New file.
68447         * tests/test-binary-io.c: New file.
68448
68449 2007-01-14  Bruno Haible  <bruno@clisp.org>
68450
68451         * modules/array-oset-tests: New file.
68452         * tests/test-array_oset.c: New file.
68453
68454 2007-01-14  Bruno Haible  <bruno@clisp.org>
68455
68456         * modules/array-list-tests: New file.
68457         * tests/test-array_list.c: New file.
68458
68459 2007-01-14  Bruno Haible  <bruno@clisp.org>
68460
68461         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
68462         and make.
68463         Reported by Simon Josefsson in
68464         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
68465
68466 2007-01-14  Bruno Haible  <bruno@clisp.org>
68467
68468         * modules/allocsa-tests: New file.
68469         * tests/test-allocsa.c: New file.
68470
68471 2007-01-14  Bruno Haible  <bruno@clisp.org>
68472
68473         * modules/fchdir (Depends-on): Add absolute-header.
68474         * modules/unistd (Depends-on): Likewise.
68475
68476 2006-12-30  Bruno Haible  <bruno@clisp.org>
68477
68478         * modules/fchdir: New file.
68479         * modules/unistd (Files): Add lib/unistd_.h.
68480         (Makefile.am): Generate unistd.h from unistd_.h.
68481         * lib/fchdir.c: New file.
68482         * lib/dirent_.h: New file.
68483         * lib/unistd_.h: New file.
68484         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
68485         * m4/fchdir.m4: New file.
68486         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
68487         (gl_HEADER_UNISTD): Invoke it.
68488         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
68489         function.
68490         * lib/backupfile.c (opendir, closedir): Undefine.
68491         * lib/chown.c (open, close): Undefine.
68492         * lib/clean-temp.c (open, close): Undefine.
68493         * lib/copy-file.c (open, close): Undefine.
68494         * lib/execute.c (open, close): Undefine.
68495         * lib/fsusage.c (open, close): Undefine.
68496         * lib/gc-gnulib.c (open, close): Undefine.
68497         * lib/getcwd.c (opendir, closedir): Undefine.
68498         * lib/glob.c (opendir, closedir): Undefine.
68499         * lib/javacomp.c (open, close): Undefine.
68500         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
68501         * lib/openat-proc.c (open, close): Undefine.
68502         * lib/pagealign_alloc.c (open, close): Undefine.
68503         * lib/pipe.c (open, close): Undefine.
68504         * lib/progreloc.c (open, close): Undefine.
68505         * lib/savedir.c (opendir, closedir): Undefine.
68506         * lib/utime.c (open, close): Undefine.
68507         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
68508
68509 2007-01-10  Bruno Haible  <bruno@clisp.org>
68510
68511         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
68512
68513 2007-01-12  Eric Blake  <ebb9@byu.net>
68514
68515         Provide a robust <wchar.h>.  Further simplifications are now
68516         possible in other modules, but not included here.
68517         * modules/wchar: New module.
68518         * m4/wchar.m4: New file.
68519         * lib/wchar_.h: Likewise.
68520         * modules/mbchar (Depends-on): Depend on wchar, as the first use
68521         of the new module.
68522         * MODULES.html.sh (Extended multibyte and wide character utilities):
68523         New section.
68524
68525 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
68526
68527         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
68528         to a reasonable default for memory allocation.
68529         (xreadlink): Don't allocate a huge buffer, to work around a buggy
68530         file system that reports garbage st_size values for symlinks.
68531         Problem reported by Liyang Hu.
68532
68533 2007-01-11  Simon Josefsson  <simon@josefsson.org>
68534
68535         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
68536         Emacs .#* auto-save files).
68537
68538 2007-01-11  Bruno Haible  <bruno@clisp.org>
68539
68540         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
68541         directory.
68542
68543 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68544
68545         Use @...@ consistently in lib/wctype_.h.
68546         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
68547         on it being set to 1 or 0.
68548         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
68549         go back to AC_SUBSTing it.
68550         * modules/wctype (Makefile.am): Undo previous change.
68551
68552 2007-01-10  Eric Blake  <ebb9@byu.net>
68553
68554         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
68555         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
68556         * modules/wctype (Makefile.am): Likewise.
68557         Reported by Chris McGuire.
68558
68559 2007-01-10  Jim Meyering  <jim@meyering.net>
68560
68561         fts.c: a small readability/maintainability improvement
68562         * lib/fts.c (fts_read): Make this code slightly more readable and
68563         maintainable by hoisting the "sp->fts_cur = p" assignments to
68564         immediately follow the statements that set P.  Derived from
68565         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
68566
68567 2007-01-10  Eric Blake  <ebb9@byu.net>
68568
68569         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
68570         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
68571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68572         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
68573         Reported by Chris McGuire.
68574
68575 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68576
68577         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
68578         in sed script.
68579
68580 2007-01-09  Bruno Haible  <bruno@clisp.org>
68581
68582         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
68583         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
68584         variables.
68585         (func_module): Use them.
68586
68587 2007-01-09  Bruno Haible  <bruno@clisp.org>
68588
68589         * modules/unistr/base: New file.
68590         * lib/unistr.h: New file.
68591
68592         * modules/unistr/u8-to-u16: New file.
68593         * lib/unistr/u8-to-u16.c: New file.
68594
68595         * modules/unistr/u8-to-u32: New file.
68596         * lib/unistr/u8-to-u32.c: New file.
68597
68598         * modules/unistr/u16-to-u8: New file.
68599         * lib/unistr/u16-to-u8.c: New file.
68600
68601         * modules/unistr/u16-to-u32: New file.
68602         * lib/unistr/u16-to-u32.c: New file.
68603
68604         * modules/unistr/u32-to-u8: New file.
68605         * lib/unistr/u32-to-u8.c: New file.
68606
68607         * modules/unistr/u32-to-u16: New file.
68608         * lib/unistr/u32-to-u16.c: New file.
68609
68610         * modules/unistr/u8-check: New file.
68611         * modules/unistr/u16-check: New file.
68612         * modules/unistr/u32-check: New file.
68613         * lib/unistr/u8-check.c: New file.
68614         * lib/unistr/u16-check.c: New file.
68615         * lib/unistr/u32-check.c: New file.
68616
68617         * modules/unistr/u8-chr: New file.
68618         * modules/unistr/u16-chr: New file.
68619         * modules/unistr/u32-chr: New file.
68620         * lib/unistr/u8-chr.c: New file.
68621         * lib/unistr/u16-chr.c: New file.
68622         * lib/unistr/u32-chr.c: New file.
68623
68624         * modules/unistr/u8-cmp: New file.
68625         * modules/unistr/u16-cmp: New file.
68626         * modules/unistr/u32-cmp: New file.
68627         * lib/unistr/u8-cmp.c: New file.
68628         * lib/unistr/u16-cmp.c: New file.
68629         * lib/unistr/u32-cmp.c: New file.
68630
68631         * modules/unistr/u8-cpy: New file.
68632         * modules/unistr/u16-cpy: New file.
68633         * modules/unistr/u32-cpy: New file.
68634         * lib/unistr/u8-cpy.c: New file.
68635         * lib/unistr/u16-cpy.c: New file.
68636         * lib/unistr/u32-cpy.c: New file.
68637         * lib/unistr/u-cpy.h: New file.
68638
68639         * modules/unistr/u8-cpy-alloc: New file.
68640         * modules/unistr/u16-cpy-alloc: New file.
68641         * modules/unistr/u32-cpy-alloc: New file.
68642         * lib/unistr/u8-cpy-alloc.c: New file.
68643         * lib/unistr/u16-cpy-alloc.c: New file.
68644         * lib/unistr/u32-cpy-alloc.c: New file.
68645         * lib/unistr/u-cpy-alloc.h: New file.
68646
68647         * modules/unistr/u8-endswith: New file.
68648         * modules/unistr/u16-endswith: New file.
68649         * modules/unistr/u32-endswith: New file.
68650         * lib/unistr/u8-endswith.c: New file.
68651         * lib/unistr/u16-endswith.c: New file.
68652         * lib/unistr/u32-endswith.c: New file.
68653         * lib/unistr/u-endswith.h: New file.
68654
68655         * modules/unistr/u8-mblen: New file.
68656         * modules/unistr/u16-mblen: New file.
68657         * modules/unistr/u32-mblen: New file.
68658         * lib/unistr/u8-mblen.c: New file.
68659         * lib/unistr/u16-mblen.c: New file.
68660         * lib/unistr/u32-mblen.c: New file.
68661
68662         * modules/unistr/u8-mbtouc: New file.
68663         * modules/unistr/u16-mbtouc: New file.
68664         * modules/unistr/u32-mbtouc: New file.
68665         * lib/unistr/u8-mbtouc.c: New file.
68666         * lib/unistr/u16-mbtouc.c: New file.
68667         * lib/unistr/u32-mbtouc.c: New file.
68668
68669         * modules/unistr/u8-mbtouc-safe: New file.
68670         * modules/unistr/u16-mbtouc-safe: New file.
68671         * modules/unistr/u32-mbtouc-safe: New file.
68672         * lib/unistr/u8-mbtouc-safe.c: New file.
68673         * lib/unistr/u16-mbtouc-safe.c: New file.
68674         * lib/unistr/u32-mbtouc-safe.c: New file.
68675
68676         * modules/unistr/u8-move: New file.
68677         * modules/unistr/u16-move: New file.
68678         * modules/unistr/u32-move: New file.
68679         * lib/unistr/u8-move.c: New file.
68680         * lib/unistr/u16-move.c: New file.
68681         * lib/unistr/u32-move.c: New file.
68682         * lib/unistr/u-move.h: New file.
68683
68684         * modules/unistr/u8-next: New file.
68685         * modules/unistr/u16-next: New file.
68686         * modules/unistr/u32-next: New file.
68687         * lib/unistr/u8-next.c: New file.
68688         * lib/unistr/u16-next.c: New file.
68689         * lib/unistr/u32-next.c: New file.
68690
68691         * modules/unistr/u8-prev: New file.
68692         * modules/unistr/u16-prev: New file.
68693         * modules/unistr/u32-prev: New file.
68694         * lib/unistr/u8-prev.c: New file.
68695         * lib/unistr/u16-prev.c: New file.
68696         * lib/unistr/u32-prev.c: New file.
68697
68698         * modules/unistr/u8-set: New file.
68699         * modules/unistr/u16-set: New file.
68700         * modules/unistr/u32-set: New file.
68701         * lib/unistr/u8-set.c: New file.
68702         * lib/unistr/u16-set.c: New file.
68703         * lib/unistr/u32-set.c: New file.
68704         * lib/unistr/u-set.h: New file.
68705
68706         * modules/unistr/u8-startswith: New file.
68707         * modules/unistr/u16-startswith: New file.
68708         * modules/unistr/u32-startswith: New file.
68709         * lib/unistr/u8-startswith.c: New file.
68710         * lib/unistr/u16-startswith.c: New file.
68711         * lib/unistr/u32-startswith.c: New file.
68712         * lib/unistr/u-startswith.h: New file.
68713
68714         * modules/unistr/u8-stpcpy: New file.
68715         * modules/unistr/u16-stpcpy: New file.
68716         * modules/unistr/u32-stpcpy: New file.
68717         * lib/unistr/u8-stpcpy.c: New file.
68718         * lib/unistr/u16-stpcpy.c: New file.
68719         * lib/unistr/u32-stpcpy.c: New file.
68720         * lib/unistr/u-stpcpy.h: New file.
68721
68722         * modules/unistr/u8-stpncpy: New file.
68723         * modules/unistr/u16-stpncpy: New file.
68724         * modules/unistr/u32-stpncpy: New file.
68725         * lib/unistr/u8-stpncpy.c: New file.
68726         * lib/unistr/u16-stpncpy.c: New file.
68727         * lib/unistr/u32-stpncpy.c: New file.
68728         * lib/unistr/u-stpncpy.h: New file.
68729
68730         * modules/unistr/u8-strcat: New file.
68731         * modules/unistr/u16-strcat: New file.
68732         * modules/unistr/u32-strcat: New file.
68733         * lib/unistr/u8-strcat.c: New file.
68734         * lib/unistr/u16-strcat.c: New file.
68735         * lib/unistr/u32-strcat.c: New file.
68736         * lib/unistr/u-strcat.h: New file.
68737
68738         * modules/unistr/u8-strchr: New file.
68739         * modules/unistr/u16-strchr: New file.
68740         * modules/unistr/u32-strchr: New file.
68741         * lib/unistr/u8-strchr.c: New file.
68742         * lib/unistr/u16-strchr.c: New file.
68743         * lib/unistr/u32-strchr.c: New file.
68744
68745         * modules/unistr/u8-strcmp: New file.
68746         * modules/unistr/u16-strcmp: New file.
68747         * modules/unistr/u32-strcmp: New file.
68748         * lib/unistr/u8-strcmp.c: New file.
68749         * lib/unistr/u16-strcmp.c: New file.
68750         * lib/unistr/u32-strcmp.c: New file.
68751
68752         * modules/unistr/u8-strcpy: New file.
68753         * modules/unistr/u16-strcpy: New file.
68754         * modules/unistr/u32-strcpy: New file.
68755         * lib/unistr/u8-strcpy.c: New file.
68756         * lib/unistr/u16-strcpy.c: New file.
68757         * lib/unistr/u32-strcpy.c: New file.
68758         * lib/unistr/u-strcpy.h: New file.
68759
68760         * modules/unistr/u8-strcspn: New file.
68761         * modules/unistr/u16-strcspn: New file.
68762         * modules/unistr/u32-strcspn: New file.
68763         * lib/unistr/u8-strcspn.c: New file.
68764         * lib/unistr/u16-strcspn.c: New file.
68765         * lib/unistr/u32-strcspn.c: New file.
68766         * lib/unistr/u-strcspn.h: New file.
68767
68768         * modules/unistr/u8-strdup: New file.
68769         * modules/unistr/u16-strdup: New file.
68770         * modules/unistr/u32-strdup: New file.
68771         * lib/unistr/u8-strdup.c: New file.
68772         * lib/unistr/u16-strdup.c: New file.
68773         * lib/unistr/u32-strdup.c: New file.
68774         * lib/unistr/u-strdup.h: New file.
68775
68776         * modules/unistr/u8-strlen: New file.
68777         * modules/unistr/u16-strlen: New file.
68778         * modules/unistr/u32-strlen: New file.
68779         * lib/unistr/u8-strlen.c: New file.
68780         * lib/unistr/u16-strlen.c: New file.
68781         * lib/unistr/u32-strlen.c: New file.
68782         * lib/unistr/u-strlen.h: New file.
68783
68784         * modules/unistr/u8-strmblen: New file.
68785         * modules/unistr/u16-strmblen: New file.
68786         * modules/unistr/u32-strmblen: New file.
68787         * lib/unistr/u8-strmblen.c: New file.
68788         * lib/unistr/u16-strmblen.c: New file.
68789         * lib/unistr/u32-strmblen.c: New file.
68790
68791         * modules/unistr/u8-strmbtouc: New file.
68792         * modules/unistr/u16-strmbtouc: New file.
68793         * modules/unistr/u32-strmbtouc: New file.
68794         * lib/unistr/u8-strmbtouc.c: New file.
68795         * lib/unistr/u16-strmbtouc.c: New file.
68796         * lib/unistr/u32-strmbtouc.c: New file.
68797
68798         * modules/unistr/u8-strncat: New file.
68799         * modules/unistr/u16-strncat: New file.
68800         * modules/unistr/u32-strncat: New file.
68801         * lib/unistr/u8-strncat.c: New file.
68802         * lib/unistr/u16-strncat.c: New file.
68803         * lib/unistr/u32-strncat.c: New file.
68804         * lib/unistr/u-strncat.h: New file.
68805
68806         * modules/unistr/u8-strncmp: New file.
68807         * modules/unistr/u16-strncmp: New file.
68808         * modules/unistr/u32-strncmp: New file.
68809         * lib/unistr/u8-strncmp.c: New file.
68810         * lib/unistr/u16-strncmp.c: New file.
68811         * lib/unistr/u32-strncmp.c: New file.
68812
68813         * modules/unistr/u8-strncpy: New file.
68814         * modules/unistr/u16-strncpy: New file.
68815         * modules/unistr/u32-strncpy: New file.
68816         * lib/unistr/u8-strncpy.c: New file.
68817         * lib/unistr/u16-strncpy.c: New file.
68818         * lib/unistr/u32-strncpy.c: New file.
68819         * lib/unistr/u-strncpy.h: New file.
68820
68821         * modules/unistr/u8-strnlen: New file.
68822         * modules/unistr/u16-strnlen: New file.
68823         * modules/unistr/u32-strnlen: New file.
68824         * lib/unistr/u8-strnlen.c: New file.
68825         * lib/unistr/u16-strnlen.c: New file.
68826         * lib/unistr/u32-strnlen.c: New file.
68827         * lib/unistr/u-strnlen.h: New file.
68828
68829         * modules/unistr/u8-strpbrk: New file.
68830         * modules/unistr/u16-strpbrk: New file.
68831         * modules/unistr/u32-strpbrk: New file.
68832         * lib/unistr/u8-strpbrk.c: New file.
68833         * lib/unistr/u16-strpbrk.c: New file.
68834         * lib/unistr/u32-strpbrk.c: New file.
68835         * lib/unistr/u-strpbrk.h: New file.
68836
68837         * modules/unistr/u8-strrchr: New file.
68838         * modules/unistr/u16-strrchr: New file.
68839         * modules/unistr/u32-strrchr: New file.
68840         * lib/unistr/u8-strrchr.c: New file.
68841         * lib/unistr/u16-strrchr.c: New file.
68842         * lib/unistr/u32-strrchr.c: New file.
68843
68844         * modules/unistr/u8-strspn: New file.
68845         * modules/unistr/u16-strspn: New file.
68846         * modules/unistr/u32-strspn: New file.
68847         * lib/unistr/u8-strspn.c: New file.
68848         * lib/unistr/u16-strspn.c: New file.
68849         * lib/unistr/u32-strspn.c: New file.
68850         * lib/unistr/u-strspn.h: New file.
68851
68852         * modules/unistr/u8-strstr: New file.
68853         * modules/unistr/u16-strstr: New file.
68854         * modules/unistr/u32-strstr: New file.
68855         * lib/unistr/u8-strstr.c: New file.
68856         * lib/unistr/u16-strstr.c: New file.
68857         * lib/unistr/u32-strstr.c: New file.
68858         * lib/unistr/u-strstr.h: New file.
68859
68860         * modules/unistr/u8-strtok: New file.
68861         * modules/unistr/u16-strtok: New file.
68862         * modules/unistr/u32-strtok: New file.
68863         * lib/unistr/u8-strtok.c: New file.
68864         * lib/unistr/u16-strtok.c: New file.
68865         * lib/unistr/u32-strtok.c: New file.
68866         * lib/unistr/u-strtok.h: New file.
68867
68868         * modules/unistr/u8-uctomb: New file.
68869         * modules/unistr/u16-uctomb: New file.
68870         * modules/unistr/u32-uctomb: New file.
68871         * lib/unistr/u8-uctomb.c: New file.
68872         * lib/unistr/u16-uctomb.c: New file.
68873         * lib/unistr/u32-uctomb.c: New file.
68874
68875         * MODULES.html.sh (Unicode string functions): Add the new modules.
68876
68877 2007-01-08  Bruno Haible  <bruno@clisp.org>
68878
68879         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
68880         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
68881         subdirectories.
68882
68883 2007-01-08  Karl Berry  <karl@gnu.org>
68884
68885         * doc/error.texi: mention that main() fns must set program_name
68886         when progname is used.
68887
68888 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
68889
68890         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
68891         WCTYPE_H is empty, for the benefit of builds from non-distclean
68892         directories.  Problem reported by Eric Blake in
68893         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
68894
68895 2007-01-08  Bruno Haible  <bruno@clisp.org>
68896
68897         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
68898         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
68899         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
68900         PROVIDE_CANONICALIZE_FILENAME_MODE.
68901         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
68902
68903 2007-01-08  Bruno Haible  <bruno@clisp.org>
68904
68905         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
68906         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
68907         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
68908         * lib/fts.c: Likewise.
68909         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
68910
68911 2006-12-25  Bruno Haible  <bruno@clisp.org>
68912
68913         * modules/utf8-ucs4-safe: New file.
68914         * lib/utf8-ucs4-safe.h: New file.
68915         * lib/unistr/utf8-ucs4-safe.c: New file.
68916
68917         * modules/utf16-ucs4-safe: New file.
68918         * lib/utf16-ucs4-safe.h: New file.
68919         * lib/unistr/utf16-ucs4-safe.c: New file.
68920
68921         * MODULES.html.sh (Unicode string functions): Add the new modules.
68922
68923 2007-01-08  Bruno Haible  <bruno@clisp.org>
68924
68925         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
68926         (Depends-on): Add unitypes.
68927         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68928         (u8_mbtouc_aux): Move out to separate file.
68929         (u8_mbtouc): Use ucs4_t, uint8_t types.
68930         * lib/unistr/utf8-ucs4.c: New file.
68931
68932         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
68933         (Depends-on): Add unitypes.
68934         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68935         (u16_mbtouc_aux): Move out to separate file.
68936         (u16_mbtouc): Use ucs4_t, uint16_t types.
68937         * lib/unistr/utf16-ucs4.c: New file.
68938
68939         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
68940         (Depends-on): Add unitypes.
68941         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
68942         (u8_uctomb_aux): Move out to separate file.
68943         (u8_uctomb): Use ucs4_t, uint8_t types.
68944         * lib/unistr/ucs4-utf8.c: New file.
68945
68946         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
68947         (Depends-on): Add unitypes.
68948         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
68949         (u16_uctomb_aux): Move out to separate file.
68950         (u16_uctomb): Use ucs4_t, uint16_t types.
68951         * lib/unistr/ucs4-utf16.c: New file.
68952
68953 2006-12-25  Bruno Haible  <bruno@clisp.org>
68954
68955         * modules/unitypes: New file.
68956         * lib/unitypes.h: New file.
68957         * MODULES.html.sh (func_all_modules): New section "Unicode string
68958         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
68959         this section. Add unitypes.
68960
68961 2007-01-08  Bruno Haible  <bruno@clisp.org>
68962
68963         Avoid variable names that conflict with those from libtool.
68964         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
68965         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
68966         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
68967         library_names_spec to acl_library_names_spec, hardcode_* to
68968         acl_hardcode_*.
68969         Reported by Ralf Wildenhues.
68970
68971 2007-01-08  Bruno Haible  <bruno@clisp.org>
68972
68973         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
68974         definition.
68975         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
68976         definition.
68977         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
68978         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
68979         definition.
68980         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
68981         definition.
68982         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
68983         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
68984         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
68985         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
68986         definition.
68987         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
68988         definition.
68989         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
68990         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
68991         GC_USE_<algorithm>.
68992         * lib/gc-libgcrypt.c: Likewise.
68993         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
68994         * modules/gc-arctwo (configure.ac): Likewise.
68995         * modules/gc-des (configure.ac): Likewise.
68996         * modules/gc-hmac-md5 (configure.ac): Likewise.
68997         * modules/gc-hmac-sha1 (configure.ac): Likewise.
68998         * modules/gc-md2 (configure.ac): Likewise.
68999         * modules/gc-md4 (configure.ac): Likewise.
69000         * modules/gc-md5 (configure.ac): Likewise.
69001         * modules/gc-random (configure.ac): Likewise.
69002         * modules/gc-rijndael (configure.ac): Likewise.
69003         * modules/gc-sha1 (configure.ac): Likewise.
69004
69005 2007-01-08  Bruno Haible  <bruno@clisp.org>
69006
69007         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69008         macro definition.
69009         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69010         definition.
69011         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69012         definition.
69013         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69014         * modules/fcntl-safer (configure.ac): Likewise.
69015         * modules/fopen-safer (configure.ac): Likewise.
69016         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69017         GNULIB_FWRITEERROR macro definition.
69018
69019 2007-01-08  Bruno Haible  <bruno@clisp.org>
69020
69021         * m4/gnulib-common.m4: New file.
69022         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69023         (func_get_filelist): Add m4/gnulib-common.m4.
69024
69025 2007-01-08  Bruno Haible  <bruno@clisp.org>
69026
69027         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69028         command.
69029
69030 2007-01-08  Jim Meyering  <jim@meyering.net>
69031
69032         Use a more robust test for a "can't happen" condition.
69033         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69034         narrowed the st_size value.  Presuming the "can't happen" condition
69035         is true, that narrowing could conceivably convert an invalid st_size
69036         value into a valid one.  Instead, use a change based on Matthew
69037         Woehlke's original patch.
69038
69039         Slight readability improvement: use an assert-like macro
69040         in place of literal "abort ()" uses.
69041         * lib/fts.c (fts_assert): Define.
69042         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69043         Use this macro instead of a bare 'abort'.
69044
69045 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69046
69047         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69048         simply work around them.
69049         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69050         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69051         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69052         declaring.
69053         Don't bother to define as macros, since the standard doesn't require it.
69054         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69055         longer worry about IRIX 5.3.
69056         (HAVE_WCTYPE_CTMP_BUG): Remove.
69057
69058 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69059
69060         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69061         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69062         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69063         Problems reported by Georg Schwarz for IRIX 5.3.
69064
69065         * gnulib-tool (autoconf_minversion): Take the maximum version number
69066         found, not the minimum.  Problem reported by James Youngman.
69067
69068 2007-01-03  Karl Berry  <karl@gnu.org>
69069
69070         * doc/error.texi: new file, explaining interaction with progname.
69071         * doc/gnulib.texi: include it.  Update copyright.
69072
69073 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69074
69075         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69076         AC_CANONICAL_HOST, to improve autobuild outputs.
69077
69078 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69079             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69080
69081         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69082         sockets, server sockets, and other file descriptors.  Count errors
69083         to compute the return value.  Reorder the code a bit to be easier
69084         to follow.  Don't set event bits that were not requested (except
69085         POLLERR and POLLHUP).
69086
69087 2007-01-01  Bruno Haible  <bruno@clisp.org>
69088
69089         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69090
69091 2007-01-03  Jim Meyering  <jim@meyering.net>
69092
69093         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69094
69095 2007-01-02  Bruno Haible  <bruno@clisp.org>
69096
69097         * modules/settime (Include): Require timespec.h.
69098         * modules/nanosleep (Include): Likewise.
69099
69100 2007-01-01  Bruno Haible  <bruno@clisp.org>
69101
69102         * gnulib-tool (func_emit_copyright_notice): Bump year.
69103         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69104
69105 2007-01-01  Bruno Haible  <bruno@clisp.org>
69106
69107         Improve support for OpenBSD.
69108         * build-aux/config.rpath (libname_spec): Export.
69109         (library_names_spec): New variable. Export.
69110         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69111         library_names_spec from the config.rpath output. Locate shared library
69112         through the name pattern in library_names_spec.
69113
69114 2007-01-01  Eric Blake  <ebb9@byu.net>
69115
69116         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69117
69118 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69119
69120         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69121         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69122         assume the C locale, and avoid an "eval" that could cause trouble.
69123         Problem with SORT reported by Bob Proulx.
69124
69125         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69126         Define.  Trivial patch from Henning Nielsen Lund, originally
69127         sent to bug-grep@gnu.org today.
69128
69129 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69130
69131         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69132         struct stat.  Problem reported by Henning Nielsen Lund.
69133         * lib/acl.c: Include acl.h first, to check interface.  Don't
69134         bother to include sys/types.h and sys/stat.h again.
69135
69136 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69137
69138         Import the following change from libc; problem reported by
69139         Sven Verdoolaege.
69140
69141         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69142
69143         [BZ #1373]
69144         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69145
69146 2006-12-28  Jim Meyering  <jim@meyering.net>
69147
69148         * build-aux/announce-gen: Do not assume that the package
69149         builds any of tar.gz, tar.bz2, and .xdelta files.
69150         Suggestion from Simon Josefsson.
69151
69152 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69153
69154         * modules/announce-gen: New file.
69155
69156 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69157
69158         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69159         handles its gotchas now.
69160         * lib/mbswidth.c: Likewise.
69161         * lib/wcwidth.h: Likewise.
69162         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69163         and iswcntrl; the wctype module does this stuff now.
69164         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69165         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69166         * modules/mbchar (Depends-on): Add wctype.
69167         * modules/mbswidth (Depends-on): Likewise.
69168         * modules/wcwidth (Depends-on): Likewise.
69169
69170 2006-12-27  Eric Blake  <ebb9@byu.net>
69171
69172         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69173         module uses more than what <wctype.h> is required to provide.
69174
69175 2006-12-26  Eric Blake  <ebb9@byu.net>
69176
69177         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69178
69179 2006-12-26  Eric Blake  <ebb9@byu.net>
69180
69181         * modules/absolute-header: New module.
69182         * modules/fcntl (Depends-on): Depend on it.
69183         * modules/inttypes (Depends-on): Likewise.
69184         * modules/stdint (Depends-on): Likewise.
69185         * modules/sys_stat (Depends-on): Likewise.
69186         * modules/wctype (Depends-on): Likewise.
69187         * MODULES.html.sh (Support for building libraries and
69188         executables): Document it.
69189
69190 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69191
69192         * gnulib-tool (SED): Remove, undoing previous change.
69193         The problem was that it broke coreutils on Solaris, because
69194         "sed --posix" leaked into a makefile.
69195         (sed): New alias, if 'alias' and GNU sed.
69196
69197 2006-12-24  Jim Meyering  <jim@meyering.net>
69198
69199         Work around an fchownat bug in glibc-2.4:
69200         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69201         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69202         in spite of the -P option.
69203         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69204         New macros.
69205         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69206         * modules/openat (Files): Add lib/fchownat.c.
69207         * lib/openat.c (fchownat): Don't define here.  Move to...
69208         * lib/fchownat.c: ...this new file.
69209
69210 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69211
69212         Fix bug reported by Bruno Haible in
69213         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69214         where quotearg.c didn't compile on Mac OS X 10.2 because it
69215         lacks <wchar.h> and wint_t.
69216         * lib/wctype_.h (__wctype_wint_t): New type.
69217         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69218         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69219         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69220         Arg is now of type __wctype_wint_t, not wint_t.
69221         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69222         substitute HAVE_WINT_T.
69223         * modules/wctype (Files): Add m4/wint_t.m4.
69224         (wctype.h): Substitute HAVE_WINT_T.
69225
69226 2006-12-23  Bruno Haible  <bruno@clisp.org>
69227
69228         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69229
69230 2006-12-23  Bruno Haible  <bruno@clisp.org>
69231
69232         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69233         S_ISLNK.
69234         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69235         mingw.
69236
69237 2006-12-22  Bruno Haible  <bruno@clisp.org>
69238
69239         * lib/copy-file.c: Include acl.h.
69240         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69241         Close the file descriptors only after being done with copy_acl.
69242         * modules/copy-file (Depends-on): Add acl.
69243
69244 2006-12-22  Bruno Haible  <bruno@clisp.org>
69245
69246         * gnulib-tool (SED): New variable.
69247         Use $SED instead of sed everywhere.
69248
69249 2006-12-22  Bruno Haible  <bruno@clisp.org>
69250
69251         * modules/no-c++: New file.
69252         * m4/no-c++.m4: New file.
69253         * MODULES.html.sh (Support for building libraries and executables):
69254         Add no-c++.
69255
69256 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69257
69258         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69259         Include <limits.h>, and use its INT_MAX to rewrite the
69260         j loop so that it does not overflow 'int'.  Problem reported by
69261         Ralf Wildenhues in
69262         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69263         Play it safe by shifting left by 1 rather than multiplying by 2,
69264         as GCC is less likely to optimize this away when the value
69265         is signed (when it assumes overflow leads to undefined behavior).
69266         Also, don't assume time_t uses two's complement.
69267
69268 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69269
69270         * MODULES.html.sh: New module wctype.
69271         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69272         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69273         <wctype.h>, since the new wctype module should fix this.
69274         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69275         the wctype module should arrange for it.
69276         * lib/regex_internal.h: Likewise.
69277         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69278         since the wctype module should handle this now.
69279         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69280         * modules/fnmatch (Depends-on): Add wctype.
69281         * modules/quotearg (Depends-on): Likewise.
69282         * modules/regex (Depends-on): Likewise.
69283
69284 2006-12-19  Bruno Haible  <bruno@clisp.org>
69285
69286         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69287         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69288
69289 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69290
69291         * modules/savewd (Depends-on): Fix dependency on fcntl.
69292
69293 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69294
69295         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69296         conforms to C99, rather than relying on the user's environment
69297         setting of STDINT_H.
69298
69299 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69300         and Eric Blake  <ebb9@byu.net>
69301
69302         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69303         This is more consistent with the other defines here.
69304         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69305         Port to z/OS.  Problem reported by Paul Gilmartin.
69306         Change local vars to use gl_ prefix rather than ac_.
69307         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69308         with other defines.
69309         * modules/double-slash-root: New module.
69310         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69311         (Depends-on): Add double-slash-root.
69312         * MODULES.html.sh (File system functions): Mention new module.
69313
69314 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69315
69316         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69317         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69318         This is for the benefit of gzip, which doesn't do i18n.
69319
69320 2006-12-12  Jim Meyering  <jim@meyering.net>
69321
69322         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
69323         Reported by Andreas Schwab <schwab@suse.de>.
69324
69325 2006-12-12  Bruno Haible  <bruno@clisp.org>
69326
69327         Merge these changes.
69328         2006-09-05  Bruno Haible  <bruno@clisp.org>
69329         * lib/iconvme.c (iconv_string): No need to save and restore errno when
69330         iconv_alloc succeeded.
69331         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
69332         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
69333         test for " && dest " at the end - dest is always != NULL there. Call
69334         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69335         with 2xNULL arguments, also to flush the state storage. Handle the
69336         IRIX iconv behaviour. Realloc the final result, to throw away unused
69337         memory.
69338
69339 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69340
69341         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69342         and fchmodat unconditionally, since glibc 2.4 has them.
69343         Problem reported by Arkadiusz Miskiewicz.
69344
69345 2006-12-10  Bruno Haible  <bruno@clisp.org>
69346
69347         * gnulib-tool (func_import): Show the include files only for those
69348         modules that are copied and specified.
69349         Reported by Karl Berry.
69350
69351 2006-12-08  Jim Meyering  <jim@meyering.net>
69352
69353         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
69354         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
69355
69356         * build-aux/announce-gen: Add two new options, both optional:
69357         --bootstrap-tools=TOOL_LIST
69358               a comma-separated list of tools, e.g.,
69359               autoconf,automake,bison,gnulib
69360         --gnulib-snapshot-date=DATE
69361               if gnulib is in the bootstrap tool list,
69362               then report this as the snapshot date.
69363               If not specified, use the current date/time.
69364               If you specify a date here, be sure it's UTC.
69365
69366 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69367
69368         * tests/test-argp-2.sh: Fix test to match actual output.
69369         (func_compare): Fix sed script to be portable.
69370
69371 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
69372
69373         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
69374         workaround for this case.  It is not autoconfigured now; offhand
69375         it's hard to see how to autoconfigure it.
69376
69377 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
69378
69379         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
69380         a directory that is about to be chowned.  Such a directory's
69381         initial file permissions should permit the owner only and this
69382         should not be changed until after the chown, since the group and
69383         other bits would be incorrect if they granted permission before
69384         the chown.
69385
69386         Fix porting problem for iswctype reported by Georg Schwarz in:
69387         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
69388         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
69389         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
69390         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
69391         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69392
69393 2006-12-03  Jim Meyering  <jim@meyering.net>
69394
69395         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
69396         p->fts_statp may not yet be defined.
69397         (fts_read): Instead, set it in the caller, once p->fts_statp is
69398         sure to be defined, and corresponds to a top-level directory.
69399         This bug made du -x fail.  Here's the coreutils test case:
69400         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
69401         Reported by Mike Frysinger.
69402
69403 2006-12-01  Jim Meyering  <jim@meyering.net>
69404
69405         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
69406         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
69407         Reported by Simon Josefsson.
69408
69409 2006-11-30  Jim Meyering  <jim@meyering.net>
69410
69411         * m4/warning.m4: Use the all-permissive copyright notice
69412         recommended by RMS (rather than LGPL).
69413         * m4/vararrays.m4: Likewise.
69414         * m4/flexmember.m4: Likewise.
69415
69416 2006-11-29  Bruno Haible  <bruno@clisp.org>
69417
69418         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69419         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
69420         using +=.
69421         Reported by Simon Josefsson <simon@josefsson.org>.
69422
69423 2006-11-28  James Youngman <jay@gnu.org>
69424
69425         * README: Advise users that they might find the bug-gnulib@gnu.org
69426         and autotools-announce@gnu.org mailing lists useful.
69427
69428 2006-11-28  Bruno Haible  <bruno@clisp.org>
69429
69430         * m4/ptrdiff_max.m4: Remove file.
69431
69432 2006-11-21  Bruno Haible  <bruno@clisp.org>
69433
69434         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
69435         _AC_COMPUTE_INT.
69436         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69437         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
69438         _AC_COMPUTE_INT.
69439         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69440         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
69441         _AC_COMPUTE_INT.
69442         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69443
69444 2006-11-28  Jim Meyering  <jim@meyering.net>
69445
69446         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
69447         warning from "gcc -Wshadow" about shadowing the builtin.
69448
69449 2006-11-27  Bruno Haible  <bruno@clisp.org>
69450
69451         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
69452         _AC_COMPUTE_INT.
69453         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69454
69455 2006-11-27  Bruno Haible  <bruno@clisp.org>
69456             Paul Eggert  <eggert@cs.ucla.edu>
69457
69458         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
69459
69460 2006-11-26  Bruno Haible  <bruno@clisp.org>
69461
69462         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69463         noinst_LTLIBRARIES.
69464
69465 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69466             Bruno Haible  <bruno@clisp.org>
69467
69468         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
69469         if compiling with "gcc -ansi".
69470
69471 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69472
69473         Fix some incompatibilities with gcc -ansi -pedantic.
69474         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
69475         if compiling pedantically with GCC, unless it's C99 or later.
69476         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
69477         it mishandles gcc -ansi -pedantic as well.
69478         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
69479         if gcc -pedantic.
69480         * lib/regexec.c (check_node_accept_bytes): Don't use auto
69481         initializers for struct if -pedantic, unless it's C99 or later.
69482
69483 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
69484
69485         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
69486         Don't close an fd more than once. Identical atimes indicate
69487         success, not failure.
69488
69489 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
69490
69491         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
69492
69493 2006-11-23  Jim Meyering  <jim@meyering.net>
69494
69495         * build-aux/announce-gen: New file.  From coreutils.
69496
69497 2006-11-22  Jim Meyering  <jim@meyering.net>
69498
69499         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
69500         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
69501         (fts_read): Use a temporary to narrow the overused st_size member
69502         before using it in a switch statement.  Reported by Matthew Woehlke.
69503
69504         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
69505         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69506
69507 2006-11-20  Bruno Haible  <bruno@clisp.org>
69508
69509         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
69510         changequote instead of pairs of brackets.
69511         Reported by Andreas Schwab <schwab@suse.de>.
69512
69513 2006-11-21  Jim Meyering  <jim@meyering.net>
69514
69515         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
69516         so as to remain compatible with older compilers.
69517         Patch from Michael Deutschmann.
69518
69519 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69520
69521         * MODULES.html.sh (File system functions): Add openat.
69522
69523         * lib/openat.h (rpl_fstatat): New macro, if
69524         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
69525         (fstatat): Define to rpl_fstatat under the same conditions,
69526         unless COMPILING_FSTATAT.
69527         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
69528         seems to have the bug.
69529         * lib/fstatat.c: New file.
69530         * modules/openat (Files): Add it.
69531
69532 2006-11-20  Bruno Haible  <bruno@clisp.org>
69533
69534         * Makefile: New file.
69535
69536 2006-11-20  Jim Meyering  <jim@meyering.net>
69537
69538         The beginnings of syntax-related checks for gnulib.
69539         * lib/Makefile: New file.
69540         * lib/t-idcache: New script.  Ensure that the two halves of
69541         idcache.c stay in sync.
69542
69543         * lib/idcache.c: Adjust comments in user- and group- portions to
69544         be more accurate, and to be consistent with one another.
69545
69546 2006-11-20  Jim Meyering  <jim@meyering.net>
69547
69548         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
69549         continue using the flexible array member (thus, this module performs
69550         half as many malloc calls), with the addition that...
69551         (getgroup, getuser): Consistently record a non-match via an empty
69552         "name" string, and map an empty string match to a NULL return value.
69553         * modules/idcache (Depends-on): Re-add flexmember.
69554
69555         * lib/idcache.c (getuser): Remove all uses of the register keyword.
69556         (getuidbyname, getgroup, getgidbyname): Likewise.
69557
69558         Use cleaner syntax: NULL rather than 0.
69559         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
69560
69561 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69562
69563         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
69564         It mishandled the case where the group was missing.
69565         Problem reported by Greg Schafer.
69566         * modules/idcache: Likewise.
69567
69568 2006-11-18  Jim Meyering  <jim@meyering.net>
69569
69570         * check-module (%exempt_header): Add exception for some
69571         conditionally-included headers.
69572
69573         * modules/i-ring (Depends-on): Add verify.
69574         (License): Change to LGPL.
69575
69576 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69577
69578         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
69579         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
69580         and inttostr.h.  Use snprintf rather than uinttostr, so that
69581         LGPLed code doesn't depend on GPLed.
69582
69583 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69584
69585         * modules/inline (License): Change from GPL to LGPL.
69586
69587 2006-11-17  Jim Meyering  <jim@meyering.net>
69588
69589         * modules/d-type (License): Switch to LGPL.
69590
69591 2006-11-15  Bruno Haible  <bruno@clisp.org>
69592
69593         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
69594
69595 2006-11-15  Eric Blake  <ebb9@byu.net>
69596
69597         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
69598         the module dependency.
69599
69600 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69601             Bruno Haible  <bruno@clisp.org>
69602
69603         * gnulib-tool (func_create_testdir): Add license consistency check.
69604
69605 2006-11-15  Eric Blake  <ebb9@byu.net>
69606
69607         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
69608         random "(cached)" in configure output.
69609
69610 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69611
69612         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
69613         test for conforming inttypes.h is both announced and cached.
69614
69615         * MODULES.html.sh (seen_modules, seen_files): New variables.
69616         (func_module): Rewrite to use a few less gnulib-tool and sed
69617         invocations.  Avoid a couple of quadratic algorithms for ...
69618         (missed_modules, missed_files): ... these, with ...
69619         (func_append, func_tmpdir): ... these new functions, from
69620         gnulib-tool.  Analogously, install traps for cleanup.
69621
69622         * tests/test-gc.c (main): Remove unused variables.
69623         * tests/test-read-file.c: Include stdlib.h, for 'free'.
69624
69625 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
69626
69627         * modules/inttostr (License): Change to LGPL.
69628
69629 2006-11-14  Eric Blake  <ebb9@byu.net>
69630
69631         * modules/tempname (License): Change to LGPL.
69632
69633 2006-11-14  Eric Blake  <ebb9@byu.net>
69634
69635         * doc/functions.texi (Function Portability): *printf functions on
69636         Cygwin now understand all POSIX size specifiers.
69637
69638 2006-11-14  Bruno Haible  <bruno@clisp.org>
69639
69640         * modules/c-ctype (License): Change to LGPL.
69641
69642 2006-11-12  Bruno Haible  <bruno@clisp.org>
69643
69644         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
69645         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
69646         for GNOME libraries, for which the include files are installed in
69647         subdirectories of $prefix/include.
69648
69649 2006-11-12  Bruno Haible  <bruno@clisp.org>
69650
69651         * m4/lib-link.m4: Require at least autoconf-2.54.
69652         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
69653         name to underscores for the --with option.
69654
69655 2006-11-13  Bruno Haible  <bruno@clisp.org>
69656
69657         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
69658         the tests directory.
69659         Reported by Ralf Wildenhues.
69660
69661 2006-11-13  Bruno Haible  <bruno@clisp.org>
69662
69663         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
69664         (func_emit_initmacro_end): Undo the override here.
69665         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
69666         Works around the famous automake error in coreutils.
69667
69668 2006-11-13  Eric Blake  <ebb9@byu.net>
69669
69670         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
69671         element, not its node.
69672
69673 2006-11-12  Bruno Haible  <bruno@clisp.org>
69674
69675         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
69676         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
69677
69678 2006-11-12  Bruno Haible  <bruno@clisp.org>
69679
69680         * gnulib-tool: New option --local-symlink.
69681         (func_usage): Document it.
69682         (lsymbolic): New variable.
69683         (func_import, func_create_testdir): If --symlink was not specified,
69684         test whether --local-symlink was specified and the file comes from
69685         the local_gnulib_dir.
69686
69687 2006-11-12  Bruno Haible  <bruno@clisp.org>
69688
69689         * gnulib-tool (func_ln): New function.
69690         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
69691
69692 2006-11-12  Bruno Haible  <bruno@clisp.org>
69693
69694         Finish support for source files in subdirectories.
69695         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
69696         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
69697         AUTOMAKE_OPTIONS.
69698         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
69699
69700 2006-11-12  Bruno Haible  <bruno@clisp.org>
69701
69702         * gnulib-tool (func_get_automake_snippet): Synthesize also an
69703         EXTRA_lib_SOURCES augmentation.
69704         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
69705
69706 2006-11-12  Jim Meyering  <jim@meyering.net>
69707
69708         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
69709         file descriptors.  This also averts a failure on systems with
69710         native openat support when a traversed directory lacks "x" access.
69711         * lib/fts_.h: Include "i-ring.h"
69712         (struct FTS) [fts_fd_ring]: New member.
69713         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
69714         (FCHDIR): Add parentheses.
69715         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
69716         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
69717         When descending, rather than simply closing the previous
69718         fts_cwd_fd value, push that file descriptor onto the ring.
69719         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
69720         (fts_open): Initialize the new fd_ring member.
69721         (fts_close): Clear the ring.
69722         (fts_safe_changedir): When possible, use our new fd_ring to skip
69723         the diropen and fstat and dev/ino comparison that would normally
69724         accompany a virtual `chdir ("..")'.
69725
69726         * modules/fts (Depends-on): Add i-ring.
69727         * modules/i-ring: New module.
69728         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
69729         * m4/i-ring.m4: New file.
69730
69731 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69732
69733         * gnulib-tool (func_create_testdir): Fix replacement of
69734         `build-aux' in configure.ac.  Run autotools in gltests
69735         subdirectory.
69736         (func_create_testdir, func_create_megatestdir, test): There is
69737         no need for '--force' in most autotool invocations in a new
69738         tree.  Actually fail the whole test if any of the tools, or the
69739         configure or make stages fail.
69740
69741         Sync from Automake.
69742         * build-aux/gnupload: Revert last change.  Add pointer to upload
69743         instructions of the GNU Maintenance Instructions.
69744         Suggestion by Karl Berry.
69745
69746 2006-11-10  Jim Meyering  <jim@meyering.net>
69747
69748         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
69749
69750 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69751
69752         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
69753         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
69754         (bind_textdomain_codeset) [! ENABLE_NLS]:
69755         Evaluate all the arguments.  That way, callers get compatible behavior
69756         if the arguments have side effects.  Also, it avoids some GCC
69757         diagnostics in some cases; Joel E. Denny reported problems when Bison
69758         was configured with --enable-gcc-warnigs.
69759
69760 2006-11-10  Jim Meyering  <jim@meyering.net>
69761
69762         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
69763         relevant options in CFLAGS (like -O, -fno-inline) are taken into
69764         account.
69765
69766 2006-11-10  Jim Meyering  <jim@meyering.net>
69767
69768         * modules/inline: New file/module.
69769         * modules/xalloc (Files): Remove m4/inline.m4.
69770         (Depends-on): Add inline, instead.
69771         * modules/oset: Likewise.
69772         * modules/list: Likewise.
69773
69774 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69775
69776         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
69777         Problem reported by Matthew Woehlke.
69778
69779 2006-11-09  Bruno Haible  <bruno@clisp.org>
69780
69781         * lib/tempname.c (gen_tempname): Remove variant that invokes
69782         __gen_tempname.
69783         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
69784         __gen_tempname.
69785
69786 2006-11-08  Bruno Haible  <bruno@clisp.org>
69787
69788         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
69789         to 'yes' instead of 'cross-compiling'.
69790
69791 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
69792
69793         * lib/quotearg.h (quotearg_free): New decl.
69794         * lib/quotearg.c (quotearg_free): New function.
69795         (slot0, nslots, slotvec0, slotvec):
69796         Now file-scope so that quotearg_free can get at them.
69797
69798 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69799
69800         Sync from Automake.
69801         * build-aux/gnupload: Add missing 'gnu' to example URL.
69802         Report by Karl Berry.
69803
69804 2006-11-08  Bruno Haible  <bruno@clisp.org>
69805
69806         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
69807         Suggested by Paul Eggert.
69808
69809 2006-11-08  Jim Meyering  <jim@meyering.net>
69810
69811         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
69812         It's already included if !_LIBC.
69813         (fts_safe_changedir): Add a comment.
69814
69815 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
69816
69817         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
69818         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
69819         Matthew Woehlke.
69820
69821         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
69822         definitions up, to avoid colliding with change below.
69823         (static_inline) [HAVE_INLINE]: New macro.
69824         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
69825         Provide extern decls when !HAVE_INLINE.  Do not define unless
69826         static_inline is defined, either by us or by xmalloc.c.  Use
69827         static_inline rather than static inline.
69828         (XCALLOC): Optimize sizeof(T) = 1 case.
69829         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
69830
69831 2006-11-07  Bruno Haible  <bruno@clisp.org>
69832
69833         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
69834         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
69835         AC_C_INLINE.
69836         * modules/xalloc (Files): Add m4/inline.m4.
69837
69838 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69839
69840         * README: Fix typo.
69841         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
69842         (Miscellanous Notes): ...from this.
69843
69844 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
69845
69846         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
69847         Mention that offsetof should be used instead of sizeof.
69848         From Bruno Haible.
69849
69850 2006-11-07  Bruno Haible  <bruno@clisp.org>
69851
69852         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
69853
69854 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69855
69856         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69857         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
69858         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69859         (gl_tree_add_before, gl_tree_add_after):
69860         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
69861         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
69862         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69863         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
69864         (gl_linked_add_after, gl_linked_add_at): Likewise.
69865         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
69866         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69867         (gl_tree_add_before, gl_tree_add_after): Likewise.
69868         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
69869         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
69870         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
69871
69872 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69873
69874         * lib/gl_oset.h: Use C comment style, not C++ comment style.
69875
69876 2006-11-06  Bruno Haible  <bruno@clisp.org>
69877
69878         * m4/inline.m4: New file.
69879         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
69880         * modules/list (Files): Add m4/inline.m4.
69881         * modules/oset (Files): Likewise.
69882
69883 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69884
69885         * lib/idcache.c: Include <stddef.h>, for offsetof.
69886         (struct userid.name): Change from char * to a flexible array member.
69887         All uses changed.
69888         * modules/idcache (Depends-on): Add flexmember.
69889
69890         * MODULES.html.sh (Core language properties): New module flexmember.
69891         * modules/flexmember, m4/flexmember.m4: New files.
69892
69893         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
69894         inline functions that are identical with the old xnmalloc_inline,
69895         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
69896         that we can avoid some unnecessary integer multiplications and
69897         divisions in the common case where the element size is known at
69898         compile time.
69899         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
69900         needed.
69901         (xnboundedmalloc): Remove.
69902         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
69903         arguments, for consistency with rest of this header.
69904         (xcharalloc): Rewrite using XNMALLOC.
69905         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
69906         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
69907         versions have been moved to lib/xalloc.h and renamed to be the
69908         non-*_inline versions.
69909         (xmalloc, xrealloc): Implement without reference to the xnmalloc
69910         and xnrealloc functions, since those functions are now inline and
69911         now call us.
69912         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
69913         renaming described above.
69914         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
69915         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
69916         captures the dependency in AC_C_INLINE.
69917
69918         New module canonicalize-lgpl, proposed by Charles Wilson in
69919         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
69920         with a few small changes afterwards.
69921         * MODULES.html.sh (File system functions): New module
69922         canonicalize-lgpl.
69923         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
69924         and canonicalize_file_name.
69925         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
69926         * modules/canonicalize-lgpl: New files.
69927
69928 2006-11-05  Bruno Haible  <bruno@clisp.org>
69929
69930         * gnulib-tool (func_import, func_create_testdir): Create directories
69931         also for files in subdirectories of lib/.
69932
69933 2006-11-05  Bruno Haible  <bruno@clisp.org>
69934
69935         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
69936         ANSI C compliant.
69937
69938 2006-11-03  Bruno Haible  <bruno@clisp.org>
69939
69940         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69941         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
69942         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
69943         (xnboundedmalloc): New inline function.
69944         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
69945         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
69946         xmalloc.
69947         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
69948         xmalloc.
69949         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
69950         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
69951         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
69952         xmalloc.
69953         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69954         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
69955         xmalloc.
69956         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
69957         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69958         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
69959         xmalloc.
69960         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69961         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
69962         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69963         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
69964         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
69965         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
69966         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
69967
69968 2006-11-03  Bruno Haible  <bruno@clisp.org>
69969
69970         * lib/c-ctype.h [C++]: Define functions without name mangling.
69971         * lib/fwriteerror.h [C++]: Likewise.
69972         * lib/gcd.h [C++]: Likewise.
69973         * lib/linebreak.h [C++]: Likewise.
69974
69975 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69976
69977         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
69978         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
69979         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
69980         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69981         Check for functions and headers just once.
69982         Check for declaration of canonicalize_file_name.
69983         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
69984
69985 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69986
69987         * gnulib-tool (func_import): Fix typo in actioncmd.
69988
69989 2006-11-02  Bruno Haible  <bruno@clisp.org>
69990
69991         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
69992         newline sequence in the Makefile.am snippet as a space, like "make"
69993         does.
69994         Reported by Roger Persson <perrog@gmail.com>.
69995
69996 2006-11-01  Bruno Haible  <bruno@clisp.org>
69997
69998         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
69999         already declared in <string.h>.
70000         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70001
70002 2006-11-01  Bruno Haible  <bruno@clisp.org>
70003
70004         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70005         * lib/strcase.h: Include <string.h>.
70006         (strcasecmp): Define to rpl_strcasecmp here.
70007
70008 2006-11-01  Bruno Haible  <bruno@clisp.org>
70009
70010         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70011
70012 2006-11-01  Eric Blake  <ebb9@byu.net>
70013
70014         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70015
70016         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70017
70018 2006-10-29  Bruno Haible  <bruno@clisp.org>
70019
70020         Make it compile in C++ mode.
70021         * lib/full-write.c (full_rw): Add a cast.
70022
70023 2006-11-01  Bruno Haible  <bruno@clisp.org>
70024
70025         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70026         be POSIX compliant.
70027         Reported by Roger Persson <perrog@gmail.com>.
70028
70029 2006-11-01  Eric Blake  <ebb9@byu.net>
70030
70031         * lib/getopt_.h: Fix comments.
70032
70033 2006-10-31  Eric Blake  <ebb9@byu.net>
70034
70035         * modules/tmpdir (Depends-on): Add sys_stat.
70036         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70037         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70038         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70039         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70040         tempname.
70041
70042 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70043
70044         Avoid some C++ diagnostics reported by Bruno Haible.
70045         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70046         xmalloc.
70047         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70048         (struct slotvec): Move to top level.
70049         (quotearg_n_options): Rewrite to avoid xmalloc.
70050         * lib/xalloc.h (xcharalloc): New function.
70051         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70052         [defined __cplusplus]: Add function template that provides result
70053         type propagation.  This part of the change is from Bruno Haible.
70054
70055 2006-10-29  Bruno Haible  <bruno@clisp.org>
70056
70057         Make it compile in C++ mode.
70058         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70059         * lib/strnlen1.c (strnlen1): Cast memchr result.
70060         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70061         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70062         (create_temp_dir): Rename local variable 'template'.
70063         (compile_csharp_using_sscli): Add cast.
70064         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70065         * lib/findprog.c (find_in_path): Likewise.
70066         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70067         * lib/wait-process.c (register_slave_subprocess): Likewise.
70068
70069 2006-10-22  Bruno Haible  <bruno@clisp.org>
70070
70071         * modules/tsearch: New file.
70072         * lib/tsearch.h: New file.
70073         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70074         * m4/tsearch.m4: New file.
70075         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70076
70077 2006-10-29  Eric Blake  <ebb9@byu.net>
70078
70079         * lib/arcfour.c: Assume config.h.
70080         * lib/arctwo.c: Likewise.
70081         * lib/base64.c: Likewise.
70082         * lib/check-version.c: Likewise.
70083         * lib/crc.c: Likewise.
70084         * lib/des.c: Likewise.
70085         * lib/gc-gnulib.c: Likewise.
70086         * lib/gc-libgcrypt.c: Likewise.
70087         * lib/gc-pbkdf2-sha1.c: Likewise.
70088         * lib/getaddrinfo.c: Likewise.
70089         * lib/getdelim.c: Likewise.
70090         * lib/getline.c: Likewise.
70091         * lib/hmac-md5.c: Likewise.
70092         * lib/hmac-sha1.c: Likewise.
70093         * lib/iconvme.c: Likewise.
70094         * lib/md2.c: Likewise.
70095         * lib/md4.c: Likewise.
70096         * lib/memxor.c: Likewise.
70097         * lib/read-file.c: Likewise.
70098         * lib/readline.c: Likewise.
70099         * lib/rijndael-alg-fst.c: Likewise.
70100         * lib/rijndael-api-fst.c: Likewise.
70101         * lib/xgetdomainname.c: Likewise.
70102
70103 2006-10-28  Eric Blake  <ebb9@byu.net>
70104
70105         * lib/xstrndup.c: Assume config.h.
70106
70107 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70108
70109         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70110         stat-macros.h is now for our own macros, whereas stat_h is for
70111         macros in the <sys/stat.h> name space.
70112         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70113         (STAT_MACROS_H): Remove.
70114         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70115         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70116         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70117         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70118         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70119         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70120         Move these macros to ...
70121         * lib/stat_.h: here.  Don't include stat-macros.h.
70122         * lib/canonicalize.c: Don't include stat-macros.h.
70123         * lib/chown.c: Likewise.
70124         * lib/euidaccess.c: Likewise.
70125         * lib/file-type.c: Likewise.
70126         * lib/filemode.c: Likewise.
70127         * lib/glob.c: Likewise.
70128         * lib/isapipe.c: Likewise.
70129         * lib/lchown.c: Likewise.
70130         * lib/lstat.c: Likewise.
70131         * lib/mkdir-p.c: Likewise.
70132         * lib/rmdir.c: Likewise.
70133         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70134         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70135         unless mkdir isn't declared, to speed up 'configure'.
70136         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70137         would define all the S_* symbols.
70138         * modules/canonicalize (Depends-on):
70139         Depend on sys_stat, not stat-macros.
70140         * modules/chown: Likewise.
70141         * modules/euidaccess: Likewise.
70142         * modules/filemode: Likewise.
70143         * modules/file-type: Likewise.
70144         * modules/glob: Likewise.
70145         * modules/isapipe: Likewise.
70146         * modules/lchown: Likewise.
70147         * modules/lstat: Likewise.
70148         * modules/mkancesdirs: Likewise.
70149         * modules/rmdir: Likewise.
70150         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70151         * modules/modechange: Likewise.
70152         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70153         (configure.ac): Remove gl_STAT_MACROS.
70154         * modules/sys_stat (Depends-on): Remove stat-macros.
70155
70156 2006-10-27  Bruno Haible  <bruno@clisp.org>
70157
70158         * m4/signed.m4: Remove file.
70159         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70160         invocation.
70161         * modules/vasnprintf (Files): Remove m4/signed.m4.
70162
70163 2006-10-27  Bruno Haible  <bruno@clisp.org>
70164
70165         Update to GNU gettext 0.16.
70166         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70167         m4/inttypes-h.m4, m4/signed.m4.
70168         * m4/gettext.m4: Update to GNU gettext 0.16.
70169         * m4/intl.m4: New file, from GNU gettext.
70170         * m4/intldir.m4: New file, from GNU gettext.
70171         * config/srclist.txt: Update
70172
70173 2006-10-27  Eric Blake  <ebb9@byu.net>
70174
70175         * MODULES.html.sh: Document tempname.
70176         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70177         dependencies.
70178         (Files): Move lib/tempname.c...
70179         * modules/tempname: ...to this new module.
70180         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70181         (gl_PREREQ_TEMPNAME): Move...
70182         * m4/tempname.m4: ...to this new file.
70183         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70184         * modules/sys_stat (Depends-on): Add stat-macros.
70185         * lib/stat_.h (includes): Pick up stat macros.
70186         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70187         if stat macros are broken.
70188         * lib/tempname.c (includes): No need to include "stat-macros.h".
70189         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70190         (direxists, __path_search) [!_LIBC]: Don't compile these in
70191         gnulib; the tmpdir module covers that.
70192         * lib/tempname.h: New file.
70193
70194 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70195
70196         * COPYING: Explain how gnulib-tool converts licence headers.
70197         Almost all wording by Eric Blake.
70198
70199 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70200
70201         * lib/mbchar.h (is_basic_table): Make read-only.
70202         * lib/mbchar.c (is_basic_table): Likewise.
70203         Reported by John Darrington.
70204
70205 2006-10-25  Bruno Haible  <bruno@clisp.org>
70206
70207         * lib/progname.h (set_program_name): Undefine before defining.
70208
70209 2006-10-25  Bruno Haible  <bruno@clisp.org>
70210
70211         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70212         false for non-gcc C++ compilers.
70213         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70214
70215 2006-10-24  Bruno Haible  <bruno@clisp.org>
70216
70217         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70218         iconv implementations like Irix iconv.
70219
70220 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70221
70222         * modules/vararrays: New file.
70223         * m4/vararrays.m4: New file, taken from diffutils.
70224         * MODULES.html.sh: New module vararrays.
70225
70226 2006-10-24  Karl Berry  <karl@gnu.org>
70227
70228         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70229         Don't call GNU Unix.
70230
70231 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70232
70233         * users.txt: Add Libtool.
70234
70235         Sync from Libtool:
70236
70237         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70238
70239         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70240         to gnulib's policy of including config.h unconditionally.
70241
70242 2006-10-24  Bruno Haible  <bruno@clisp.org>
70243
70244         * modules/wcwidth (Files): Add m4/wint_t.m4.
70245         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70246         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70247
70248 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70249
70250         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70251         to pacify GCC with some -W flags enabled.  Problem reported by
70252         Bruno Haible.
70253
70254 2006-10-24  Jim Meyering  <jim@meyering.net>
70255
70256         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70257         Reported by Karl Berry.
70258
70259 2006-10-23  Bruno Haible  <bruno@clisp.org>
70260
70261         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70262
70263 2006-10-24  Bruno Haible  <bruno@clisp.org>
70264
70265         * lib/gl_list.h: Use C comment style, not C++ comment style.
70266
70267 2006-10-23  Eric Blake  <ebb9@byu.net>
70268
70269         * lib/getaddrinfo.c (includes): Add missing include.
70270
70271 2006-10-23  Bruno Haible  <bruno@clisp.org>
70272             Paul Eggert  <eggert@cs.ucla.edu>
70273
70274         Ability to rename obstack_free.
70275         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70276         obstack_free.
70277         (obstack_free): Invoke the __obstack_free macro.
70278         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70279
70280 2006-10-23  Bruno Haible  <bruno@clisp.org>
70281             Paul Eggert  <eggert@cs.ucla.edu>
70282
70283         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70284         __argc, __argv from the declaration. (They are defined as macros on
70285         mingw.)
70286
70287 2006-10-22  Bruno Haible  <bruno@clisp.org>
70288
70289         * doc/gnulib-intro.texi: New file.
70290         * doc/gnulib.texi: Include it.
70291
70292 2006-10-21  Bruno Haible  <bruno@clisp.org>
70293
70294         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70295         "Introduction", "Miscellanous Notes", "Particular Modules".
70296
70297 2006-10-21  Bruno Haible  <bruno@clisp.org>
70298
70299         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70300         Change mostlyclean-local rule to avoid sh syntax error from bash
70301         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70302
70303 2006-10-23  Jim Meyering  <jim@meyering.net>
70304
70305         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70306         in place of snprintf.
70307
70308         * modules/inttostr (Files): Add lib/uinttostr.c.
70309         * lib/uinttostr.c (inttostr): New file/function.
70310         * lib/inttostr.h (uinttostr): Declare.
70311         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70312         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70313         Add uinttostr.
70314         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70315
70316 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70317
70318         * lib/canonicalize.c (ELOOP): Define if not already defined.
70319         Problem reported by Bruno Haible in
70320         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
70321
70322 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70323
70324         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
70325         Problem reported by Perry Smith and Ville Laurikari.
70326
70327         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
70328         uses.
70329
70330 2006-10-19  Bruno Haible  <bruno@clisp.org>
70331
70332         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
70333         for mingw.
70334
70335 2006-10-19  Bruno Haible  <bruno@clisp.org>
70336
70337         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70338         Needed for mingw.
70339
70340 2006-10-19  Bruno Haible  <bruno@clisp.org>
70341
70342         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70343
70344 2006-10-19  Bruno Haible  <bruno@clisp.org>
70345
70346         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70347         it.
70348
70349 2006-10-19  Bruno Haible  <bruno@clisp.org>
70350
70351         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70352         invocation.
70353
70354 2006-10-19  Bruno Haible  <bruno@clisp.org>
70355
70356         * gnulib-tool (func_create_testdir): Don't include ftruncate and
70357         mountlist by default.
70358
70359 2006-10-16  Bruno Haible  <bruno@clisp.org>
70360
70361         * lib/c-strstr.c: Include c-strstr.h.
70362
70363 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70364
70365         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
70366         in a slash.
70367
70368 2006-10-18  Bruno Haible  <bruno@clisp.org>
70369
70370         * lib/lock.h [C++]: Wrap definitions in extern "C".
70371
70372 2006-10-18  Bruno Haible  <bruno@clisp.org>
70373
70374         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
70375         gl_LIBOBJS list.
70376
70377 2006-10-18  Bruno Haible  <bruno@clisp.org>
70378
70379         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
70380
70381 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
70382
70383         * lib/xstrtol.h: Include gettext.h.
70384         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
70385         Problem reported by Eric Blake.
70386         * modules/xstrtol (Depends-on): Add gettext-h.
70387
70388 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
70389
70390         * lib/strftime.c (advance): New macro.
70391         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
70392         incomplete type, so you can't add 0 to it.  Problem and patch
70393         reported by Eelco Dolstra for dietlibc.
70394
70395 2006-10-18  Jim Meyering  <jim@meyering.net>
70396
70397         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
70398         type for a local, and rename it: s/up/user_proc/.
70399
70400 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
70401
70402         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
70403         READ_UTMP_USER_PROCESS.
70404         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
70405
70406 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70407
70408         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
70409         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
70410
70411 2006-10-17  Eric Blake  <ebb9@byu.net>
70412
70413         * lib/sigprocmask.c (sigprocmask): Fix typo.
70414
70415         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
70416
70417         * modules/clean-temp (Makefile.am): Don't add to make output...
70418         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
70419         config.h.
70420
70421 2006-10-17  Bruno Haible  <bruno@clisp.org>
70422
70423         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
70424         differently if DEFAULT_TEXT_DOMAIN is set.
70425
70426 2006-10-16  Bruno Haible  <bruno@clisp.org>
70427
70428         * lib/clean-temp.c: Include fwriteerror.h.
70429
70430 2006-10-16  Bruno Haible  <bruno@clisp.org>
70431
70432         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
70433
70434 2006-10-16  Bruno Haible  <bruno@clisp.org>
70435
70436         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
70437         * lib/sigprocmask.h: Include <sys/types.h>.
70438         (sigset_t): Use the system's definition if present.
70439
70440 2006-10-17  Eric Blake  <ebb9@byu.net>
70441
70442         * lib/xvasprintf.c (includes): Assume config.h.
70443         * lib/xasprintf.c (includes): Likewise.
70444
70445 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
70446
70447         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
70448         at least as wide as intmax_t.
70449
70450 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
70451
70452         (Imported from Automake.)
70453         * build-aux/gnupload: Update to version 1.1 of directive file.
70454
70455 2006-10-16  Eric Blake  <ebb9@byu.net>
70456
70457         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
70458         match Automake 1.10a.
70459
70460 2006-10-14  Bruno Haible  <bruno@clisp.org>
70461
70462         * modules/sigprocmask: New file.
70463         * lib/sigprocmask.h: New file.
70464         * lib/sigprocmask.c: New file.
70465         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
70466         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
70467         request sigprocmask.o.
70468         (gl_PREREQ_SIGPROCMASK): New macro.
70469         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
70470         (Depends-on): Add sigprocmask.
70471         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
70472         gt_SIGNALBLOCKING. Test for 'raise' only once.
70473         * lib/fatal-signal.c: Include sigprocmask.h.
70474         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
70475         unblock_fatal_signals): Define always.
70476         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70477         sigprocmask.
70478
70479 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70480
70481         Sync from Automake.
70482         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
70483         which incorrectly sets the mode of an existing destination
70484         directory.  In some cases the unpatched install-sh could do the
70485         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
70486         system.  We hope this is rare in practice, but it's clearly worth
70487         fixing.  Problem reported by Alex Unleashed in
70488         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
70489         Also, don't bother to check for -m bugs unless we're using -m;
70490         suggested by Stepan Kasal.
70491
70492 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70493
70494         Sync from Automake.
70495         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
70496         `-c' flag, so they appear at the same position as in %FASTDEP%
70497         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
70498         which ignores unknown options only after the first non-option.
70499         Bug report against M4 by Nelson H. F. Beebe.
70500
70501 2006-10-13  Jim Meyering  <jim@meyering.net>
70502
70503         Fix a bug in yesterday's change.
70504         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
70505         p->fts_statp->st_dev would be used uninitialized.
70506         Ensures that we always call fts_stat on the very first entry.
70507         Miklos Szeredi reported that find -xdev stopped working.
70508
70509 2006-10-12  Bruno Haible  <bruno@clisp.org>
70510
70511         * gnulib-tool (func_get_automake_snippet): Append an automatically
70512         computed EXTRA_DIST augmentation.
70513         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
70514         * modules/alloca-opt (Makefile.am): Likewise.
70515         * modules/allocsa (Makefile.am): Likewise.
70516         * modules/arcfour (Makefile.am): Likewise.
70517         * modules/arctwo (Makefile.am): Likewise.
70518         * modules/argmatch (Makefile.am): Likewise.
70519         * modules/argz (Makefile.am): Likewise.
70520         * modules/atexit (Makefile.am): Likewise.
70521         * modules/backupfile (Makefile.am): Likewise.
70522         * modules/byteswap (Makefile.am): Likewise.
70523         * modules/c-strtod (Makefile.am): Likewise.
70524         * modules/c-strtold (Makefile.am): Likewise.
70525         * modules/calloc (Makefile.am): Likewise.
70526         * modules/canon-host (Makefile.am): Likewise.
70527         * modules/canonicalize (Makefile.am): Likewise.
70528         * modules/chdir-long (Makefile.am): Likewise.
70529         * modules/chdir-safer (Makefile.am): Likewise.
70530         * modules/check-version (Makefile.am): Likewise.
70531         * modules/chown (Makefile.am): Likewise.
70532         * modules/cloexec (Makefile.am): Likewise.
70533         * modules/close-stream (Makefile.am): Likewise.
70534         * modules/closeout (Makefile.am): Likewise.
70535         * modules/crc (Makefile.am): Likewise.
70536         * modules/csharpexec (Makefile.am): Likewise.
70537         * modules/cycle-check (Makefile.am): Likewise.
70538         * modules/des (Makefile.am): Likewise.
70539         * modules/dev-ino (Makefile.am): Likewise.
70540         * modules/dirfd (Makefile.am): Likewise.
70541         * modules/dirname (Makefile.am): Likewise.
70542         * modules/dup2 (Makefile.am): Likewise.
70543         * modules/eealloc (Makefile.am): Likewise.
70544         * modules/error (Makefile.am): Likewise.
70545         * modules/euidaccess (Makefile.am): Likewise.
70546         * modules/exclude (Makefile.am): Likewise.
70547         * modules/exitfail (Makefile.am): Likewise.
70548         * modules/fcntl-safer (Makefile.am): Likewise.
70549         * modules/fcntl (Makefile.am): Likewise.
70550         * modules/file-type (Makefile.am): Likewise.
70551         * modules/fileblocks (Makefile.am): Likewise.
70552         * modules/filemode (Makefile.am): Likewise.
70553         * modules/filenamecat (Makefile.am): Likewise.
70554         * modules/fnmatch (Makefile.am): Likewise.
70555         * modules/fopen-safer (Makefile.am): Likewise.
70556         * modules/fpending (Makefile.am): Likewise.
70557         * modules/fprintftime (Makefile.am): Likewise.
70558         * modules/free (Makefile.am): Likewise.
70559         * modules/fsusage (Makefile.am): Likewise.
70560         * modules/ftruncate (Makefile.am): Likewise.
70561         * modules/fts (Makefile.am): Likewise.
70562         * modules/gc-arcfour (Makefile.am): Likewise.
70563         * modules/gc-des (Makefile.am): Likewise.
70564         * modules/gc-hmac-md5 (Makefile.am): Likewise.
70565         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
70566         * modules/gc-md4 (Makefile.am): Likewise.
70567         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70568         * modules/gc-sha1 (Makefile.am): Likewise.
70569         * modules/gc (Makefile.am): Likewise.
70570         * modules/getaddrinfo (Makefile.am): Likewise.
70571         * modules/getcwd (Makefile.am): Likewise.
70572         * modules/getdelim (Makefile.am): Likewise.
70573         * modules/getdomainname (Makefile.am): Likewise.
70574         * modules/getgroups (Makefile.am): Likewise.
70575         * modules/gethostname (Makefile.am): Likewise.
70576         * modules/gethrxtime (Makefile.am): Likewise.
70577         * modules/getline (Makefile.am): Likewise.
70578         * modules/getloadavg (Makefile.am): Likewise.
70579         * modules/getlogin_r (Makefile.am): Likewise.
70580         * modules/getndelim2 (Makefile.am): Likewise.
70581         * modules/getopt (Makefile.am): Likewise.
70582         * modules/getpagesize (Makefile.am): Likewise.
70583         * modules/getpass-gnu (Makefile.am): Likewise.
70584         * modules/getpass (Makefile.am): Likewise.
70585         * modules/getsubopt (Makefile.am): Likewise.
70586         * modules/gettime (Makefile.am): Likewise.
70587         * modules/gettimeofday (Makefile.am): Likewise.
70588         * modules/getugroups (Makefile.am): Likewise.
70589         * modules/getusershell (Makefile.am): Likewise.
70590         * modules/glob (Makefile.am): Likewise.
70591         * modules/group-member (Makefile.am): Likewise.
70592         * modules/hard-locale (Makefile.am): Likewise.
70593         * modules/hash (Makefile.am): Likewise.
70594         * modules/hmac-md5 (Makefile.am): Likewise.
70595         * modules/hmac-sha1 (Makefile.am): Likewise.
70596         * modules/human (Makefile.am): Likewise.
70597         * modules/idcache (Makefile.am): Likewise.
70598         * modules/imaxabs (Makefile.am): Likewise.
70599         * modules/imaxdiv (Makefile.am): Likewise.
70600         * modules/inet_ntop (Makefile.am): Likewise.
70601         * modules/inet_pton (Makefile.am): Likewise.
70602         * modules/intprops (Makefile.am): Likewise.
70603         * modules/inttostr (Makefile.am): Likewise.
70604         * modules/inttypes (Makefile.am): Likewise.
70605         * modules/isapipe (Makefile.am): Likewise.
70606         * modules/javaversion (Makefile.am): Likewise.
70607         * modules/lchmod (Makefile.am): Likewise.
70608         * modules/lchown (Makefile.am): Likewise.
70609         * modules/localcharset (Makefile.am): Likewise.
70610         * modules/long-options (Makefile.am): Likewise.
70611         * modules/lstat (Makefile.am): Likewise.
70612         * modules/malloc (Makefile.am): Likewise.
70613         * modules/mathl (Makefile.am): Likewise.
70614         * modules/mbchar (Makefile.am): Likewise.
70615         * modules/md2 (Makefile.am): Likewise.
70616         * modules/md4 (Makefile.am): Likewise.
70617         * modules/md5 (Makefile.am): Likewise.
70618         * modules/memcasecmp (Makefile.am): Likewise.
70619         * modules/memchr (Makefile.am): Likewise.
70620         * modules/memcmp (Makefile.am): Likewise.
70621         * modules/memcoll (Makefile.am): Likewise.
70622         * modules/memcpy (Makefile.am): Likewise.
70623         * modules/memmem (Makefile.am): Likewise.
70624         * modules/memmove (Makefile.am): Likewise.
70625         * modules/mempcpy (Makefile.am): Likewise.
70626         * modules/memrchr (Makefile.am): Likewise.
70627         * modules/memset (Makefile.am): Likewise.
70628         * modules/memxor (Makefile.am): Likewise.
70629         * modules/mkancesdirs (Makefile.am): Likewise.
70630         * modules/mkdir-p (Makefile.am): Likewise.
70631         * modules/mkdir (Makefile.am): Likewise.
70632         * modules/mkdtemp (Makefile.am): Likewise.
70633         * modules/mkstemp (Makefile.am): Likewise.
70634         * modules/mktime (Makefile.am): Likewise.
70635         * modules/modechange (Makefile.am): Likewise.
70636         * modules/mountlist (Makefile.am): Likewise.
70637         * modules/nanosleep (Makefile.am): Likewise.
70638         * modules/obstack (Makefile.am): Likewise.
70639         * modules/openat (Makefile.am): Likewise.
70640         * modules/pagealign_alloc (Makefile.am): Likewise.
70641         * modules/pathmax (Makefile.am): Likewise.
70642         * modules/physmem (Makefile.am): Likewise.
70643         * modules/poll (Makefile.am): Likewise.
70644         * modules/posixtm (Makefile.am): Likewise.
70645         * modules/posixver (Makefile.am): Likewise.
70646         * modules/putenv (Makefile.am): Likewise.
70647         * modules/quote (Makefile.am): Likewise.
70648         * modules/quotearg (Makefile.am): Likewise.
70649         * modules/raise (Makefile.am): Likewise.
70650         * modules/read-file (Makefile.am): Likewise.
70651         * modules/readline (Makefile.am): Likewise.
70652         * modules/readlink (Makefile.am): Likewise.
70653         * modules/readtokens (Makefile.am): Likewise.
70654         * modules/readutmp (Makefile.am): Likewise.
70655         * modules/realloc (Makefile.am): Likewise.
70656         * modules/regex (Makefile.am): Likewise.
70657         * modules/rename-dest-slash (Makefile.am): Likewise.
70658         * modules/rename (Makefile.am): Likewise.
70659         * modules/rijndael (Makefile.am): Likewise.
70660         * modules/rmdir (Makefile.am): Likewise.
70661         * modules/rpmatch (Makefile.am): Likewise.
70662         * modules/safe-read (Makefile.am): Likewise.
70663         * modules/safe-write (Makefile.am): Likewise.
70664         * modules/same-inode (Makefile.am): Likewise.
70665         * modules/same (Makefile.am): Likewise.
70666         * modules/save-cwd (Makefile.am): Likewise.
70667         * modules/savedir (Makefile.am): Likewise.
70668         * modules/setenv (Makefile.am): Likewise.
70669         * modules/settime (Makefile.am): Likewise.
70670         * modules/sha1 (Makefile.am): Likewise.
70671         * modules/sig2str (Makefile.am): Likewise.
70672         * modules/snprintf (Makefile.am): Likewise.
70673         * modules/stat-macros (Makefile.am): Likewise.
70674         * modules/stat-time (Makefile.am): Likewise.
70675         * modules/stdbool (Makefile.am): Likewise.
70676         * modules/stdint (Makefile.am): Likewise.
70677         * modules/stdlib-safer (Makefile.am): Likewise.
70678         * modules/stpcpy (Makefile.am): Likewise.
70679         * modules/stpncpy (Makefile.am): Likewise.
70680         * modules/strcase (Makefile.am): Likewise.
70681         * modules/strcasestr (Makefile.am): Likewise.
70682         * modules/strchrnul (Makefile.am): Likewise.
70683         * modules/strcspn (Makefile.am): Likewise.
70684         * modules/strdup (Makefile.am): Likewise.
70685         * modules/strerror (Makefile.am): Likewise.
70686         * modules/strftime (Makefile.am): Likewise.
70687         * modules/strndup (Makefile.am): Likewise.
70688         * modules/strnlen (Makefile.am): Likewise.
70689         * modules/strpbrk (Makefile.am): Likewise.
70690         * modules/strsep (Makefile.am): Likewise.
70691         * modules/strstr (Makefile.am): Likewise.
70692         * modules/strtod (Makefile.am): Likewise.
70693         * modules/strtoimax (Makefile.am): Likewise.
70694         * modules/strtok_r (Makefile.am): Likewise.
70695         * modules/strtol (Makefile.am): Likewise.
70696         * modules/strtoll (Makefile.am): Likewise.
70697         * modules/strtoul (Makefile.am): Likewise.
70698         * modules/strtoull (Makefile.am): Likewise.
70699         * modules/strtoumax (Makefile.am): Likewise.
70700         * modules/strverscmp (Makefile.am): Likewise.
70701         * modules/sys_socket (Makefile.am): Likewise.
70702         * modules/sys_stat (Makefile.am): Likewise.
70703         * modules/sysexits (Makefile.am): Likewise.
70704         * modules/time_r (Makefile.am): Likewise.
70705         * modules/timegm (Makefile.am): Likewise.
70706         * modules/timespec (Makefile.am): Likewise.
70707         * modules/tmpfile-safer (Makefile.am): Likewise.
70708         * modules/trim (Makefile.am): Likewise.
70709         * modules/unistd-safer (Makefile.am): Likewise.
70710         * modules/unlinkdir (Makefile.am): Likewise.
70711         * modules/unlocked-io (Makefile.am): Likewise.
70712         * modules/userspec (Makefile.am): Likewise.
70713         * modules/utime (Makefile.am): Likewise.
70714         * modules/utimecmp (Makefile.am): Likewise.
70715         * modules/utimens (Makefile.am): Likewise.
70716         * modules/vasnprintf (Makefile.am): Likewise.
70717         * modules/vasprintf (Makefile.am): Likewise.
70718         * modules/vsnprintf (Makefile.am): Likewise.
70719         * modules/xalloc (Makefile.am): Likewise.
70720         * modules/xgetcwd (Makefile.am): Likewise.
70721         * modules/xnanosleep (Makefile.am): Likewise.
70722         * modules/xreadlink (Makefile.am): Likewise.
70723         * modules/xstrtod (Makefile.am): Likewise.
70724         * modules/xstrtol (Makefile.am): Likewise.
70725         * modules/xstrtold (Makefile.am): Likewise.
70726         * modules/yesno (Makefile.am): Likewise.
70727         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
70728
70729 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70730
70731         * modules/error (Makefile.am): Distribute files through
70732         EXTRA_DIST, not lib_SOURCES.
70733
70734 2006-10-12  Eric Blake  <ebb9@byu.net>
70735
70736         * modules/error (Makefile.am): Distribute files in /lib.
70737         * modules/obstack (Makefile.am): Likewise.
70738
70739 2006-10-12  Bruno Haible  <bruno@clisp.org>
70740
70741         * modules/acl (Makefile.am): Distribute all files in lib/ through
70742         EXTRA_DIST.
70743         * modules/arcfour (Makefile.am): Likewise.
70744         * modules/arctwo (Makefile.am): Likewise.
70745         * modules/argmatch (Makefile.am): Likewise.
70746         * modules/argz (Makefile.am): Likewise.
70747         * modules/atexit (Makefile.am): Likewise.
70748         * modules/backupfile (Makefile.am): Likewise.
70749         * modules/c-strtod (Makefile.am): Likewise.
70750         * modules/c-strtold (Makefile.am): Likewise.
70751         * modules/calloc (Makefile.am): Likewise.
70752         * modules/canon-host (Makefile.am): Likewise.
70753         * modules/canonicalize (Makefile.am): Likewise.
70754         * modules/chdir-long (Makefile.am): Likewise.
70755         * modules/chdir-safer (Makefile.am): Likewise.
70756         * modules/check-version (Makefile.am): Likewise.
70757         * modules/chown (Makefile.am): Likewise.
70758         * modules/cloexec (Makefile.am): Likewise.
70759         * modules/close-stream (Makefile.am): Likewise.
70760         * modules/closeout (Makefile.am): Likewise.
70761         * modules/crc (Makefile.am): Likewise.
70762         * modules/cycle-check (Makefile.am): Likewise.
70763         * modules/des (Makefile.am): Likewise.
70764         * modules/dirfd (Makefile.am): Likewise.
70765         * modules/dirname (Makefile.am): Likewise.
70766         * modules/dup2 (Makefile.am): Likewise.
70767         * modules/euidaccess (Makefile.am): Likewise.
70768         * modules/exclude (Makefile.am): Likewise.
70769         * modules/exitfail (Makefile.am): Likewise.
70770         * modules/fcntl-safer (Makefile.am): Likewise.
70771         * modules/file-type (Makefile.am): Likewise.
70772         * modules/fileblocks (Makefile.am): Likewise.
70773         * modules/filemode (Makefile.am): Likewise.
70774         * modules/filenamecat (Makefile.am): Likewise.
70775         * modules/fnmatch (Makefile.am): Likewise.
70776         * modules/fopen-safer (Makefile.am): Likewise.
70777         * modules/fpending (Makefile.am): Likewise.
70778         * modules/fprintftime (Makefile.am): Likewise.
70779         * modules/free (Makefile.am): Likewise.
70780         * modules/fsusage (Makefile.am): Likewise.
70781         * modules/ftruncate (Makefile.am): Likewise.
70782         * modules/fts (Makefile.am): Likewise.
70783         * modules/gc (Makefile.am): Likewise.
70784         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70785         * modules/getaddrinfo (Makefile.am): Likewise.
70786         * modules/getcwd (Makefile.am): Likewise.
70787         * modules/getdelim (Makefile.am): Likewise.
70788         * modules/getdomainname (Makefile.am): Likewise.
70789         * modules/getgroups (Makefile.am): Likewise.
70790         * modules/gethostname (Makefile.am): Likewise.
70791         * modules/gethrxtime (Makefile.am): Likewise.
70792         * modules/getline (Makefile.am): Likewise.
70793         * modules/getloadavg (Makefile.am): Likewise.
70794         * modules/getlogin_r (Makefile.am): Likewise.
70795         * modules/getopt (Makefile.am): Likewise.
70796         * modules/getpass (Makefile.am): Likewise.
70797         * modules/getpass-gnu (Makefile.am): Likewise.
70798         * modules/getsubopt (Makefile.am): Likewise.
70799         * modules/gettime (Makefile.am): Likewise.
70800         * modules/gettimeofday (Makefile.am): Likewise.
70801         * modules/getugroups (Makefile.am): Likewise.
70802         * modules/getusershell (Makefile.am): Likewise.
70803         * modules/glob (Makefile.am): Likewise.
70804         * modules/group-member (Makefile.am): Likewise.
70805         * modules/hard-locale (Makefile.am): Likewise.
70806         * modules/hash (Makefile.am): Likewise.
70807         * modules/hmac-md5 (Makefile.am): Likewise.
70808         * modules/hmac-sha1 (Makefile.am): Likewise.
70809         * modules/human (Makefile.am): Likewise.
70810         * modules/idcache (Makefile.am): Likewise.
70811         * modules/imaxabs (Makefile.am): Likewise.
70812         * modules/imaxdiv (Makefile.am): Likewise.
70813         * modules/inet_ntop (Makefile.am): Likewise.
70814         * modules/inet_pton (Makefile.am): Likewise.
70815         * modules/inttostr (Makefile.am): Likewise.
70816         * modules/isapipe (Makefile.am): Likewise.
70817         * modules/lchown (Makefile.am): Likewise.
70818         * modules/long-options (Makefile.am): Likewise.
70819         * modules/lstat (Makefile.am): Likewise.
70820         * modules/malloc (Makefile.am): Likewise.
70821         * modules/mathl (Makefile.am): Likewise.
70822         * modules/mbchar (Makefile.am): Likewise.
70823         * modules/md2 (Makefile.am): Likewise.
70824         * modules/md4 (Makefile.am): Likewise.
70825         * modules/md5 (Makefile.am): Likewise.
70826         * modules/memcasecmp (Makefile.am): Likewise.
70827         * modules/memchr (Makefile.am): Likewise.
70828         * modules/memcmp (Makefile.am): Likewise.
70829         * modules/memcoll (Makefile.am): Likewise.
70830         * modules/memcpy (Makefile.am): Likewise.
70831         * modules/memmem (Makefile.am): Likewise.
70832         * modules/memmove (Makefile.am): Likewise.
70833         * modules/mempcpy (Makefile.am): Likewise.
70834         * modules/memrchr (Makefile.am): Likewise.
70835         * modules/memset (Makefile.am): Likewise.
70836         * modules/memxor (Makefile.am): Likewise.
70837         * modules/mkancesdirs (Makefile.am): Likewise.
70838         * modules/mkdir (Makefile.am): Likewise.
70839         * modules/mkdir-p (Makefile.am): Likewise.
70840         * modules/mkdtemp (Makefile.am): Likewise.
70841         * modules/mkstemp (Makefile.am): Likewise.
70842         * modules/mktime (Makefile.am): Likewise.
70843         * modules/modechange (Makefile.am): Likewise.
70844         * modules/mountlist (Makefile.am): Likewise.
70845         * modules/nanosleep (Makefile.am): Likewise.
70846         * modules/openat (Makefile.am): Likewise.
70847         * modules/pagealign_alloc (Makefile.am): Likewise.
70848         * modules/physmem (Makefile.am): Likewise.
70849         * modules/poll (Makefile.am): Likewise.
70850         * modules/posixtm (Makefile.am): Likewise.
70851         * modules/posixver (Makefile.am): Likewise.
70852         * modules/putenv (Makefile.am): Likewise.
70853         * modules/quote (Makefile.am): Likewise.
70854         * modules/quotearg (Makefile.am): Likewise.
70855         * modules/raise (Makefile.am): Likewise.
70856         * modules/read-file (Makefile.am): Likewise.
70857         * modules/readline (Makefile.am): Likewise.
70858         * modules/readlink (Makefile.am): Likewise.
70859         * modules/readtokens (Makefile.am): Likewise.
70860         * modules/readutmp (Makefile.am): Likewise.
70861         * modules/realloc (Makefile.am): Likewise.
70862         * modules/regex (Makefile.am): Likewise.
70863         * modules/rename (Makefile.am): Likewise.
70864         * modules/rename-dest-slash (Makefile.am): Likewise.
70865         * modules/rijndael (Makefile.am): Likewise.
70866         * modules/rmdir (Makefile.am): Likewise.
70867         * modules/rpmatch (Makefile.am): Likewise.
70868         * modules/safe-read (Makefile.am): Likewise.
70869         * modules/safe-write (Makefile.am): Likewise.
70870         * modules/same (Makefile.am): Likewise.
70871         * modules/save-cwd (Makefile.am): Likewise.
70872         * modules/savedir (Makefile.am): Likewise.
70873         * modules/setenv (Makefile.am): Likewise.
70874         * modules/settime (Makefile.am): Likewise.
70875         * modules/sha1 (Makefile.am): Likewise.
70876         * modules/sig2str (Makefile.am): Likewise.
70877         * modules/snprintf (Makefile.am): Likewise.
70878         * modules/stdlib-safer (Makefile.am): Likewise.
70879         * modules/stpcpy (Makefile.am): Likewise.
70880         * modules/stpncpy (Makefile.am): Likewise.
70881         * modules/strcase (Makefile.am): Likewise.
70882         * modules/strcasestr (Makefile.am): Likewise.
70883         * modules/strchrnul (Makefile.am): Likewise.
70884         * modules/strcspn (Makefile.am): Likewise.
70885         * modules/strdup (Makefile.am): Likewise.
70886         * modules/strerror (Makefile.am): Likewise.
70887         * modules/strftime (Makefile.am): Likewise.
70888         * modules/strndup (Makefile.am): Likewise.
70889         * modules/strnlen (Makefile.am): Likewise.
70890         * modules/strpbrk (Makefile.am): Likewise.
70891         * modules/strsep (Makefile.am): Likewise.
70892         * modules/strstr (Makefile.am): Likewise.
70893         * modules/strtod (Makefile.am): Likewise.
70894         * modules/strtoimax (Makefile.am): Likewise.
70895         * modules/strtok_r (Makefile.am): Likewise.
70896         * modules/strtol (Makefile.am): Likewise.
70897         * modules/strtoll (Makefile.am): Likewise.
70898         * modules/strtoul (Makefile.am): Likewise.
70899         * modules/strtoull (Makefile.am): Likewise.
70900         * modules/strtoumax (Makefile.am): Likewise.
70901         * modules/strverscmp (Makefile.am): Likewise.
70902         * modules/time_r (Makefile.am): Likewise.
70903         * modules/timegm (Makefile.am): Likewise.
70904         * modules/tmpfile-safer (Makefile.am): Likewise.
70905         * modules/unistd-safer (Makefile.am): Likewise.
70906         * modules/unlinkdir (Makefile.am): Likewise.
70907         * modules/userspec (Makefile.am): Likewise.
70908         * modules/utime (Makefile.am): Likewise.
70909         * modules/utimecmp (Makefile.am): Likewise.
70910         * modules/utimens (Makefile.am): Likewise.
70911         * modules/vasnprintf (Makefile.am): Likewise.
70912         * modules/vasprintf (Makefile.am): Likewise.
70913         * modules/vsnprintf (Makefile.am): Likewise.
70914         * modules/xalloc (Makefile.am): Likewise.
70915         * modules/xgetcwd (Makefile.am): Likewise.
70916         * modules/xnanosleep (Makefile.am): Likewise.
70917         * modules/xreadlink (Makefile.am): Likewise.
70918         * modules/xstrtod (Makefile.am): Likewise.
70919         * modules/xstrtol (Makefile.am): Likewise.
70920         * modules/xstrtold (Makefile.am): Likewise.
70921         * modules/yesno (Makefile.am): Likewise.
70922
70923 2006-10-12  Jim Meyering  <jim@meyering.net>
70924
70925         * m4/getloadavg.m4: Revert the change below.
70926
70927         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
70928         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
70929         fail with a symlink, which is what coreutils' ./bootstrap now
70930         creates by default.
70931
70932 2006-10-12  Bruno Haible  <bruno@clisp.org>
70933
70934         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
70935         mingw.
70936         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
70937         MSVC and mingw explicitly.
70938
70939 2006-10-11  Simon Josefsson  <jas@extundo.com>
70940             Bruno Haible  <bruno@clisp.org>
70941
70942         Add support for multiple gnulib-tool invocations in the scope of a
70943         single configure.ac file.
70944         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
70945         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
70946         with the same contents as the _LIBADD variable.
70947         (func_emit_initmacro_start, func_emit_initmacro_end,
70948         func_emit_initmacro_done): New functions.
70949         (func_import, func_create_testdir): Invoke them. Allow the identifiers
70950         gl_LIBOBJS and gl_LTLIBOBJS.
70951
70952 2006-10-11  Bruno Haible  <bruno@clisp.org>
70953
70954         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
70955         (func_create_testdir): Don't create po/Makefile.am, don't invoke
70956         autoreconf. Instead, invoke autopoint explicitly but move back the
70957         *.m4 files from gnulib.
70958
70959 2006-10-11  Bruno Haible  <bruno@clisp.org>
70960
70961         * gnulib-tool (func_usage): Make module names after --create-testdir
70962         optional.
70963         (func_create_testdir): If no module was specified, use nearly all
70964         modules.
70965
70966 2006-10-12  Jim Meyering  <jim@meyering.net>
70967
70968         Big performance improvement for fts-based tools that use FTS_NOSTAT.
70969         Avoid spurious inode-mismatch problems on non-POSIX file systems.
70970         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
70971         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
70972         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
70973         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
70974         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
70975         (fts_set_stat_required): New function.
70976         (fts_open): Defer the calls to fts_stat, if possible or requested.
70977         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
70978         into fts_stat itself.
70979         (fts_read): Perform any required (deferred) fts_stat call.
70980         (fts_build): Likewise, for the directory we're about to open and read.
70981         In the readdir loop, carefully decide whether each entry will require
70982         an eventual call to fts_stat, using dirent.d_type info if available.
70983         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
70984         a command line argument into this function.  Update all callers.
70985         Map a return value of FTS_DOT to FTS_D for a command line argument.
70986         * modules/fts (Depends-on): Add d-type.  Alphabetize.
70987         Thanks to Miklos Szeredi for his tenacity and for the initial
70988         bug report about "find" failing on a FUSE-based file system.
70989
70990         * lib/fts.c (fts_open): Use consistent indentation.
70991
70992 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70993
70994         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
70995         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
70996         reported by Jim Meyering.  All uses of cache variables renamed
70997         to match Autoconf's.
70998         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
70999         the other one.
71000
71001         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71002         Fix misspelling in diagnostic.
71003
71004 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71005
71006         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71007         defined.  Problem reported by Matthew Woehlke.
71008
71009         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71010         Add support for Tandem NonStop R series.
71011         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71012         Use new macro.
71013
71014         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71015         (has_trailing_slash): Omit size arg; all callers changed.
71016         Omit 'inline', since it doesn't help performance and we'd
71017         need to configure it.
71018         Don't count //, ///, etc. as having a trailing slash.
71019         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71020         (rpl_rename_dest_slash): On failure, use rename's errno rather
71021         than (in some cases) an incorrect or junk errno.
71022         Simplify code by removing need to compute length; this does
71023         cause it to make two passes instead of one over the file name,
71024         but it's worth it.
71025
71026         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71027         change, since Autoconf's version may no longer be appropriate now
71028         that we are using CVS Autoconf's version.  Add support for Tandem.
71029
71030 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71031             Bruno Haible  <bruno@clisp.org>
71032
71033         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71034         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71035         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71036         gl_AC_TYPE_LONG_LONG.
71037
71038         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71039         instead of HAVE_LONG_LONG.
71040         * lib/printf-args.c (printf_fetchargs): Likewise.
71041         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71042         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71043         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71044         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71045         gl_AC_TYPE_LONG_LONG.
71046
71047 2006-10-11  Bruno Haible  <bruno@clisp.org>
71048
71049         * m4/longlong.m4: Add comments.
71050         * m4/ulonglong.m4: Likewise.
71051
71052 2006-10-10  Bruno Haible  <bruno@clisp.org>
71053
71054         Make it possible to #define stpcpy, strdup to aliases.
71055         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71056         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71057
71058 2006-10-10  Bruno Haible  <bruno@clisp.org>
71059
71060         Make it possible to #define gcd to an alias.
71061         * lib/gcd.c: Include config.h.
71062
71063 2006-10-10  Bruno Haible  <bruno@clisp.org>
71064
71065         Make it possible to #define c_isascii to an alias.
71066         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71067         defined. Undefine the macros before defining them, to avoid gcc
71068         warnings.
71069         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71070         define NO_C_CTYPE_MACROS early.
71071
71072 2006-10-10  Bruno Haible  <bruno@clisp.org>
71073
71074         Make it possible to #define set_program_name to an alias.
71075         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71076         ENABLE_RELOCATABLE early.
71077
71078 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71079
71080         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71081         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71082         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71083         More generally, don't assume that 64-bit signed int is available
71084         if unsigned int is, and vice versa.
71085         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71086         unsigned symbols, not on their signed counterparts.
71087         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71088         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71089         (UINT64_C, UINTMAX_C):
71090         Likewise.
71091         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71092         unsigned counterparts.
71093         (Have_long_long, Unsigned): New macros.
71094         (Int): Renamed from INT.
71095         (strtoimax): Use the new macros.
71096         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71097         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71098         * modules/inttypes (inttypes.h): Substitute
71099         HAVE_UNSIGNED_LONG_LONG_INT.
71100         * modules/stdint (stdint.h): Likewise.
71101         (Files): Add m4/ulonglong.m4.
71102
71103 2006-10-10  Bruno Haible  <bruno@clisp.org>
71104
71105         Fix a gcc -Wshadow warning.
71106         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71107         to 'bucket'.
71108         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71109         gl_linked_indexof_from_to): Likewise.
71110         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71111         Likewise.
71112         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71113         Likewise.
71114         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71115         Reported by Eric Blake.
71116
71117 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71118
71119         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71120         for NetBSD.  Problem reported by Bruno Haible.
71121
71122 2006-10-09  Jim Meyering  <jim@meyering.net>
71123
71124         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71125         Patch from Bruno Haible.
71126
71127 2006-10-09  Jim Meyering  <jim@meyering.net>
71128
71129         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71130         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71131         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71132
71133 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71134
71135         Don't include <config.h> twice; this doesn't work in some cases,
71136         e.g., when config.h has "#define intmax_t long long int" and
71137         we include <config.h>, <inttypes.h>, <config.h> in that order.
71138         Problem reported by Matthew Woehlke in:
71139         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71140         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71141         * lib/fts-cycle.c: Don't include config.h.
71142         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71143         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71144         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71145         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71146         inttypes.h.
71147         * lib/xstrtoumax.c: Likewise.
71148         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71149         __strtol and the like, so that this module is more like its siblings.
71150         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71151         Remove; no longer needed now that we assume gnulib inttypes.h.
71152
71153 2006-10-08  Bruno Haible  <bruno@clisp.org>
71154
71155         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71156         option.
71157
71158 2006-10-07  Jim Meyering  <jim@meyering.net>
71159
71160         * modules/inttypes (inttypes.h): Revert what seems to have been
71161         an inadvertent part of today's change: use "|", not "/" in the
71162         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71163
71164 2006-10-07  Bruno Haible  <bruno@clisp.org>
71165
71166         * modules/sublist: New file.
71167
71168 2006-10-07  Bruno Haible  <bruno@clisp.org>
71169
71170         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71171         * modules/argz (argz.h): Likewise.
71172         * modules/arpa_inet (arpa/inet.h): Likewise.
71173         * modules/byteswap (byteswap.h): Likewise.
71174         * modules/configmake (configmake.h): Likewise.
71175         * modules/fcntl (fcntl.h): Likewise.
71176         * modules/fnmatch (fnmatch.h): Likewise.
71177         * modules/getopt (getopt.h): Likewise.
71178         * modules/glob (glob.h): Likewise.
71179         * modules/inttypes (inttypes.h): Likewise.
71180         * modules/netinet_in (netinet/in.h): Likewise.
71181         * modules/poll (poll.h): Likewise.
71182         * modules/stdbool (stdbool.h): Likewise.
71183         * modules/stdint (stdint.h): Likewise.
71184         * modules/sys_select (sys/select.h): Likewise.
71185         * modules/sys_socket (sys/socket.h): Likewise.
71186         * modules/sys_stat (sys/stat.h): Likewise.
71187         * modules/sysexits (sysexits.h): Likewise.
71188         * modules/unistd (unistd.h): Likewise.
71189         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71190         Add a "DO NOT EDIT" comment to the generated file.
71191         (func_import): Likewise for gnulib-comp.m4.
71192
71193 2006-10-07  Bruno Haible  <bruno@clisp.org>
71194
71195         * lib/gl_sublist.h: New file.
71196         * lib/gl_sublist.c: New file.
71197
71198 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71199
71200         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71201         name (relative to the original working directory) and the file
71202         name component (relative to the temporary working directory).  All
71203         callers changed.
71204         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71205         * lib/mkdir-p.c (make_dir_parents): Likewise.
71206         * lib/mkdir-p.h (make_dir_parents): Likewise.
71207
71208 2006-10-06  Eric Blake  <ebb9@byu.net>
71209
71210         Define several macros for use by the clean-temp module.
71211         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71212         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71213         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71214
71215         * lib/clean-temp.h (close_stream_temp): New declaration.
71216         * lib/clean-temp.c (includes): Pull in headers according to what
71217         other modules are in use.
71218         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71219
71220 2006-10-06  Bruno Haible  <bruno@clisp.org>
71221
71222         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71223         instead of fopen, fwriteerror.
71224
71225 2006-10-06  Bruno Haible  <bruno@clisp.org>
71226
71227         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71228         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71229         int.
71230         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71231         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71232         Return an error indicator.
71233         Suggested by Eric Blake.
71234
71235 2006-10-06  Bruno Haible  <bruno@clisp.org>
71236
71237         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71238         Reported by Eric Blake.
71239
71240 2006-10-06  Bruno Haible  <bruno@clisp.org>
71241
71242         * modules/closeout (Description): Mention stderr too.
71243
71244 2006-10-06  Bruno Haible  <bruno@clisp.org>
71245         and Paul Eggert  <eggert@cs.ucla.edu>
71246
71247         * lib/closeout.c (close_stdout): Also close stderr.
71248         * lib/closeout.h: Update comment.
71249
71250 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71251
71252         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71253         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71254         * lib/dirchownmod.c: Include lchown.h.
71255         * lib/lchown.c: Don't include files that lchown.h now includes.
71256         Don't declare chown, since lchown.h now does that.
71257         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71258         (lchown): Define to rpl_chown if lchown is declared but
71259         does not exist.  Declare using a prototype if lchown is not
71260         declared.  Add a copyright notice.
71261         * lib/mkstemp.h: Include <unistd.h>.
71262         * lib/openat.c: Include lchown.h.
71263
71264         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71265         we now test for that separately.
71266         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71267         rather than O_NOFOLLOW, when testing whether it's possible to
71268         avoid a race condition reliably.
71269         * lib/savewd.c (savewd_chdir): Likewise.
71270
71271         Remove macros that are no longer needed now that stdint.h is
71272         reliable.
71273         * lib/fsusage.c (UINTMAX_MAX): Remove.
71274         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71275         * lib/utimecmp.c (SIZE_MAX): Remove.
71276
71277         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71278
71279         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71280         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71281         O_NOATIME works.
71282
71283 2006-10-05  Bruno Haible  <bruno@clisp.org>
71284
71285         * lib/gl_list.h (gl_sortedlist_search_from_to,
71286         gl_sortedlist_indexof_from_to): New declarations.
71287         (gl_list_implementation): New fields sortedlist_search_from_to,
71288         sortedlist_indexof_from_to.
71289         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71290         inline functions.
71291         * lib/gl_list.c (gl_sortedlist_search_from_to,
71292         gl_sortedlist_indexof_from_to): New functions.
71293         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71294         function.
71295         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71296         (gl_array_sortedlist_search_from_to): New function.
71297         (gl_array_list_implementation): Update.
71298         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71299         function.
71300         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71301         (gl_carray_sortedlist_search_from_to): New function.
71302         (gl_carray_list_implementation): Update.
71303         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71304         gl_linked_sortedlist_indexof_from_to): New functions.
71305         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71306         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71307         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71308         gl_tree_sortedlist_indexof_from_to): New functions.
71309         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71310         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71311         Update.
71312         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71313         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71314         Update.
71315
71316 2006-10-05  Bruno Haible  <bruno@clisp.org>
71317
71318         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71319         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71320         (struct gl_list_implementation): Add fields search_from_to,
71321         indexof_from_to. Remove fields search, indexof.
71322         (gl_list_search): Use the search_from_to method.
71323         (gl_list_search_from, gl_list_search_from_to): New functions.
71324         (gl_list_indexof): Use the indexof_from_to method.
71325         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71326         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
71327         (gl_list_search_from, gl_list_search_from_to): New functions.
71328         (gl_list_indexof): Use the indexof_from_to method.
71329         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71330         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
71331         gl_array_indexof. Add start_index, end_index arguments.
71332         (gl_array_search_from_to): Renamed from gl_array_search. Add
71333         start_index, end_index arguments.
71334         (gl_array_remove, gl_array_list_implementation): Update.
71335         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71336         gl_carray_indexof. Add start_index, end_index arguments.
71337         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71338         start_index, end_index arguments.
71339         (gl_carray_remove, gl_carray_list_implementation): Update.
71340         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71341         gl_linked_search. Add start_index, end_index arguments.
71342         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71343         start_index, end_index arguments.
71344         (gl_linked_remove): Update.
71345         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71346         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71347         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
71348         field to 'size_t'.
71349         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71350         gl_tree_search. Add start_index, end_index arguments.
71351         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71352         start_index, end_index arguments.
71353         (gl_tree_remove): Update.
71354         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71355         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71356         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
71357         function.
71358         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
71359         gl_tree_search. Add start_index, end_index arguments.
71360         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71361         start_index, end_index arguments.
71362         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71363         Update.
71364         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
71365
71366 2006-10-05  Bruno Haible  <bruno@clisp.org>
71367
71368         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
71369
71370         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
71371         fwriteerror_temp): New declarations.
71372         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
71373         (descriptors): New variable.
71374         (cleanup): First, close the descriptors.
71375         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
71376         fclose_temp, fwriteerror_temp): New functions.
71377
71378 2006-10-04  Jim Meyering  <jim@meyering.net>
71379
71380         * lib/fts.c (fts_open): Tiny comment change.
71381
71382 2006-10-04  Bruno Haible  <bruno@clisp.org>
71383
71384         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
71385         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
71386         gl_LOCK_BODY.
71387         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
71388         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
71389         gl_LOCK_EARLY_BODY.
71390         (gl_LOCK): Require gl_LOCK_BODY.
71391
71392 2006-10-04  Bruno Haible  <bruno@clisp.org>
71393
71394         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
71395         (gl_oset_search_atleast): New declaration.
71396         (struct gl_oset_implementation): Add field 'search_atleast'.
71397         (gl_oset_search_atleast): New inline function.
71398         * lib/gl_oset.c (gl_oset_search_atleast): New function.
71399         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
71400         (gl_array_oset_implementation): Update.
71401         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
71402         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
71403         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
71404
71405 2006-10-04  Bruno Haible  <bruno@clisp.org>
71406
71407         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
71408
71409 2006-10-03  Bruno Haible  <bruno@clisp.org>
71410
71411         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
71412         from gl_avltreehash_list_implementation.
71413
71414 2006-10-03  Bruno Haible  <bruno@clisp.org>
71415
71416         * lib/gl_oset.c (gl_oset_add): Fix return type.
71417
71418 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
71419
71420         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
71421
71422 2006-10-02  Eric Blake  <ebb9@byu.net>
71423
71424         * modules/strnlen (Depends-on): Add extensions.
71425
71426 2006-10-02  Eric Blake  <ebb9@byu.net>
71427
71428         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
71429         definition in 2.60+.
71430
71431 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
71432
71433         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
71434         checks.
71435
71436 2006-10-02  Bruno Haible  <bruno@clisp.org>
71437
71438         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
71439         to the AUTOMAKE_OPTIONS.
71440         Reported by Jim Meyering.
71441
71442 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71443
71444         Work around bug in Solaris 10 /proc file system:
71445         /proc/self/fd/NNN/.. isn't the parent directory of
71446         the directory whose file descriptor is NNN.  This needs to
71447         be worked around at run time, not compile time, since a
71448         program might be built on Solaris 8, where things work, and
71449         run on Solaris 10.
71450         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
71451         to use the following interface instead:
71452         (OPENAT_BUFFER_SIZE): New macro.
71453         (openat_proc_name): New function.
71454         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
71455         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
71456         Likewise.
71457         * lib/openat-proc.c: New file.
71458         * modules/openat (Files): Add lib/openat-proc.c.
71459         (Depends-on): Add same-inode, stdbool.
71460         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
71461
71462 2006-09-29  Bruno Haible  <bruno@clisp.org>
71463
71464         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
71465         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
71466         argument. Set stdout_closed before testing for ferror, not after.
71467         (fwriteerror, fwriteerror_no_ebadf): New functions.
71468
71469 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71470
71471         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
71472
71473 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
71474
71475         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
71476         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
71477
71478 2006-09-28  Jim Meyering  <jim@meyering.net>
71479
71480         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
71481         Include <unistd.h>.
71482
71483 2006-09-28  Bruno Haible  <bruno@clisp.org>
71484
71485         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
71486         * modules/linkedhash-list (Depends-on): Likewise.
71487         * modules/rbtreehash-list (Depends-on): Likewise.
71488
71489 2006-09-28  Bruno Haible  <bruno@clisp.org>
71490
71491         * lib/strndup.h: Simplify the redefinition of strndup.
71492         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
71493         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
71494
71495 2006-09-28  Bruno Haible  <bruno@clisp.org>
71496
71497         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
71498         * lib/gl_linkedhash_list.c: Likewise.
71499         * lib/gl_rbtreehash_list.c: Likewise.
71500
71501 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71502
71503         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
71504         getaddrinfo.
71505
71506         * lib/__fpending.h: Don't include <stdio_ext.h> unless
71507         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
71508         it causes <stdio_ext.h> to cause a compile-time error.
71509         Problem reported by Nelson H. F. Beebe.
71510         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
71511         of HAVE_DECL___PENDING.
71512
71513         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
71514         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
71515         declaration.
71516
71517 2006-09-27  Jim Meyering  <jim@meyering.net>
71518
71519         This file could end up with a definition for a function
71520         named __strndup, rather than rpl_strndup on a system with
71521         incomplete weak_alias support.
71522         * lib/strndup.c (strndup): Rename from __strndup.
71523         Remove #defines that used to map __strndup to strndup.
71524         Don't use K&R prototypes.
71525         Remove LIBC-related code, since this file is not sync'd with glibc.
71526         * lib/strndup.h: Revamp, accordingly.
71527         * m4/strndup.m4: Modernize.
71528
71529 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71530
71531         * modules/savewd (Depends-on): Add 'raise'.
71532         * lib/savewd.c: Include <signal.h>, for 'raise'.
71533
71534 2006-09-26  Jim Meyering  <jim@meyering.net>
71535
71536         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
71537         when we detect Darwin 8.7.0's acl_get_file bug.
71538         Rearrange to perform the new (below) run-test while $LIBS
71539         contains any acl-related library.  Set USE_ACL at the end.
71540         (gl_ACL_GET_FILE): New function.
71541
71542 2006-09-26  Eric Blake  <ebb9@byu.net>
71543
71544         * lib/verror.c: Include <config.h> unconditionally.
71545
71546 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
71547
71548         * modules/clock-time (Maintainer): Add self.
71549         * modules/getlogin_r (Depends-on): Add extensions.
71550
71551 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71552
71553         * modules/clock-time: New module.
71554         * modules/nanosleep (Depends-on): Add clock-time.
71555         * modules/gethrxtime (Depends-on): Likewise.
71556         * modules/gettime (Depends-on): Likewise.
71557         * modules/settime (Depends-on): Likewise.
71558
71559         * modules/fts-lgpl: Depend on openat.
71560         * modules/mkancesdirs: Depend on savewd.
71561         * modules/mkdir-p: Likewise.
71562
71563 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71564
71565         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
71566
71567         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
71568         `gl_have_arbitrary_file_name_length_limit' to
71569         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
71570         actually works between configure runs.
71571
71572 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71573             Bruno Haible  <bruno@clisp.org>
71574
71575         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
71576
71577 2006-09-25  Jim Meyering  <jim@meyering.net>
71578
71579         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
71580         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
71581
71582 2006-09-25  Eric Blake  <ebb9@byu.net>
71583
71584         * gnulib-tool (func_import, func_create_testdir): Fix typos in
71585         exec's in 2006-09-18 patch when shuffling fds.
71586
71587 2006-09-25  Bruno Haible  <bruno@clisp.org>
71588
71589         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
71590         Reported by Jim Meyering.
71591
71592 2006-09-24  Jim Meyering  <jim@meyering.net>
71593
71594         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
71595         compare a pointer against a literal "0".  That caused failures with
71596         at least HP-UX's hpcc.
71597
71598 2006-09-22  Simon Josefsson  <jas@extundo.com>
71599
71600         * modules/gc-sha1:
71601         * modules/gc-md4:
71602         * modules/gc-hmac-sha1:
71603         * modules/gc-hmac-md5:
71604         * modules/gc-des:
71605         * modules/gc-arcfour: Distribute more files.
71606
71607 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71608
71609         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
71610         (gl_linked_iterator_from_to): Initialize struct completely.
71611         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
71612         (gl_tree_iterator_from_to): Likewise
71613         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
71614         * lib/gl_array_list.c [lint] (gl_array_iterator)
71615         (gl_array_iterator_from_to): Likewise.
71616         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
71617         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
71618         (gl_carray_iterator_from_to): Likewise.
71619
71620         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
71621         * lib/md4.c (md4_process_block): Remove unused variable.
71622         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
71623         parentheses for clarity.
71624
71625 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71626
71627         * modules/bison-i18n (Depends-on): Add gettext.
71628
71629 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71630
71631         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
71632         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
71633         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
71634         also add missing comma that caused broken test.
71635         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
71636         stdlib.h, for `abort'.
71637         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
71638         variables.
71639         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
71640         include unistd.h if present, for `rmdir'.
71641         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
71642         variables.
71643         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
71644         in the process include standard headers for prototypes.
71645         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
71646         gets declared on GNU/Linux.
71647         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
71648         unistd.h, for `rmdir'.
71649         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
71650
71651         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
71652         always true.
71653         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
71654
71655         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
71656
71657 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71658
71659         * gnulib-tool (func_version): Create output all at once.  This
71660         may help avoid triggering unnecessary SIGPIPEs, and at any
71661         rate it doesn't hurt.
71662
71663 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71664             Bruno Haible  <bruno@clisp.org>
71665
71666         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
71667         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71668         * m4/signed.m4 (bh_C_SIGNED): Likewise.
71669
71670         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
71671         (gl_FUNC_VASPRINTF): Invoke it.
71672
71673 2006-09-22  Bruno Haible  <bruno@clisp.org>
71674
71675         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
71676         getloadavg.c as first argument.
71677
71678 2006-09-22  Bruno Haible  <bruno@clisp.org>
71679
71680         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
71681         at the beginning of the gl_INIT macro.
71682         * modules/getloadavg (configure.ac): Pass $gl_source_base to
71683         gl_GETLOADAVG.
71684
71685 2006-09-22  Bruno Haible  <bruno@clisp.org>
71686
71687         * gnulib-tool (func_create_megatestdir): Don't include the config-h
71688         module.
71689         Suggested by Ralf Wildenhues.
71690
71691 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71692
71693         Import this patch from libc:
71694
71695         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
71696
71697         * lib/regex_internal.c (re_string_reconstruct): Handle
71698         offset < pstr->valid_raw_len && pstr->offsets_needed case.
71699         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
71700         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
71701         re_string_context_at.
71702
71703         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
71704         now requires it.
71705         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
71706         gl_REGEX now does it for us.
71707         (gl_REGEX): Add test taken from
71708         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
71709
71710         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
71711         Check that large offsets work.  Modernize Autoconf usages.
71712         Prefer "yes" to mean a good thing rather than a bad.
71713         Don't put "#define mkstemp" in config.h, as this might interfere
71714         with standard system headers that "#define mkstemp mkstemp64".
71715
71716         * modules/mkstemp (Depends-on): Add extensions, so that
71717         mkstemp is visible on some platforms.
71718         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
71719         (Include): Change to "mkstemp.h" from <stdlib.h>.
71720         (Files): Add mkstemp.h.
71721
71722         * lib/mkstemp.h: New file, since some standard headers
71723         #define mkstemp.
71724         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
71725         Include "mkstemp.h".
71726         Make the _LIBC code resemble glibc original more,
71727         e.g., use K&R style.
71728         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
71729         (mkstemp): Remove, since mkstemp.h does this for us.
71730         * lib/stdlib--.h: Include mkstemp.h.
71731
71732         Import this patch from libc:
71733
71734         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71735
71736         * lib/tempname.c (__gen_tempname): Change attempts_min
71737         into a macro.  Use preprocessor to decide how to initialize
71738         attempts [Coverity CID 67].
71739
71740 2006-09-20  Bruno Haible  <bruno@clisp.org>
71741
71742         * lib/mkdtemp.c: Import from libc.
71743         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71744                 * sysdeps/posix/tempname.c (__gen_tempname): Change
71745                 attempts_min into a macro.  Use preprocessor to decide how to
71746                 initialize attempts [Coverity CID 67].
71747         2001-11-27  Paul Eggert  <eggert@twinsun.com>
71748                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
71749                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
71750
71751 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71752
71753         * gnulib-tool (func_exit): New function, to allow to pass the
71754         exit status portably through the trap.  Use everywhere.
71755         (--help, --version): Signal a write error.
71756         (trap): catch SIGPIPE, for write errors.
71757         Exit at the end of the trap, with the correct exit status.
71758
71759 2006-09-19  Karl Berry  <karl@gnu.org>
71760
71761         * doc/gnulib.texi: note about the license texinfo files.
71762
71763 2006-09-19  Eric Blake  <ebb9@byu.net>
71764
71765         * gnulib-tool: Avoid space-tab.
71766
71767 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
71768
71769         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
71770         that prevented coreutils 6.1 from building.  Problem reported
71771         by Petter Reinholdtsen.
71772
71773 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
71774
71775         * gnulib-tool (avoidlist): Fix typo that broke options like
71776         --avoid=lock that are used by coreutils bootstrap.
71777
71778 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
71779
71780         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
71781         more systematically.
71782
71783 2006-09-18  Jim Meyering  <jim@meyering.net>
71784
71785         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
71786
71787 2006-09-18  Bruno Haible  <bruno@clisp.org>
71788
71789         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
71790
71791 2006-09-18  Bruno Haible  <bruno@clisp.org>
71792
71793         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
71794         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
71795         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
71796         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
71797         * m4/gettext.m4: Require autoconf >= 2.52.
71798         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
71799         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
71800         of gl_cv_header_inttypes_h.
71801
71802 2006-09-18  Bruno Haible  <bruno@clisp.org>
71803
71804         * lib/javaversion.c: Include configmake.h.
71805
71806 2006-09-18  Bruno Haible  <bruno@clisp.org>
71807
71808         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
71809         avoid that the while loops be executed in a subshell.
71810
71811 2006-09-18  Bruno Haible  <bruno@clisp.org>
71812
71813         * MODULES.html.sh (func_module): Break long lines.
71814         Suggested by Bruce Korb <bkorb@gnu.org>.
71815
71816 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71817
71818         Speed up by a factor of 1.12.
71819         * gnulib-tool (nl): New variable.
71820         (func_import): Rewrite include directive extraction to only read each
71821         directive once.
71822
71823 2006-09-17  Bruno Haible  <bruno@clisp.org>
71824
71825         * modules/javaversion (Makefile.am): Remove DEFS setting.
71826         (Depends-on): Add configmake, for PKGDATADIR definition.
71827
71828 2006-09-17  Bruno Haible  <bruno@clisp.org>
71829
71830         * gnulib-tool (func_create_testdir): Rewrite all files at once.
71831
71832 2006-09-17  Bruno Haible  <bruno@clisp.org>
71833
71834         * gnulib-tool (func_append): New function, stolen from libtool.m4.
71835         (func_modules_transitive_closure, func_modules_add_dummy,
71836         func_modules_to_filelist, func_import, func_create_testdir,
71837         func_create_megatestdir, ...): Use it wherever possible.
71838         Suggested by Ralf Wildenhues.
71839
71840 2006-09-16  Karl Berry  <karl@gnu.org>
71841
71842         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
71843         to avoid sectioning errors.
71844         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
71845         [ifinfo]: blank line after @center-ed titles.
71846         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
71847         Spell FSF address consistently with others.
71848         (These changes approved by rms.)
71849
71850 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71851
71852         Speed up by a factor of 1.61.
71853         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
71854         already checked module names again.
71855
71856 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71857
71858         Speed up by a factor of 1.13.
71859         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
71860         for new_files, and the input to func_add_or_update.
71861
71862 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71863
71864         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
71865         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
71866
71867 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71868
71869         * modules/mkancesdirs (Depends-on): Add fcntl.
71870         * modules/savewd: New file.
71871         * MODULES.html.sh (File system functions): Add savewd.
71872
71873         * modules/configmake (Makefile.am): Add support for the
71874         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
71875
71876 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71877
71878         * m4/savewd.m4: New file.
71879
71880 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71881
71882         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
71883         (dirchownmod): New arg FD.  All callers changed.
71884         Use FD rather than opening the directory ourself, as opening is
71885         now the caller's responsibility.
71886         * lib/dirchownmod.h: Likewise.
71887         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
71888         hosts that require <sys/types.h> before <sys/stat.h>.  Include
71889         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
71890         (test_dir): Remove.
71891         (mkancesdirs): Return length of prefix of FILE that has already
71892         been made, or -2 if there is a child doing the work.  Redo
71893         algorithm so that it is O(N) rather than O(N**2).  Optimize away
71894         ".", and treat ".." specially since it might stray back into
71895         already-created areas.  Use a subprocess if necessary.  New arg
71896         WD; all users changed.  MAKE_DIR function should now return 1
71897         if it creates a directory that is not readable.  Return -2 if
71898         a child process is spun off.
71899         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
71900         Adjust signature to match code.
71901         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
71902         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
71903         all users changed.
71904         * lib/savewd.c, lib/savewd.h: New files.
71905
71906 2006-09-15  Jim Meyering  <jim@meyering.net>
71907
71908         * modules/rename-dest-slash: New module.
71909         * MODULES.html.sh (posix_compat): Add it here.
71910
71911         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
71912
71913 2006-09-15  Jim Meyering  <jim@meyering.net>
71914
71915         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
71916         file.
71917
71918         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
71919
71920 2006-09-15  Jim Meyering  <jim@meyering.net>
71921
71922         * lib/rename-dest-slash.c (has_trailing_slash): Use
71923         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
71924         (rpl_rename_dest_slash): Perform the cheaper trailing slash
71925         test before testing whether SRC is a directory.
71926         Suggestions from Bruno Haible.
71927
71928         Avoid a warning about an unused variable.
71929         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
71930         into the #ifdef block where it's used.
71931
71932         * lib/rename-dest-slash.c: New file.
71933
71934 2006-09-14  Bruno Haible  <bruno@clisp.org>
71935
71936         * lib/allocsa.c: Include <config.h> unconditionally.
71937         * lib/asnprintf.c: Likewise.
71938         * lib/asprintf.c: Likewise.
71939         * lib/c-strcasecmp.c: Likewise.
71940         * lib/c-strcasestr.c: Likewise.
71941         * lib/c-strncasecmp.c: Likewise.
71942         * lib/c-strstr.c: Likewise.
71943         * lib/classpath.c: Likewise.
71944         * lib/clean-temp.c: Likewise.
71945         * lib/concatpath.c: Likewise.
71946         * lib/copy-file.c: Likewise.
71947         * lib/csharpcomp.c: Likewise.
71948         * lib/csharpexec.c: Likewise.
71949         * lib/execute.c: Likewise.
71950         * lib/fatal-signal.c: Likewise.
71951         * lib/findprog.c: Likewise.
71952         * lib/fwriteerror.c: Likewise.
71953         * lib/gl_array_list.c: Likewise.
71954         * lib/gl_array_oset.c: Likewise.
71955         * lib/gl_avltree_list.c: Likewise.
71956         * lib/gl_avltree_oset.c: Likewise.
71957         * lib/gl_avltreehash_list.c: Likewise.
71958         * lib/gl_carray_list.c: Likewise.
71959         * lib/gl_linked_list.c: Likewise.
71960         * lib/gl_linkedhash_list.c: Likewise.
71961         * lib/gl_list.c: Likewise.
71962         * lib/gl_oset.c: Likewise.
71963         * lib/gl_rbtree_list.c: Likewise.
71964         * lib/gl_rbtree_oset.c: Likewise.
71965         * lib/gl_rbtreehash_list.c: Likewise.
71966         * lib/imaxabs.c: Likewise.
71967         * lib/imaxdiv.c: Likewise.
71968         * lib/javacomp.c: Likewise.
71969         * lib/javaexec.c: Likewise.
71970         * lib/javaversion.c: Likewise.
71971         * lib/linebreak.c: Likewise.
71972         * lib/localcharset.c: Likewise.
71973         * lib/lock.c: Likewise.
71974         * lib/mbchar.c: Likewise.
71975         * lib/mbswidth.c: Likewise.
71976         * lib/mkdtemp.c: Likewise.
71977         * lib/pipe.c: Likewise.
71978         * lib/printf-args.c: Likewise.
71979         * lib/printf-parse.c: Likewise.
71980         * lib/progname.c: Likewise.
71981         * lib/progreloc.c: Likewise.
71982         * lib/readlink.c: Likewise.
71983         * lib/sh-quote.c: Likewise.
71984         * lib/stpcpy.c: Likewise.
71985         * lib/stpncpy.c: Likewise.
71986         * lib/strcasecmp.c: Likewise.
71987         * lib/strcasestr.c: Likewise.
71988         * lib/strcspn.c: Likewise.
71989         * lib/striconv.c: Likewise.
71990         * lib/strncasecmp.c: Likewise.
71991         * lib/strnlen1.c: Likewise.
71992         * lib/strstr.c: Likewise.
71993         * lib/strtok_r.c: Likewise.
71994         * lib/tls.c: Likewise.
71995         * lib/tmpdir.c: Likewise.
71996         * lib/unicodeio.c: Likewise.
71997         * lib/unsetenv.c: Likewise.
71998         * lib/vasnprintf.c: Likewise.
71999         * lib/vasprintf.c: Likewise.
72000         * lib/wait-process.c: Likewise.
72001         * lib/xallocsa.c: Likewise.
72002         * lib/xsetenv.c: Likewise.
72003         * lib/xstriconv.c: Likewise.
72004
72005 2006-09-13  Simon Josefsson  <jas@extundo.com>
72006
72007         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72008         that internally, suggested by Ralf Wildenhues
72009         <Ralf.Wildenhues@gmx.de>.
72010
72011 2006-09-13  Simon Josefsson  <jas@extundo.com>
72012
72013         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72014         @LIBOBJS@.
72015         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72016
72017 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72018
72019         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72020         longer worry about uses that don't define HAVE_CONFIG_H.
72021         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72022         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72023         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72024         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72025         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72026         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72027         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72028         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72029         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72030         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72031         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72032         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72033         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72034         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72035         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72036         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72037         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72038         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72039         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72040         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72041         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72042         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72043         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72044         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72045         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72046         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72047         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72048         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72049         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72050         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72051         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72052         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72053         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72054         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72055         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72056         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72057         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72058         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72059         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72060         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72061         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72062         Likewise.
72063
72064 2006-09-13  Eric Blake  <ebb9@byu.net>
72065
72066         * lib/getopt.c: Fix typo in last commit.
72067
72068 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72069
72070         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72071         dgettext.
72072
72073 2006-09-12  Jim Meyering  <jim@meyering.net>
72074
72075         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72076         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72077         Reported by Nelson H. F. Beebe.
72078
72079 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72080
72081         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72082         program_invocation_name and program_invocation_short_name are
72083         initialized.
72084         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72085         and program_invocation_short_name to argp.h, so they are visible
72086         to user programs.
72087         * lib/argp.h: Likewise
72088
72089 2006-09-10  Bruno Haible  <bruno@clisp.org>
72090
72091         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72092         m4/inttypes_h.m4, m4/uintmax_t.m4.
72093
72094 2006-09-10  Bruno Haible  <bruno@clisp.org>
72095
72096         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72097         gl_AC_TYPE_UINTMAX_T.
72098
72099 2006-09-10  Bruno Haible  <bruno@clisp.org>
72100
72101         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72102
72103 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72104
72105         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72106         convention.  Text proposed by Bruno Haible.
72107         (struct argp_option): Document the use of N_() wrappers.
72108
72109         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72110         '\v', and translate the two parts separately, instead of feeding
72111         the whole string to gettext.  This allows to exclude
72112         '\v' from the strings visible to the translator by writing doc
72113         strings as N_("..") "\v" N_("..").
72114
72115 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72116
72117         * config/srclist.txt: Undo latest change; the bug was fixed.
72118
72119 2006-09-09  Bruno Haible  <bruno@clisp.org>
72120
72121         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72122         assignments if building a library without libtool.
72123         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72124         in func_emit_lib_Makefile_am.
72125         (func_import): When building a static library libfoo.a, arrange to
72126         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72127         (func_create_testdir): Likewise.
72128         * modules/gc (configure.ac, Makefile.am): If building statically,
72129         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72130         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72131         * modules/striconv (configure.ac, Makefile.am): Likewise.
72132         Based on a suggestion by Ralf Wildenhues.
72133
72134 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72135
72136         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72137         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72138         Also:
72139
72140         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72141         Add year_2050_test to catch glibc bug 2821
72142         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72143
72144         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72145         Prefer #ifdef to #if.
72146
72147         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72148         Return from 'main' instead of calling 'exit'.
72149
72150 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72151
72152         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72153         returned the maximum time_t value rather than (time_t) -1.
72154         Problem originally reported by William Bardwell
72155         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72156
72157         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72158         Moved to here ...
72159         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72160         ... from here.
72161
72162 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72163
72164         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72165         2821 is fixed.
72166
72167 2006-09-08  Jim Meyering  <jim@meyering.net>
72168
72169         Don't make generated files read-only.  That would bother too many
72170         people.  However, do retain the ability to work when targets are
72171         read-only: remove the destination and temporary files before writing
72172         them (when generated via sed or echo), or by using the -f option for
72173         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72174         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72175         * modules/byteswap, modules/configmake, modules/fcntl:
72176         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72177         * modules/localcharset, modules/netinet_in, modules/poll:
72178         * modules/stdbool, modules/stdint, modules/sys_select:
72179         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72180
72181 2006-09-08  Jim Meyering  <jim@meyering.net>
72182
72183         Avoid new build failure on FreeBSD 6.0.
72184         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72185         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72186         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72187
72188 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72189
72190         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72191
72192 2006-09-07  Jim Meyering  <jim@meyering.net>
72193
72194         Fix global typo in last change: use chmod u-w, not chmod u-x.
72195         Spotted by Paul Eggert and Bruce Korb.
72196         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72197         * modules/byteswap, modules/configmake, modules/fcntl:
72198         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72199         * modules/localcharset, modules/netinet_in, modules/poll:
72200         * modules/stdbool, modules/stdint, modules/sys_select:
72201         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72202
72203 2006-09-06  Jim Meyering  <jim@meyering.net>
72204
72205         Make generated files be read-only.
72206         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72207         Ensure that each generated file is now read-only.
72208         * modules/argz: Likewise.
72209         * modules/arpa_inet: Likewise.
72210         * modules/byteswap: Likewise.
72211         * modules/configmake: Likewise.
72212         * modules/fcntl: Likewise.
72213         * modules/fnmatch: Likewise.
72214         * modules/getopt: Likewise.
72215         * modules/glob: Likewise.
72216         * modules/inttypes: Likewise.
72217         * modules/netinet_in: Likewise.
72218         * modules/poll: Likewise.
72219         * modules/stdbool: Likewise.
72220         * modules/stdint: Likewise.
72221         * modules/sys_select: Likewise.
72222         * modules/sys_socket: Likewise.
72223         * modules/sys_stat: Likewise.
72224         * modules/sysexits: Likewise.
72225         * modules/localcharset: Same as above, but continue using temporary
72226         file named "t-$@" (why different?) rather than the "$@-t" used
72227         everywhere else.
72228
72229         * modules/sysexits (Makefile.am): Replace literal occurrences
72230         of "sysexit.h" more readable, and more consistent, "$@".
72231
72232 2006-09-06  Bruno Haible  <bruno@clisp.org>
72233
72234         * modules/striconv: New file.
72235         * modules/xstriconv: New file.
72236         * MODULES.html.sh (Internationalization functions): Add striconv,
72237         xstriconv.
72238
72239 2006-09-06  Bruno Haible  <bruno@clisp.org>
72240
72241         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72242         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72243         not using libtool correctly.
72244
72245 2006-09-06  Bruno Haible  <bruno@clisp.org>
72246
72247         * lib/striconv.h: New file.
72248         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72249         iconvstring.c.
72250         * lib/xstriconv.h: New file.
72251         * lib/xstriconv.c: New file.
72252
72253 2006-09-06  Bruno Haible  <bruno@clisp.org>
72254
72255         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72256         lib_..._LDFLAGS.
72257
72258 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72259
72260         * lib/argz_.h: Sync from Libtool.
72261
72262         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72263                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72264
72265         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72266
72267 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72268
72269         * modules/trim: New file.
72270
72271 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72272
72273         * lib/trim.h: New file.
72274         * lib/trim.c: New file.
72275
72276 2006-09-05  Bruno Haible  <bruno@clisp.org>
72277
72278         * MODULES.html.sh (String handling): Add trim.
72279
72280 2006-09-04  Karl Berry  <karl@gnu.org>
72281
72282         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72283         until next release.
72284
72285 2006-09-03  Bruno Haible  <bruno@clisp.org>
72286
72287         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72288         correctly.
72289
72290 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72291
72292         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72293         not gl_GETLOADAVG.  Omit unneeded semicolons.
72294         Problems reported by Ralf Wildenhues in
72295         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72296         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72297         at the end, which is the usual gnulib style.
72298
72299         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72300         of doing all the work ourselves.
72301         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72302         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72303
72304 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72305
72306         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72307         Problem reported by Ralf Wildenhues in
72308         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72309
72310         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72311         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72312
72313 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72314
72315         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72316         yesterday's patch by changing test -n to test -z.
72317
72318 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72319
72320         * modules/getloadavg (Files): Add m4/getloadavg.m4.
72321         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
72322         the former is now obsolescent.
72323
72324         * modules/chdir-long (Depends-on): Add fcntl.
72325
72326 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72327
72328         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
72329         obsolescent, and programs should use gnulib instead.
72330         * m4/getloadavg.m4: New file, with contents taken from Autoconf
72331         but with prefixes changed.
72332
72333 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72334
72335         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72336         or stdbool.h, because they might not exist while configuring.
72337
72338         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72339         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72340         does that for us.
72341         (O_DIRECTORY): Remove.
72342
72343 2006-08-31  Eric Blake  <ebb9@byu.net>
72344
72345         * gnulib-tool: Don't let emacs change spaces to TAB.
72346
72347 2006-08-31  Bruno Haible  <bruno@clisp.org>
72348
72349         * gnulib-tool: When calling func_import more than once, do it in a
72350         subshell.
72351         Reported by Eric Blake <ebb9@byu.net>.
72352
72353 2006-08-31  Bruno Haible  <bruno@clisp.org>
72354
72355         * gnulib-tool (nl): Remove variable.
72356         (sed_transform_lib_file): Use more robust test for config-h module.
72357         (func_import): Fix typo in 2006-08-25 patch.
72358
72359 2006-08-31  Bruno Haible  <bruno@clisp.org>
72360
72361         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
72362         specified, augment Makefile.am variables instead of assigning them.
72363
72364 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72365
72366         Work around a bug in both the Linux and SunOS 64-bit kernels:
72367         nanosleep mishandles sleeps for longer than 2**31 seconds.
72368         Problem reported by Frank v Waveren in
72369         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72370         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
72371         Check for nanosleep bug.
72372         (LIB_NANOSLEEP): Append clock_gettime library if needed.
72373
72374 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72375
72376         Work around a bug in both the Linux and SunOS 64-bit kernels:
72377         nanosleep mishandles sleeps for longer than 2**31 seconds.
72378         Problem reported by Frank v Waveren in
72379         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72380         * lib/nanosleep.c (BILLION): New constant.
72381         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
72382         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
72383         implementation.
72384
72385 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72386
72387         * modules/nanosleep (Depends-on): Add gettime.
72388
72389 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72390         and Simon Josefsson  <jas@extundo.com>
72391         and Oskar Liljeblad  <oskar@osk.mine.nu>
72392
72393         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
72394         * gnulib-tool (func_import): New license type 'unmodifiable license
72395         text'.
72396         * modules/fdl: Use it.  Longer description.
72397         * module/gpl, module/lgpl: New files.
72398
72399 2006-08-30  Jim Meyering  <jim@meyering.net>
72400
72401         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
72402         shadowing the parameter.
72403
72404 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72405
72406         Sync from Libtool:
72407
72408         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72409
72410         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
72411         sharing with gnulib.  Report by Eric Blake.
72412
72413 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72414
72415         * modules/isapipe: New file.
72416         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
72417
72418 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72419
72420         * modules/configmake (Makefile.am): Add a comment, and omit
72421         the CONFIGMAKE_ prefix from generated macro names.  Suggested
72422         by Bruno Haible.
72423
72424 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72425
72426         * m4/isapipe.m4: New file.
72427
72428 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72429
72430         * lib/isapipe.c, lib/isapipe.h: New files.
72431
72432 2006-08-29  Jim Meyering  <jim@meyering.net>
72433
72434         * modules/configmake (Makefile.am): Make configmake.h depend on
72435         Makefile.  Otherwise, a stale configmake.h could hang around.
72436
72437 2006-08-29  Eric Blake  <ebb9@byu.net>
72438
72439         * lib/error.c (error_at_line, print_errno_message): Match libc, after
72440         resolution of upstream bug 3044.
72441
72442 2006-08-29  Bruno Haible  <bruno@clisp.org>
72443
72444         * modules/localcharset (Depends-on): Add configmake.
72445         (Makefile.am): Remove setting of LIBDIR through DEFS.
72446
72447 2006-08-29  Bruno Haible  <bruno@clisp.org>
72448
72449         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
72450         defined.
72451
72452 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72453
72454         * modules/fcntl: New file.
72455         * modules/chdir-safer (Depends-on): Add fcntl.
72456         * modules/fts: Likewise.
72457         * modules/mkdir-p: Likewise.
72458
72459         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
72460         This undoes the most recent change, since we're now addressing the
72461         problem in a different way.
72462
72463         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
72464         into output, since the output might be called Makefile.am even
72465         if $makefile_name is something different.
72466         (func_import): Use $makefile_am rather than
72467         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
72468         empty.
72469
72470         * modules/inttypes (Files): Add m4/inttypes-h.m4.
72471
72472 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72473
72474         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
72475         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
72476         recent change to stdint.m4, since we're now addressing the problem in a
72477         different way.
72478
72479 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         * m4/fcntl_h.m4: New file.
72482
72483 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72484
72485         * lib/fcntl_.h: New file.
72486         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
72487         the fcntl module.
72488         * lib/dirchownmod.c: Likewise.
72489         * lib/fts.c: Likewise.
72490
72491         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
72492         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
72493         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
72494         just before including <inttypes.h>, to avoid circular inclusion.
72495
72496 2006-08-28  Jim Meyering  <jim@meyering.net>
72497
72498         * doc/visibility.texi: Actually read and correct the grammar of the
72499         sentence affected by yesterday's change.
72500
72501 2006-08-28  Eric Blake  <ebb9@byu.net>
72502
72503         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
72504         needs wrapper.
72505
72506 2006-08-28  Eric Blake  <ebb9@byu.net>
72507
72508         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
72509
72510 2006-08-28  Eric Blake  <ebb9@byu.net>
72511
72512         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
72513
72514 2006-08-28  Bruno Haible  <bruno@clisp.org>
72515
72516         * modules/c-strstr: New file, from GNU gettext.
72517         * MODULES.html.sh (String handling): Add c-strstr.
72518
72519 2006-08-28  Bruno Haible  <bruno@clisp.org>
72520
72521         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
72522         macros.
72523         Reported by Eric Blake.
72524
72525 2006-08-28  Bruno Haible  <bruno@clisp.org>
72526
72527         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
72528         (VASNPRINTF): Return a string of length > INT_MAX without failing.
72529         * lib/vasprintf.c: Include errno.h, limits.h.
72530         (EOVERFLOW): New fallback definition.
72531         (vasprintf): Test here whether the string length is > INT_MAX.
72532         * lib/vsnprintf.c: Include errno.h, limits.h.
72533         (EOVERFLOW): New fallback definition.
72534         (vsnprintf): Fix bug when generated string was too long for the buffer.
72535         Test here whether the string length is > INT_MAX.
72536
72537 2006-08-28  Bruno Haible  <bruno@clisp.org>
72538
72539         * lib/inttypes_.h (SCNX*): Remove definitions.
72540         Reported by Eric Blake.
72541
72542 2006-08-28  Bruno Haible  <bruno@clisp.org>
72543
72544         * lib/c-strstr.h: New file, from GNU gettext.
72545         * lib/c-strstr.c: New file, from GNU gettext.
72546
72547 2006-08-28  Bruno Haible  <bruno@clisp.org>
72548
72549         * gnulib-tool: Reorder some statements.
72550
72551 2006-08-28  Bruno Haible  <bruno@clisp.org>
72552
72553         * gnulib-tool: New option --makefile-name.
72554         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
72555         $makefile_name.
72556         (func_import): Write $makefile_name to the cache file, and read it from
72557         there unless explicitly specified. Use $makefile_name as file name
72558         instead of Makefile.am. Adjust the recommendations accordingly.
72559
72560 2006-08-28  Bruno Haible  <bruno@clisp.org>
72561
72562         * gnulib-tool (func_verify_module): Check against misapplying patch.
72563
72564 2006-08-28  Bruno Haible  <bruno@clisp.org>
72565
72566         * gnulib-tool (func_relativize, func_relconcat): New functions.
72567         Give an error if --local-dir is given with --update.
72568         Remove trailing slashes from $local_gnulib_dir.
72569         (func_import): Store the relativized $local_gnulib_dir in
72570         gnulib-cache.m4, and read it from there if not specified explicitly.
72571
72572 2006-08-28  Bruno Haible  <bruno@clisp.org>
72573
72574         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
72575         is the current directory. Respect also $local_gnulib_dir.
72576
72577 2006-08-28  Bruno Haible  <bruno@clisp.org>
72578             Simon Josefsson  <jas@extundo.com>
72579
72580         BeOS portability.
72581         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
72582
72583 2006-08-27  Jim Meyering  <jim@meyering.net>
72584
72585         * doc/visibility.texi: Remove duplicate word: "pointer".
72586
72587 2006-08-26  Bruno Haible  <bruno@clisp.org>
72588
72589         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
72590         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
72591         (Makefile.am): Create inttypes.h from inttypes_.h.
72592         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
72593
72594         * modules/imaxabs: New file.
72595
72596         * modules/imaxdiv: New file.
72597
72598 2006-08-26  Bruno Haible  <bruno@clisp.org>
72599
72600         * m4/inttypes.m4: New file.
72601         * m4/_inttypes_h.m4: Remove file.
72602         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
72603         PRI_MACROS_BROKEN.
72604         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
72605
72606         * m4/imaxabs.m4: New file.
72607
72608         * m4/imaxdiv.m4: New file.
72609
72610 2006-08-26  Bruno Haible  <bruno@clisp.org>
72611
72612         * lib/inttypes_.h: New file.
72613         * lib/inttypes.h: Remove file.
72614         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
72615
72616         * lib/imaxabs.c: New file.
72617
72618         * lib/imaxdiv.c: New file.
72619
72620 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72621
72622         New config-h module, so that "make" output needn't be cluttered
72623         by -DHAVE_CONFIG_H.
72624         * MODULES.html.sh (Support for building libraries and executables):
72625         Add config-h.
72626         * modules/config-h: New file.
72627         * gnulib-tool (nl, sed_transform_lib_file): New vars.
72628         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
72629         the config-h module is used.
72630
72631         New configmake module, so that "make" output needn't be cluttered
72632         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
72633         * MODULES.html.sh (Support for building libraries and executables):
72634         Add configmake.
72635         * modules/configmake: New file.
72636
72637 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72638
72639         * m4/config-h.m4: New file.
72640
72641 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72642
72643         * config/srclist.txt: Add elisp-comp.
72644
72645 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72646
72647         * MODULES.html.sh (Support for building libraries and executables):
72648         Add elisp-comp.
72649         * build-aux/elisp-comp: New file.
72650         * modules/elisp-comp: New file.
72651
72652 2006-08-24  Bruno Haible  <bruno@clisp.org>
72653
72654         * gnulib-tool (func_create_testdir): Use non-default values of
72655         sourcebase and m4base.
72656
72657 2006-08-24  Bruno Haible  <bruno@clisp.org>
72658
72659         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
72660         HTML structure.
72661
72662 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72663
72664         * modules/openat (Depends-on): Add lchown.
72665
72666 2006-08-23  Bruno Haible  <bruno@clisp.org>
72667
72668         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
72669         of gl_LOCK_EARLY instead of gl_LOCK.
72670
72671 2006-08-23  Bruno Haible  <bruno@clisp.org>
72672
72673         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
72674         on OSF/1 to no.
72675         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
72676
72677 2006-08-23  Bruno Haible  <bruno@clisp.org>
72678
72679         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
72680         as unusable.
72681
72682         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
72683         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
72684         (gl_LOCK): New macro.
72685
72686 2006-08-22  Simon Josefsson  <jas@extundo.com>
72687
72688         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
72689         to md5 module.
72690
72691 2006-08-22  Simon Josefsson  <jas@extundo.com>
72692
72693         * MODULES.html.sh: Add "Support for maintaining and release
72694         projects".
72695
72696         * build-aux/gnupload: New file, from coreutils.
72697
72698 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72699
72700         Avoid the need for AC_LIBSOURCES in m4 macros.
72701         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
72702         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
72703         * modules/check-version (EXTRA_DIST): Add check-version.h.
72704         * modules/crc (EXTRA_DIST): Add crc.h.
72705         * modules/des (EXTRA_DIST): Add des.h.
72706         * modules/gc (EXTRA_DIST): Add gc.h.
72707         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
72708         * modules/getline (EXTRA_DIST): Add getline.h.
72709         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
72710         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
72711         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
72712         * modules/md2 (EXTRA_DIST): Add md2.h.
72713         * modules/md4 (EXTRA_DIST): Add md4.h.
72714         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
72715         * modules/read-file (EXTRA_DIST): Add read-file.h.
72716         * modules/readline (EXTRA_DIST): Add readline.h.
72717         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
72718         rijndael-api-fst.h.
72719
72720 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72721
72722         * m4/rijndael.m4 (gl_ARCFOUR):
72723         * m4/arctwo.m4 (gl_ARCTWO):
72724         * m4/check-version.m4 (gl_CHECK_VERSION):
72725         * m4/crc.m4 (gl_CRC):
72726         * m4/des.m4 (gl_DES):
72727         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
72728         * m4/gc.m4 (gl_GC):
72729         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
72730         * m4/getline.m4 (gl_FUNC_GETLINE):
72731         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
72732         * m4/hmac-md5.m4 (gl_HMAC_MD5):
72733         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
72734         * m4/md2.m4 (gl_MD2):
72735         * m4/md4.m4 (gl_MD4):
72736         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
72737         * m4/read-file.m4 (gl_FUNC_READ_FILE):
72738         * m4/readline.m4 (gl_FUNC_READLINE):
72739         * m4/rijndael.m4 (gl_RIJNDAEL):
72740         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72741         to get the necessary .h files and whatnot.
72742
72743 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72744
72745         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
72746         gnulib rather than the other way around.
72747         * config/srclistvars.sh (COREUTILS): Remove.
72748
72749 2006-08-22  Jim Meyering  <jim@meyering.net>
72750
72751         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
72752
72753         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
72754
72755 2006-08-22  Eric Blake  <ebb9@byu.net>
72756
72757         * modules/regexprops-generic: New file.
72758         * MODULES.html.sh (Support for building documentation): List it.
72759
72760 2006-08-22  Eric Blake  <ebb9@byu.net>
72761
72762         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
72763         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
72764         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
72765         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
72766
72767 2006-08-22  Bruno Haible  <bruno@clisp.org>
72768
72769         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
72770         and lib_LTLIBRARIES like the other lib_* variables.
72771
72772 2006-08-22  Bruno Haible  <bruno@clisp.org>
72773
72774         * build-aux/x-to-1.in: New file, from GNU gettext.
72775
72776 2006-08-22  Bruno Haible  <bruno@clisp.org>
72777
72778         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
72779         <utmpx.h> exists.
72780
72781 2006-08-22  Bruno Haible  <bruno@clisp.org>
72782
72783         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
72784         <utmpx.h> exists.
72785
72786 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72787
72788         BeOS portability.
72789         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
72790         exist.
72791         Problem reported by Bruno Haible.
72792
72793 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72794
72795         Avoid the need for AC_LIBSOURCES in m4 macros.
72796         * modules/acl (EXTRA_DIST): Add acl.h.
72797         * modules/argmatch (Files): Add m4/argmatch.m4.
72798         (configure.ac): Add gl_ARGMATCH.
72799         (EXTRA_DIST): Renamed from lib_SOURCES, for
72800         consistency with the other modules.  Remove argmatch.c.
72801         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
72802         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
72803         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
72804         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
72805         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
72806         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
72807         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
72808         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
72809         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
72810         * modules/closeout (EXTRA_DIST): Add closeout.h.
72811         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
72812         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
72813         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
72814         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
72815         dirname.h; remove basename.c and stripslash.c.
72816         * modules/exclude (EXTRA_DIST): Add exclude.h.
72817         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
72818         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
72819         * modules/file-type (EXTRA_DIST): Add file-type.h.
72820         * modules/filemode (EXTRA_DIST): Add filemode.h.
72821         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
72822         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72823         * modules/fpending (EXTRA_DIST): Add __fpending.h.
72824         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
72825         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
72826         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
72827         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
72828         * modules/getdate (EXTRA_DIST): Add getdate.c.
72829         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
72830         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
72831         * modules/getpass (EXTRA_DIST): Add getpass.h.
72832         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
72833         * modules/group-member (EXTRA_DIST): Add group-member.h.
72834         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
72835         * modules/hash (EXTRA_DIST): Add hash.h.
72836         * modules/human (EXTRA_DIST): Add human.h.
72837         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
72838         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
72839         * modules/lchown (EXTRA_DIST): Add lchown.h.
72840         * modules/long-options (EXTRA_DIST): Add long-options.h.
72841         * modules/lstat (EXTRA_DIST): Add lstat.h.
72842         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
72843         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
72844         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
72845         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
72846         * modules/memxor (EXTRA_DIST): Add memxor.h.
72847         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
72848         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
72849         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
72850         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
72851         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
72852         * modules/physmem (EXTRA_DIST): Add physmem.h.
72853         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
72854         * modules/posixver (EXTRA_DIST): Add posixver.h.
72855         * modules/quote (EXTRA_DIST): Add quote.h.
72856         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
72857         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
72858         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
72859         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
72860         regex_internal.h regexec.c.
72861         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
72862         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
72863         * modules/same (EXTRA_DIST): Add same.h.
72864         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
72865         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
72866         * modules/savedir (EXTRA_DIST): Add savedir.h.
72867         * modules/sha1 (EXTRA_DIST): Add sha1.h.
72868         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
72869         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
72870         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
72871         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
72872         * modules/strdup (EXTRA_DIST): Add strdup.h.
72873         * modules/strftime (EXTRA_DIST): Add strftime.h.
72874         * modules/strndup (EXTRA_DIST): Add strndup.h.
72875         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
72876         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
72877         * modules/time_r (EXTRA_DIST): Add time_r.h.
72878         * modules/timespec (EXTRA_DIST): Add timespec.h.
72879         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72880         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
72881         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
72882         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
72883         * modules/userspec (EXTRA_DIST): Add userspec.h.
72884         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
72885         * modules/utimens (EXTRA_DIST): Add utimens.h.
72886         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
72887         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
72888         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
72889         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
72890         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
72891         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
72892         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
72893         * modules/yesno (EXTRA_DIST): Add yesno.h.
72894
72895 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72896
72897         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
72898
72899         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
72900         * m4/dev-ino.m4, same-inode.m4: Remove.
72901
72902         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
72903         * m4/acl.m4 (AC_FUNC_ACL):
72904         * m4/backupfile.m4 (gl_BACKUPFILE):
72905         * m4/c-strtod.m4 (gl_C99_STRTOLD):
72906         * m4/canon-host.m4 (gl_CANON_HOST):
72907         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72908         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
72909         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
72910         * m4/cloexec.m4 (gl_CLOEXEC):
72911         * m4/close-stream.m4 (gl_CLOSE_STREAM):
72912         * m4/closeout.m4 (gl_CLOSEOUT):
72913         * m4/dirfd.m4 (gl_FUNC_DIRFD):
72914         * m4/dirname.m4 (gl_DIRNAME):
72915         * m4/exclude.m4 (gl_EXCLUDE):
72916         * m4/exitfail.m4 (gl_EXITFAIL):
72917         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
72918         * m4/file-type.m4 (gl_FILE_TYPE):
72919         * m4/filemode.m4 (gl_FILEMODE):
72920         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
72921         * m4/fpending.m4 (gl_FUNC_FPENDING):
72922         * m4/fprintftime.m4 (gl_FPRINTFTIME):
72923         * m4/fts.m4 (gl_FUNC_FTS):
72924         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
72925         * m4/getdate.m4 (gl_GETDATE):
72926         * m4/gethrxtime.m4 (gl_GETHRXTIME):
72927         * m4/getpagesize.m4 (gl_GETPAGESIZE):
72928         * m4/getpass.m4 (gl_FUNC_GETPASS):
72929         * m4/gettime.m4 (gl_GETTIME):
72930         * m4/getugroups.m4 (gl_GETUGROUPS):
72931         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
72932         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
72933         * m4/hard-locale.m4 (gl_HARD_LOCALE):
72934         * m4/hash.m4 (gl_HASH):
72935         * m4/idcache.m4 (gl_IDCACHE):
72936         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
72937         * m4/lchown.m4 (gl_FUNC_LCHOWN):
72938         * m4/long-options.m4 (gl_LONG_OPTIONS):
72939         * m4/lstat.m4 (gl_FUNC_LSTAT):
72940         * m4/md5.m4 (gl_MD5):
72941         * m4/memcasecmp.m4 (gl_MEMCASECMP):
72942         * m4/memcoll.m4 (gl_MEMCOLL):
72943         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
72944         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
72945         * m4/memxor.m4 (gl_MEMXOR):
72946         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
72947         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
72948         * m4/modechange.m4 (gl_MODECHANGE):
72949         * m4/mountlist.m4 (gl_MOUNTLIST):
72950         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72951         * m4/openat.m4 (gl_FUNC_OPENAT):
72952         * m4/pathmax.m4 (gl_PATHMAX):
72953         * m4/physmem.m4 (gl_PHYSMEM):
72954         * m4/posixtm.m4 (gl_POSIXTM):
72955         * m4/posixver.m4 (gl_POSIXVER):
72956         * m4/quote.m4 (gl_QUOTE):
72957         * m4/quotearg.m4 (gl_QUOTEARG):
72958         * m4/readtokens.m4 (gl_READTOKENS):
72959         * m4/readutmp.m4 (gl_READUTMP):
72960         * m4/regex.m4 (gl_REGEX):
72961         * m4/safe-read.m4 (gl_SAFE_READ):
72962         * m4/safe-write.m4 (gl_SAFE_WRITE):
72963         * m4/same.m4 (gl_SAME):
72964         * m4/save-cwd.m4 (gl_SAVE_CWD):
72965         * m4/savedir.m4 (gl_SAVEDIR):
72966         * m4/settime.m4 (gl_SETTIME):
72967         * m4/sha1.m4 (gl_SHA1):
72968         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
72969         * m4/stat-macros.m4 (gl_STAT_MACROS):
72970         * m4/stat-time.m4 (gl_STAT_TIME):
72971         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
72972         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
72973         * m4/strdup.m4 (gl_FUNC_STRDUP):
72974         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
72975         * m4/strndup.m4 (gl_FUNC_STRNDUP):
72976         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
72977         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
72978         * m4/time_r.m4 (gl_TIME_R):
72979         * m4/timespec.m4 (gl_TIMESPEC):
72980         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
72981         * m4/unlinkdir.m4 (gl_UNLINKDIR):
72982         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
72983         * m4/userspec.m4 (gl_USERSPEC):
72984         * m4/utimecmp.m4 (gl_UTIMECMP):
72985         * m4/utimens.m4 (gl_UTIMENS):
72986         * m4/xalloc.m4 (gl_XALLOC):
72987         * m4/xgetcwd.m4 (gl_XGETCWD):
72988         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
72989         * m4/xreadlink.m4 (gl_XREADLINK):
72990         * m4/xstrtod.m4 (gl_XSTRTOD):
72991         * m4/yesno.m4 (gl_YESNO):
72992         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72993         to get the necessary .h files and whatnot.
72994
72995 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
72996             Bruno Haible  <bruno@clisp.org>
72997
72998         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
72999         /bin/sh understanding of '!' conditional negation.
73000
73001 2006-08-21  Jim Meyering  <jim@meyering.net>
73002
73003         * modules/openat (Depends-on): Really alphabetize.
73004
73005         * modules/acl (Depends-on): Add error and quote.
73006
73007         * check-module (find_included_lib_files): Add at-func.c to the
73008         ok-to-include-more-than-once white list.
73009
73010         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73011
73012 2006-08-21  Bruno Haible  <bruno@clisp.org>
73013
73014         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73015         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73016         Reported by Martin Lambers <marlam@marlam.de>.
73017
73018 2006-08-21  Bruno Haible  <bruno@clisp.org>
73019
73020         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73021         specify an installation location, don't emit a noinst_LIBRARIES or
73022         noinst_LTLIBRARIES assignment.
73023
73024 2006-08-21  Bruno Haible  <bruno@clisp.org>
73025
73026         BeOS portability.
73027         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73028         BeOS has mbrtowc() but no <wctype.h>.
73029
73030 2006-08-21  Bruno Haible  <bruno@clisp.org>
73031
73032         BeOS portability.
73033         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73034         exist.
73035
73036 2006-08-21  Bruno Haible  <bruno@clisp.org>
73037
73038         BeOS portability.
73039         * lib/mbchar.h: Include <wctype.h> only if it exists.
73040
73041 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73042
73043         Remove files that are no longer needed by their respective modules.
73044         * m4/obstack.m4: Remove.
73045         * m4/strerror_r.m4: Remove.
73046         * m4/uint32_t.m4: Remove.
73047         * m4/uintptr_t.m4: Remove.
73048         * m4/ullong_max.m4: Remove.
73049         * m4/xstrtoimax.m4: Remove.
73050         * m4/xstrtoumax.m4: Remove.
73051
73052         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73053         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73054         dependencies now capture this.
73055
73056         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73057         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73058         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73059         * m4/human.m4 (gl_HUMAN): Likewise.
73060         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73061         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73062
73063         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73064
73065         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73066         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73067         stdint.
73068         * m4/human.m4 (gl_HUMAN): Likewise.
73069         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73070         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73071         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73072         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73073         * m4/xstrtol (gl_XSTRTOL): Likewise.
73074
73075         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73076         AC_TYPE_LONG_LONG_INT.
73077         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73078         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73079         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73080         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73081
73082         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73083         on stdbool.
73084
73085         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73086         (gl_PREREQ_XSTRTOUL): Remove.
73087
73088         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73089
73090         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73091         mode.
73092
73093 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73094
73095         Add and change modules to make it easier for coreutils to use
73096         gnulib-tool.
73097         * modules/backupfile (Files): Remove m4/d-ino.m4.
73098         (Depends-on): Add d-ino.
73099         * modules/cycle-check (Depends-on): Add stdint.
73100         (lib_SOURCES): Add cycle-check.h.
73101         * modules/d-ino: New module.
73102         * modules/d-type: New module.
73103         * modules/error (Files): Remove m4/strerror_r.m4.
73104         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73105         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73106         m4/inttypes_h.m4, m4/uintmax_t.m4.
73107         (Depends-on): Add stdint.
73108         (lib_SOURCES): Add fsusage.h.
73109         * modules/getcwd (Files): Remove d-ino.m4.
73110         (Depends-on): Add d-ino.
73111         * modules/getndelim2 (Depends-on): Add stdint.
73112         * modules/glob (Files): Remove m4/d-type.m4.
73113         (Depends-on): Add d-type.
73114         * modules/host-os: New module.
73115         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73116         m4/inttypes_h.m4, m4/uintmax_t.m4.
73117         * Depends-on: Add stdint.
73118         (lib_SOURCES): Add human.h.
73119         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73120         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73121         m4/uintmax_t.m4, m4/ulonglong.m4.
73122         (Depends-on): Add stdint.
73123         (EXTRA_DIST): Add inttostr.h.
73124         * modules/lchmod: New module.
73125         * modules/link-follow: New module.
73126         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73127         (Depends-on): Add lchmod.
73128         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73129         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73130         (Depends-on): Add stdint.
73131         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73132         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73133         (Depends-on): Add stdint.
73134         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73135         * modules/perl: New module.
73136         * modules/regex (Depends-on): Add stdint.
73137         * modules/rmdir-errno: New module.
73138         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73139         m4/intmax_t.m4.
73140         (Depends-on): Add stdint.
73141         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73142         m4/uintmax_t.m4.
73143         (Depends-on): Add stdint.
73144         * modules/unlink-busy: New module.
73145         * modules/utimecmp (Depends-on): Add stdint.
73146         * modules/uptime: New module.
73147         * modules/winsz-ioctl: New module.
73148         * modules/winsz-termios: New module.
73149         * modules/xnanosleep (Depends-on): Add nanosleep.
73150         * modules/ullong_max: Remove.
73151         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73152         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73153         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73154         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73155         (Depends-on): Add inttypes.
73156         (lib_SOURCES): Add xstrtol.h.
73157         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73158         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73159         * MODULES.html.sh: Move 'assert' into the assert section.
73160         Move 'dummy' into the linking section.
73161         Remove ullong_max.
73162         Add section for compatibility checks for POSIX:2001 functions,
73163         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73164         winsz-ioctl, and winsz-termios into it.
73165         Add lchmod.
73166         Add top-level Misc section and put host-os, perl, and uptime
73167         into it.
73168
73169 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73170
73171         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73172         now assume the stdint module.  Do not include inttypes.h.
73173         * lib/fsusage.h: Likewise.
73174         * lib/getndelim2.c: Likewise.
73175         * lib/human.h: Likewise.
73176         * lib/inttostr.h: Likewise.
73177         * lib/obstack.c: Likewise.
73178         * lib/regex_internal.h: Likewise.
73179         * lib/tempname.c: Likewise.
73180         * lib/utimecmp.c: Likewise.
73181         * lib/xstrtol.h: Likewise.
73182
73183         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73184
73185         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73186         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73187         * lib/xtime.h: Likewise.
73188
73189 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73190
73191         * modules/openat (Files): Add lib/fchmodat.c.
73192         Fixes problem reported by Jay Youngman.
73193
73194 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73195
73196         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73197         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73198
73199 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73200             Bruno Haible  <bruno@clisp.org>
73201
73202         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73203         and is a script that invokes bison. Tighten the code. Add comments.
73204
73205 2006-08-18  Jim Meyering  <jim@meyering.net>
73206
73207         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73208         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73209         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73210         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73211
73212 2006-08-18  Bruno Haible  <bruno@clisp.org>
73213
73214         * modules/bison-i18n: New file.
73215         * MODULES.html.sh (Internationalization functions): Add it.
73216
73217 2006-08-18  Bruno Haible  <bruno@clisp.org>
73218
73219         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73220         sys/statvfs.h. When getmntinfo was found, check its declaration and
73221         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73222
73223 2006-08-18  Bruno Haible  <bruno@clisp.org>
73224
73225         * m4/bison-i18n.m4: New file, from bison.
73226
73227 2006-08-18  Bruno Haible  <bruno@clisp.org>
73228
73229         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73230         (ME_DUMMY): Treat "kernfs" as a dummy.
73231         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73232
73233 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73234
73235         Update from coreutils.
73236
73237         2006-08-15  Jim Meyering  <jim@meyering.net>
73238
73239         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73240
73241         2006-01-17  Jim Meyering  <jim@meyering.net>
73242
73243         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73244
73245         2006-01-11  Jim Meyering  <jim@meyering.net>
73246
73247         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73248         Check for the lchmod function.
73249
73250 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73251
73252         Update from coreutils.
73253
73254         * lib/__fpending.h: Add copyright notice.
73255         * lib/fprintftime.h: Likewise.
73256         * lib/savedir.c: Use (C) in copyright notice.
73257         * lib/savedir.h: Likewise.
73258
73259         2006-08-15  Jim Meyering  <jim@meyering.net>
73260
73261         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73262         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73263         in support of the EXPECTED_ERRNO macro.
73264         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73265         definitions.  Instead, define the appropriate symbols and include
73266         "at-func.c".
73267         * lib/mkdirat.c (mkdirat): Likewise.
73268         * lib/fchmodat.c (fchmodat): Likewise.
73269         (ENOSYS): Remove definition.
73270         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73271         it.  Don't include "unistd--.h" -- it wasn't ever used.
73272
73273         2006-01-17  Jim Meyering  <jim@meyering.net>
73274
73275         Rewrite fts.c not to change the current working directory,
73276         by using openat, fstatat, fdopendir, etc..
73277
73278         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73279         (HAVE_OPENAT_SUPPORT): Define.
73280         [_LIBC] (fchdir): Don't undef or define; no longer used.
73281         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73282         Now, this `function' always succeeds, and consumes its file descriptor
73283         parameter -- so callers must not close such FDs.  Update callers.
73284         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73285         (diropen): Add parameter, SP.  Adjust all callers.
73286         Implement using diropen_fd, rather than open.
73287         (fts_open): Initialize new member, fts_cwd_fd.
73288         Remove fts_rft-setting code.
73289         (fts_close): Close fts_cwd_fd, if necessary.
73290         (__opendir2): Define in terms of opendir or opendirat,
73291         depending on whether the FST_NOCHDIR flag is set.
73292         (fts_build): Since fts_safe_changedir consumes its FD, and since
73293         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73294         and close the dup'd file descriptor upon failure.
73295         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73296         (fts_safe_changedir): Tweak semantics to reflect that this function
73297         now calls cwd_advance_fd and hence consumes its FD argument.
73298         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73299         [struct FTS] (fts_rft): Remove now-unused member.
73300         [struct FTS] (fts_cycle.state): Improve comment.
73301
73302         * lib/openat.c (openat_needs_fchdir): New function.
73303         * lib/openat.h (openat_needs_fchdir): Declare it.
73304
73305 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73306
73307         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73308         Problem and fix reported by Pádraig Brady in
73309         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73310
73311 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73312
73313         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73314
73315 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73316
73317         * lib/memcoll.c (memcoll): Optimize for the common case where the
73318         arguments are bytewise equal.
73319
73320 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73321
73322         * doc/regexprops-generic.texi: Add a copyright notice.
73323
73324 2006-08-15  Bruno Haible  <bruno@clisp.org>
73325
73326         * modules/tmpdir (License): Change to LGPL.
73327
73328 2006-08-15  Bruno Haible  <bruno@clisp.org>
73329
73330         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
73331         module.
73332
73333 2006-08-14  Simon Josefsson  <jas@extundo.com>
73334
73335         * config/srclist.txt: Add gnupload.
73336
73337 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73338
73339         Change copyright notice from LGPL 2 to GPL 2, since that's the
73340         standard form used in the gnulib repository.
73341         * tests/test-lock.c: Likewise.
73342         * tests/test-stdint.c: Likewise.
73343         * tests/test-tls.c: Likewise.
73344
73345         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73346         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73347         Add copyright notice.
73348
73349         * check-module: Add copyright notice.  Output a copyright
73350         notice if "--version" is specified.
73351         * modules/COPYING: New file.
73352         * tests/test-getaddrinfo.c: Add copyright notice.
73353         * tests/test-verify.c: Likewise.
73354
73355 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73356
73357         Change copyright notice from LGPL 2 to GPL 2, since that's the
73358         standard form used in the gnulib repository.
73359         * lib/lock.c: LGPL -> GPL.
73360         * lib/lock.h: Likewise.
73361         * lib/strnlen1.c: Likewise.
73362         * lib/strnlen1.h: Likewise.
73363         * lib/tls.c: Likewise.
73364         * lib/tls.h: Likewise.
73365         * lib/tmpdir.c: Likewise.
73366
73367         * lib/TODO: Remove; this belongs only in coreutils.
73368
73369 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73370
73371         Add copyright notices to long-enough files that lack them, since
73372         otherwise the files aren't clearly free.  Use the same notice that
73373         getdate.texi already uses.
73374         * doc/alloca-opt.texi: Add copyright notice.
73375         * doc/alloca.texi: Likewise.
73376         * doc/ctime.texi: Likewise.
73377         * doc/functions.texi: Likewise.
73378         * doc/gcd.texi: Likewise.
73379         * doc/gnulib-tool.texi: Likewise.
73380         * doc/inet_ntoa.texi: Likewise.
73381         * doc/visibility.texi: Likewise.
73382
73383         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
73384         * doc/quote.texi: Add copyright notice.
73385
73386         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
73387         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
73388         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
73389         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
73390         is now obsolete, and give a pointer to the Sun list.
73391         Add copyright notice.
73392
73393 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73394
73395         * config/srclistvars.sh: Add copyright notice.
73396
73397 2006-08-14  Eric Blake  <ebb9@byu.net>
73398
73399         Import the following change from libc:
73400
73401         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
73402
73403         Upstream bug 2997.
73404         * lib/misc/error.c: Add space between program name and message if file
73405         name is missing.
73406
73407 2006-08-12  Karl Berry  <karl@gnu.org>
73408
73409         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
73410         remove, these originate in gnulib now.
73411
73412 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73413
73414         * doc/Makefile (standards.info standards.html standards.dvi):
73415         Also depend on make-stds.texi.
73416
73417 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73418
73419         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
73420         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
73421
73422         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
73423         in wchar_t.  Problem reported by Eric Blake.
73424
73425         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
73426         LEN is smaller than SIZE.  Suggested by Bruno Haible.
73427         Also, help the compiler to keep LEN in a register.
73428
73429 2006-08-11  Eric Blake  <ebb9@byu.net>
73430
73431         * users.txt: Sort.  Add tar.
73432
73433 2006-08-11  Bruno Haible  <bruno@clisp.org>
73434
73435         * users.txt: New file.
73436
73437 2006-08-11  Bruno Haible  <bruno@clisp.org>
73438
73439         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
73440         before <wchar.h>. Needed for OSF/1 and BSD/OS.
73441
73442 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73443
73444         * modules/snprintf (Depends-on): Remove minmax.
73445         (Maintainer): Add self and Bruno.
73446
73447 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73448
73449         * lib/.cppi-disable: Add snprintf.h, socket_.h.
73450         * lib/snprintf.c: Include <errno.h> and <limits.h>.
73451         (EOVERFLOW): Define if the system does not.
73452         Do not include "minmax.h"; it wasn't used.
73453         (snprintf): Don't assume size_t promotes to an unsigned type.
73454         Fix bug when generated string was too long for the buffer: the
73455         buffer's contents are supposed to be the initial prefix of the
73456         output.  Don't assume vasnprintf returns EOVERFLOW if the size
73457         exceeds INT_MAX; do the check ourselves.
73458
73459         Import the following changes from libc:
73460
73461         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
73462
73463         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
73464         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
73465         set wc to the byte which couldn't be converted.
73466         (re_string_reconstruct): Don't clear valid_raw_len before calling
73467         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
73468         tip_context using re_string_context_at.
73469
73470         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
73471
73472         * lib/posix/regex.h: g++ still cannot handled [restrict].
73473
73474         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
73475
73476         * lib/posix/regex.h: Remove special handling for VMS.
73477
73478 2006-08-10  Jim Meyering  <jim@meyering.net>
73479
73480         * modules/same-inode: New module.
73481         * modules/dev-ino: New module.
73482         * modules/cycle-check: Depend on these modules, rather than simply
73483         including their .h files.
73484         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
73485         required via m4/cycle-check.m4.
73486         * modules/same: Depend on new same-inode module, rather than
73487         including same-inode.h.
73488         * modules/chdir-safer: New file.
73489
73490         * modules/chown (Depends-on): Add stat-macros.
73491
73492 2006-08-10  Jim Meyering  <jim@meyering.net>
73493
73494         * m4/cycle-check.m4: New file.
73495         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
73496         * m4/dev-ino.m4, m4/same-inode.m4: New files.
73497
73498 2006-08-10  Eric Blake  <ebb9@byu.net>
73499
73500         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
73501         in from original proposal.
73502
73503 2006-08-10  Eric Blake  <ebb9@byu.net>
73504         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73505
73506         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
73507         namespace.
73508
73509 2006-08-10  Bruno Haible  <bruno@clisp.org>
73510
73511         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
73512         as well.
73513
73514 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73515
73516         Sync from coreutils.
73517
73518         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
73519
73520         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
73521         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
73522
73523 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73524
73525         * modules/restrict: Remove; no longer needed now that we assume
73526         Autoconf 2.59 or later.
73527         * MODULES.html.sh: Remove 'restrict'.
73528         * modules/argp (Depends-on): Remove 'restrict'.
73529         * modules/base64 (Depends-on): Likewise.
73530         * modules/gc (Depends-on): Likewise.
73531         * modules/getaddrinfo (Depends-on): Likewise.
73532         * modules/glob (Depends-on): Likewise.
73533         * modules/inet_ntop (Depends-on): Likewise.
73534         * modules/inet_pton (Depends-on): Likewise.
73535         * modules/memxor (Depends-on): Likewise.
73536         * modules/regex (Depends-on): Likewise.
73537         * modules/strtok_r (Depends-on): Likewise.
73538         * modules/time_r (Depends-on): Likewise.
73539
73540 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73541
73542         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
73543         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
73544         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73545         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
73546         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
73547         * m4/memxor.m4 (gl_MEMXOR): Likewise.
73548         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
73549         gl_C_RESTRICT replaced by AC_C_RESTRICT.
73550
73551         Merge from coreutils.
73552         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
73553         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
73554         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73555         * m4/time_r.m4 (gl_TIME_R): Likewise.
73556
73557 2006-08-09  Karl Berry  <karl@gnu.org>
73558
73559         * config/srclist.txt: no more gettext-tools, per Bruno.
73560
73561 2006-08-08  Eric Blake  <ebb9@byu.net>
73562
73563         * modules/verror: New module.
73564         * MODULES.html.sh: Document it.
73565
73566 2006-08-08  Eric Blake  <ebb9@byu.net>
73567
73568         * lib/verror.h, lib/verror.c: New files.
73569
73570 2006-08-08  Eric Blake  <ebb9@byu.net>
73571
73572         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
73573         verror_at_line output complies with GNU Coding Standards even when
73574         file is NULL.
73575
73576 2006-08-07  Bruno Haible  <bruno@clisp.org>
73577
73578         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
73579         versions of AIX.
73580         Reported by Ralf Wildenhues.
73581
73582 2006-08-07  Bruno Haible  <bruno@clisp.org>
73583
73584         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
73585         in an AC_DEFUN. Needed so that the autoconf snippets can use
73586         AC_REQUIRE.
73587
73588 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73589
73590         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73591         Initialize pkgdata_DATA.
73592         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
73593         overriding it.
73594
73595 2006-08-06  Eric Blake  <ebb9@byu.net>
73596
73597         * lib/error.h: Fold in some upstream changes from glibc.
73598         * lib/error.c: Likewise.
73599
73600 2006-08-04  Bruno Haible  <bruno@clisp.org>
73601
73602         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73603         Make the mostlyclean-local rule depend on mostlyclean-generic.
73604         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
73605
73606 2006-07-31  Bruno Haible  <bruno@clisp.org>
73607
73608         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
73609         <stdlib.h>, <string.h>.
73610
73611 2006-07-30  Bruno Haible  <bruno@clisp.org>
73612
73613         * modules/readlink (License): Change to LGPL.
73614
73615 2006-07-30  Bruno Haible  <bruno@clisp.org>
73616
73617         * modules/javaversion (Makefile.am): Distribute javaversion.java and
73618         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
73619         set PKGDATADIR to point to it.
73620
73621 2006-07-30  Bruno Haible  <bruno@clisp.org>
73622
73623         * modules/csharpexec (configure.ac): Comment out macro invocation.
73624         * modules/javaexec (configure.ac): Likewise.
73625         * modules/javacomp-script (configure.ac): Likewise.
73626
73627         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
73628
73629 2006-07-30  Bruno Haible  <bruno@clisp.org>
73630
73631         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
73632         linked-list.
73633
73634 2006-07-30  Bruno Haible  <bruno@clisp.org>
73635
73636         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
73637
73638 2006-07-30  Bruno Haible  <bruno@clisp.org>
73639
73640         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73641         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
73642         get removed.
73643
73644 2006-07-29  Bruno Haible  <bruno@clisp.org>
73645
73646         Make it possible for gnulib-tool to work with locally modified or
73647         augmented gnulib repositories.
73648         * gnulib-tool (func_usage): Document --local-dir option.
73649         (local_gnulib_dir): New variable.
73650         Handle --local-dir option.
73651         (func_lookup_file): New function.
73652         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
73653         (func_get_description, func_get_filelist, func_get_description,
73654         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
73655         func_get_automake_snippet, func_get_include_directive,
73656         func_get_license, func_get_maintainer): Use func_lookup_file.
73657         (func_import, func_create_testdir): Use func_lookup_file.
73658
73659 2006-07-29  Bruno Haible  <bruno@clisp.org>
73660
73661         * modules/setenv (Depends-on): Add unistd.
73662
73663 2006-07-29  Bruno Haible  <bruno@clisp.org>
73664
73665         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
73666
73667 2006-07-29  Bruno Haible  <bruno@clisp.org>
73668
73669         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
73670
73671 2006-07-29  Bruno Haible  <bruno@clisp.org>
73672
73673         * gnulib-tool (import, update): If there is no Makefile.am, look at
73674         aclocal.m4, instead of bailing out.
73675
73676 2006-07-29  Bruno Haible  <bruno@clisp.org>
73677
73678         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
73679         Categorize the options by when they are useful.
73680
73681 2006-07-29  Bruno Haible  <bruno@clisp.org>
73682
73683         * gnulib-tool (func_usage): Document option --no-libtool.
73684         Handle option --no-libtool.
73685         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
73686         for changed semantics of $libtool variable.
73687         (func_import): Likewise. If libtool is not used, show this through
73688         an option --no-libtool.
73689         (func_create_testdir): Update.
73690
73691 2006-07-29  Bruno Haible  <bruno@clisp.org>
73692
73693         * gnulib-tool (func_import): Extend error message about missing
73694         --doc-base.
73695
73696 2006-07-29  Bruno Haible  <bruno@clisp.org>
73697
73698         * gnulib-tool (func_import): Don't create the $docbase directory if
73699         there is no file to store there.
73700
73701 2006-07-29  Bruno Haible  <bruno@clisp.org>
73702
73703         * gnulib-tool (autoconf_minversion): If a --dir option is given and
73704         relevant, look for configure.ac there, not in the current directory.
73705         Also use a simple search for AC_PREREQ, not "autoconf --trace".
73706
73707 2006-07-29  Bruno Haible  <bruno@clisp.org>
73708
73709         * gnulib-tool (SORT): New variable.
73710         (func_usage): Undocument --assume-autoconf option.
73711         Remove --assume-autoconf option handling.
73712         (autoconf_minversion): Determine from the contents of configure.ac.
73713         (func_import): Remove autoconf_minversion handling.
73714         Suggested by Eric Blake.
73715
73716 2006-07-29  Bruno Haible  <bruno@clisp.org>
73717
73718         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
73719
73720 2006-07-29  Bruno Haible  <bruno@clisp.org>
73721
73722         * config/srclist.txt (*setenv.[ch]): Remove rules.
73723
73724 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73725
73726         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
73727
73728 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73729
73730         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
73731         arpa/inet.h.
73732
73733 2006-07-28  Simon Josefsson  <jas@extundo.com>
73734
73735         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
73736         * modules/inet_pton (Depends-on): Likewise.
73737
73738 2006-07-28  Simon Josefsson  <jas@extundo.com>
73739
73740         * m4/netinet_in_h.m4: New file.
73741
73742 2006-07-28  Simon Josefsson  <jas@extundo.com>
73743
73744         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
73745         #include's.
73746
73747 2006-07-28  Simon Josefsson  <jas@extundo.com>
73748
73749         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
73750         #include's.
73751
73752 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
73753
73754         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
73755         setgid on directories only if they set these bits.
73756         * lib/modechange.h: Remove obsolete comment about masks.
73757
73758 2006-07-28  Eric Blake  <ebb9@byu.net>
73759
73760         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
73761         macro expansion.
73762
73763 2006-07-28  Bruno Haible  <bruno@clisp.org>
73764
73765         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
73766
73767 2006-07-28  Bruno Haible  <bruno@clisp.org>
73768
73769         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
73770
73771 2006-07-28  Bruno Haible  <bruno@clisp.org>
73772
73773         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
73774         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
73775         Define fallbacks.
73776         Avoids link error on FreeBSD 4.x.
73777         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73778
73779         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
73780         encoding.
73781         * lib/mbswidth.c (iswcntrl): Likewise.
73782
73783 2006-07-27  Bruno Haible  <bruno@clisp.org>
73784
73785         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
73786         test.
73787
73788 2006-07-27  Bruno Haible  <bruno@clisp.org>
73789
73790         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
73791         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
73792         defined.
73793
73794 2006-07-26  Eric Blake  <ebb9@byu.net>
73795
73796         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
73797
73798 2006-07-26  Eric Blake  <ebb9@byu.net>
73799
73800         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
73801         like mingw that lack mkstemp.
73802         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
73803         avoid compilation warning on mingw.
73804
73805 2006-07-26  Bruno Haible  <bruno@clisp.org>
73806
73807         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
73808         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
73809         INT_FAST*_MIN, INTPTR_MIN.
73810
73811 2006-07-25  Bruno Haible  <bruno@clisp.org>
73812
73813         * modules/version-etc (Depends-on): Add stdarg.
73814
73815 2006-07-25  Bruno Haible  <bruno@clisp.org>
73816
73817         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
73818         complex commands.
73819
73820 2006-07-25  Bruno Haible  <bruno@clisp.org>
73821
73822         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
73823         defined in <stdarg.h> or config.h.
73824
73825 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
73826
73827         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
73828         (gl_STDIO_SAFER): Remove.
73829
73830 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
73831
73832         * MODULES.html.sh (File stream based Input/Output):
73833         Add fopen-safer, tmpfile-safer; remove stdio-safer.
73834         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
73835         * modules/fopen-safer, modules/tmpfile-safer: New files.
73836         * modules/stdio-safer: Remove.
73837
73838 2006-07-24  Bruno Haible  <bruno@clisp.org>
73839
73840         * modules/tmpdir: New file.
73841         * MODULES.html.sh (File system functions): Add it.
73842
73843 2006-07-24  Bruno Haible  <bruno@clisp.org>
73844
73845         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
73846         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
73847
73848 2006-07-24  Bruno Haible  <bruno@clisp.org>
73849
73850         * modules/clean-temp: New file.
73851
73852 2006-07-24  Bruno Haible  <bruno@clisp.org>
73853
73854         * m4/tmpdir.m4: New file, from GNU gettext.
73855
73856 2006-07-24  Bruno Haible  <bruno@clisp.org>
73857
73858         * lib/tmpdir.h: New file, from GNU gettext.
73859         * lib/tmpdir.c: New file, from GNU gettext.
73860
73861 2006-07-24  Bruno Haible  <bruno@clisp.org>
73862
73863         * lib/clean-temp.h: New file, from GNU gettext.
73864         * lib/clean-temp.c: New file, from GNU gettext.
73865
73866 2006-07-23  Eric Blake  <ebb9@byu.net>
73867
73868         * modules/stdio-safer (Files): Add tmpfile-safer.c.
73869         (Depends-on): Add binary-io.
73870
73871 2006-07-23  Eric Blake  <ebb9@byu.net>
73872
73873         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
73874
73875 2006-07-23  Eric Blake  <ebb9@byu.net>
73876
73877         * lib/tmpfile-safer.c: New file.
73878         * lib/stdio-safer.h (fopen_safer): Add prototype.
73879         * lib/stdio--.h (tmpfile): Make safer.
73880
73881 2006-07-23  Bruno Haible  <bruno@clisp.org>
73882
73883         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
73884         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
73885         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
73886         gl_linked_remove_at): Use it.
73887
73888 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73889         and Simon Josefsson <jas@extundo.com>
73890
73891         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
73892
73893         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
73894
73895 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73896
73897         * modules/close-stream: New file.
73898         * modules/closeout (Description): Make it clear that it exits
73899         with a diagnostic on error.
73900         (Depends-on): Add close-stream.  Remove fpending, stdbool.
73901         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
73902
73903 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73904
73905         * m4/close-stream.m4: New file.
73906
73907 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73908
73909         * lib/close-stream.c, lib/close-stream.h: New files.
73910
73911 2006-07-22  Bruno Haible  <bruno@clisp.org>
73912
73913         Merge from GNU gettext 0.15.
73914
73915         2006-05-01  Bruno Haible  <bruno@clisp.org>
73916
73917                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
73918
73919         2006-07-22  Bruno Haible  <bruno@clisp.org>
73920
73921                 * modules/javaversion: New file.
73922                 * MODULES.html.sh (Java): Add javaversion.
73923
73924         2006-03-12  Bruno Haible  <bruno@clisp.org>
73925
73926                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
73927
73928         2005-12-04  Bruno Haible  <bruno@clisp.org>
73929
73930                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
73931                 (untested).
73932
73933         2006-06-21  Bruno Haible  <bruno@clisp.org>
73934
73935                 Avoid warnings from recent versions of mcs.
73936                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
73937                 -o, -L, -r any more. Use options documented since mcs-1.0
73938                 instead. Similarly for -g.
73939
73940         2005-12-04  Bruno Haible  <bruno@clisp.org>
73941
73942                 * build-aux/csharpcomp.sh.in: Suffix for resources is
73943                 .resources, not .resource.
73944
73945         2005-07-09  Bruno Haible  <bruno@clisp.org>
73946
73947                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
73948                 add a .dll suffix.
73949                 Reported by Mark Junker <mjscod@gmx.de>.
73950
73951         2006-07-22  Bruno Haible  <bruno@clisp.org>
73952
73953                 * modules/gettext: Upgrade to gettext-0.15.
73954                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
73955                 m4/visibility.m4.
73956                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
73957
73958 2006-07-22  Bruno Haible  <bruno@clisp.org>
73959
73960         Merge from GNU gettext 0.15.
73961
73962         2006-03-25  Bruno Haible  <bruno@clisp.org>
73963
73964                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
73965
73966         2006-07-21  Bruno Haible  <bruno@clisp.org>
73967
73968                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
73969                 "1.1".
73970
73971         2006-05-09  Bruno Haible  <bruno@clisp.org>
73972
73973                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
73974                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
73975                 for the conftestver execution.
73976
73977         2006-05-01  Bruno Haible  <bruno@clisp.org>
73978
73979                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
73980                 optional target-version argument. Verify that the compiler
73981                 groks source of the specified source-version, or add -source
73982                 option as necessary. Verify that the compiler produces
73983                 bytecode in the specified target-version, or add -target and
73984                 -source options as necessary. Make the result of the test
73985                 available as variable CONF_JAVAC. Also log error output in
73986                 config.log.
73987
73988         2006-03-11  Bruno Haible  <bruno@clisp.org>
73989
73990                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
73991
73992         2006-05-09  Bruno Haible  <bruno@clisp.org>
73993
73994                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
73995                 CLASSPATH_SEPARATOR to a semicolon.
73996
73997         2006-03-12  Bruno Haible  <bruno@clisp.org>
73998
73999                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74000                 available as variable CONF_JAVA, for subsequent autoconf
74001                 tests. Also log error output in config.log.
74002
74003         2006-07-19  Bruno Haible  <bruno@clisp.org>
74004
74005                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74006                 that getline works on glibc2 systems. Needed to avoid trouble
74007                 in relocatable.c.
74008                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74009
74010         2005-12-04  Bruno Haible  <bruno@clisp.org>
74011
74012                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74013                 launcher (untested).
74014
74015         2005-12-04  Bruno Haible  <bruno@clisp.org>
74016
74017                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74018
74019         2006-07-22  Bruno Haible  <bruno@clisp.org>
74020
74021                 * gettext.m4: Update from GNU gettext-0.15.
74022                 * nls.m4: Likewise.
74023                 * po.m4: Likewise.
74024                 * inttypes-pri.m4: Likewise.
74025                 * inttypes-h.m4: Renamed from inttypes.m4.
74026                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74027
74028 2006-07-22  Bruno Haible  <bruno@clisp.org>
74029
74030         Merge from GNU gettext 0.15.
74031
74032         2005-07-05  Bruno Haible  <bruno@clisp.org>
74033
74034                 * printf-args.c (printf_fetchargs): Work around broken
74035                 definition of wint_t on mingw.
74036
74037         2005-02-12  Bruno Haible  <bruno@clisp.org>
74038
74039                 * xallocsa.h: Add extern "C" for C++.
74040
74041         2006-05-17  Bruno Haible  <bruno@clisp.org>
74042
74043                 Cygwin portability.
74044                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74045
74046         2006-04-30  Bruno Haible  <bruno@clisp.org>
74047
74048                 * progreloc.c: Include <mach-o/dyld.h> if available.
74049                 (find_executable): Use _NSGetExecutablePath when possible.
74050
74051         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74052
74053                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74054                 function.
74055
74056         2005-12-29  Bruno Haible  <bruno@clisp.org>
74057
74058                 * progreloc.c (set_program_name_and_installdir): Fix
74059                 compilation error.
74060
74061         2005-12-04  Bruno Haible  <bruno@clisp.org>
74062
74063                 Cygwin portability.
74064                 * progreloc.c: Include <windows.h> also on Cygwin.
74065                 (find_executable): Add support for Cygwin.
74066                 (set_program_name_and_installdir): Handle also platforms with
74067                 nonempty EXEEXT.
74068
74069         2006-07-11  Bruno Haible  <bruno@clisp.org>
74070
74071                 * javacomp.c: Fix a comment.
74072                 Reported by Jim Meyering.
74073
74074         2006-04-30  Bruno Haible  <bruno@clisp.org>
74075
74076                 * javacomp.h (compile_java_class): Add source_version,
74077                 target_version arguments.
74078                 * javacomp.c: Rewritten to choose only a compiler that
74079                 respects the specified source_version and target_version.
74080
74081         2006-06-27  Bruno Haible  <bruno@clisp.org>
74082
74083                 Assume correct S_ISDIR macro.
74084                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74085
74086         2006-07-22  Bruno Haible  <bruno@clisp.org>
74087
74088                 * javaversion.h: New file, from GNU gettext.
74089                 * javaversion.c: New file, from GNU gettext.
74090                 * javaversion.java: New file, from GNU gettext.
74091                 * javaversion.class: New file, from GNU gettext.
74092
74093         2006-05-17  Bruno Haible  <bruno@clisp.org>
74094
74095                 Cygwin portability.
74096                 * javaexec.c (execute_java_class): Test for jview program
74097                 also on Cygwin.
74098
74099         2006-04-09  Bruno Haible  <bruno@clisp.org>
74100
74101                 * fatal-signal.c: Don't include string.h.
74102                 (at_fatal_signal): Use a copying loop instead of memcpy.
74103
74104         2005-12-04  Bruno Haible  <bruno@clisp.org>
74105
74106                 * csharpexec.c: Add support for 'clix' launcher (untested).
74107                 (execute_csharp_using_sscli): New function.
74108                 (execute_csharp_program): Call it.
74109
74110         2006-06-21  Bruno Haible  <bruno@clisp.org>
74111
74112                 Avoid warnings from recent versions of mcs.
74113                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74114                 -o, -L, -r any more. Use options documented since mcs-1.0
74115                 instead. Similarly for -g.
74116
74117         2005-07-09  Bruno Haible  <bruno@clisp.org>
74118
74119                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74120                 add a .dll suffix.
74121                 Reported by Mark Junker <mjscod@gmx.de>.
74122
74123         2006-06-17  Bruno Haible  <bruno@clisp.org>
74124
74125                 * config.charset: Update for NetBSD 3.0.
74126
74127         2006-05-17  Bruno Haible  <bruno@clisp.org>
74128
74129                 Cygwin portability.
74130                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74131
74132         2006-05-16  Bruno Haible  <bruno@clisp.org>
74133
74134                 * localcharset.c [CYGWIN]: Include <windows.h>.
74135                 (get_charset_aliases): For Cygwin, return the same CPxxx
74136                 aliases list as under WIN32.
74137                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74138                 the environment variables. Fall back to GetACP().
74139
74140         2006-04-05  Bruno Haible  <bruno@clisp.org>
74141
74142                 * config.charset: Update Juan Manuel Guerrero's address.
74143
74144         2005-02-12  Bruno Haible  <bruno@clisp.org>
74145
74146                 * allocsa.h: Add extern "C" for C++.
74147
74148         2005-02-10  Bruno Haible  <bruno@clisp.org>
74149
74150                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74151                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74152
74153         2006-07-22  Bruno Haible  <bruno@clisp.org>
74154
74155                 * gettext.h: Update to GNU gettext-0.15.
74156
74157 2006-07-22  Bruno Haible  <bruno@clisp.org>
74158
74159         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74160         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74161         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74162
74163 2006-07-21  Eric Blake  <ebb9@byu.net>
74164
74165         * modules/stdlib-safer: New file.
74166         * MODULES.html.sh (File stream based Input/Output): Add
74167         stdlib-safer.
74168
74169 2006-07-21  Eric Blake  <ebb9@byu.net>
74170
74171         * lib/stdlib-safer.h: New file from coreutils, required by
74172         stdlib--.h.
74173
74174 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74175
74176         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74177
74178 2006-07-20  Bruno Haible  <bruno@clisp.org>
74179
74180         * gnulib-tool: Recognize new option --assume-autoconf.
74181         (autoconf_minversion): New variable.
74182         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74183
74184 2006-07-20  Bruno Haible  <bruno@clisp.org>
74185
74186         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74187
74188 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74189
74190         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74191         Reindent and repaginate.
74192
74193 2006-07-19  Derek Price  <derek@ximbiot.com>
74194
74195         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74196         Correct grammar.
74197
74198 2006-07-17  Bruno Haible  <bruno@clisp.org>
74199
74200         * modules/list: New file.
74201         * modules/array-list: New file.
74202         * modules/carray-list, modules/carray-list-tests: New files.
74203         * modules/linked-list, modules/linked-list-tests: New files.
74204         * modules/avltree-list, modules/avltree-list-tests: New files.
74205         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74206         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74207         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74208         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74209         * modules/oset: New file.
74210         * modules/array-oset: New file.
74211         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74212         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74213         * tests/test-carray_list.c: New file.
74214         * tests/test-linked_list.c: New file.
74215         * tests/test-avltree_list.c: New file.
74216         * tests/test-rbtree_list.c: New file.
74217         * tests/test-linkedhash_list.c: New file.
74218         * tests/test-avltreehash_list.c: New file.
74219         * tests/test-rbtreehash_list.c: New file.
74220         * tests/test-avltree_oset.c: New file.
74221         * tests/test-rbtree_oset.c: New file.
74222         * MODULES.html.sh (Container data structures): New section.
74223
74224 2006-07-17  Bruno Haible  <bruno@clisp.org>
74225
74226         * m4/gl_list.m4: New file.
74227
74228 2006-07-17  Bruno Haible  <bruno@clisp.org>
74229
74230         * lib/gl_list.h: New file.
74231         * lib/gl_list.c: New file.
74232         * lib/gl_array_list.h: New file.
74233         * lib/gl_array_list.c: New file.
74234         * lib/gl_carray_list.h: New file.
74235         * lib/gl_carray_list.c: New file.
74236         * lib/gl_linked_list.h: New file.
74237         * lib/gl_linked_list.c: New file.
74238         * lib/gl_anylinked_list1.h: New file.
74239         * lib/gl_anylinked_list2.h: New file.
74240         * lib/gl_avltree_list.h: New file.
74241         * lib/gl_avltree_list.c: New file.
74242         * lib/gl_anyavltree_list1.h: New file.
74243         * lib/gl_anyavltree_list2.h: New file.
74244         * lib/gl_rbtree_list.h: New file.
74245         * lib/gl_rbtree_list.c: New file.
74246         * lib/gl_anyrbtree_list1.h: New file.
74247         * lib/gl_anyrbtree_list2.h: New file.
74248         * lib/gl_anytree_list1.h: New file.
74249         * lib/gl_anytree_list2.h: New file.
74250         * lib/gl_linkedhash_list.h: New file.
74251         * lib/gl_linkedhash_list.c: New file.
74252         * lib/gl_anyhash_list1.h: New file.
74253         * lib/gl_anyhash_list2.h: New file.
74254         * lib/gl_avltreehash_list.h: New file.
74255         * lib/gl_avltreehash_list.c: New file.
74256         * lib/gl_rbtreehash_list.h: New file.
74257         * lib/gl_rbtreehash_list.c: New file.
74258         * lib/gl_anytreehash_list1.h: New file.
74259         * lib/gl_anytreehash_list2.h: New file.
74260
74261         * lib/gl_oset.h: New file.
74262         * lib/gl_oset.c: New file.
74263         * lib/gl_array_oset.h: New file.
74264         * lib/gl_array_oset.c: New file.
74265         * lib/gl_avltree_oset.h: New file.
74266         * lib/gl_avltree_oset.c: New file.
74267         * lib/gl_rbtree_oset.h: New file.
74268         * lib/gl_rbtree_oset.c: New file.
74269         * lib/gl_anytree_oset.h: New file.
74270
74271 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74272
74273         * m4/mkancesdirs.m4: New file.
74274         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74275         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74276         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74277         it.
74278
74279 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74280
74281         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74282         * lib/mkancesdirs.h: New files.
74283         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74284         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74285         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74286         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74287         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74288         callers changed.  Revamp internals significantly, by not
74289         attempting to create directories that are temporarily more
74290         permissive than the final results.  Do not attempt to use
74291         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74292         This removes some race conditions, fixes some bugs, and simplifies
74293         things.  Use new dirchownmod function to do owner and mode changes.
74294         * lib/mkdir-p.h: Likewise.
74295         * lib/modechange.c (octal_to_mode): New function.
74296         (struct mode_change): New member mentioned.
74297         (make_node_op_equals): New arg mentioned.  All callers changed.
74298         (mode_compile): Keep track of which mode bits the user has explicitly
74299         mentioned.
74300         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74301         New arg PMODE_BITS, to keep track of which mode bits the user
74302         mentioned; it treats S_ISUID and S_ISGID speciall.
74303         All callers changed.
74304         * lib/modechange.h: Likewise.
74305
74306 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74307
74308         * MODULES.html.sh: Add mkancestors.
74309         * modules/mkancesdirs: New module.
74310         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74311         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74312         The chdir-safer and afs files are now orphans; I'll remove them
74313         unless someone speaks up.
74314         Add lib/dirchownmod.c, lib/dirchownmod.h.
74315         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74316         Add lchown, mkancesdirs.
74317         (Maintainer): Add self.
74318
74319 2006-07-15  Karl Berry  <karl@gnu.org>
74320
74321         * gnulib-tool: help message wording/arrangement.
74322
74323 2006-07-14  Simon Josefsson  <jas@extundo.com>
74324
74325         * doc/gnulib.texi (Libtool and Windows): New section.
74326
74327 2006-07-12  Simon Josefsson  <jas@extundo.com>
74328
74329         * modules/gendocs (License): Fix license, approved by Karl.
74330
74331 2006-07-12  Eric Blake  <ebb9@byu.net>
74332
74333         * MODULES.html.sh: Add gendocs.
74334
74335 2006-07-11  Eric Blake  <ebb9@byu.net>
74336
74337         * modules/fdl: New module, to install doc/fdl.texi.
74338         * MODULES.html.sh: Add new section for documentation modules.
74339         * gnulib-tool: Avoid space-tab.
74340         (--doc-base): New option, to manage files from doc.
74341
74342 2006-07-11  Eric Blake  <ebb9@byu.net>
74343
74344         * m4/absolute-header.m4: Fix comments to match recent change.
74345
74346 2006-07-11  Eric Blake  <ebb9@byu.net>
74347
74348         * gnulib-tool: List --doc-base before --tests-base.
74349
74350 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74351
74352         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74353
74354 2006-07-11  Bruno Haible  <bruno@clisp.org>
74355
74356         * README: Mention where to put documentation.
74357
74358 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74359
74360         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
74361
74362 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74363
74364         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
74365         to stdint.m4.
74366
74367 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74368
74369         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
74370         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
74371         "no/such/file/stdint.h" when there is no such file, so that
74372         the resulting C code can be parsed by dodgy compilers.
74373         Problems reported by Bob Proulx.
74374
74375 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74376
74377         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
74378         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74379         macros into the GNU _D_EXACT_NAMLEN.
74380         * lib/savedir.c:  Likewise.
74381         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
74382
74383 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74384         and Paul Eggert  <eggert@cs.ucla.edu>
74385
74386         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
74387         * m4/savedir.m4:
74388         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74389         macros into the GNU _D_EXACT_NAMLEN.
74390
74391 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74392
74393         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
74394         around the absolute name, to work around a problem with the HP-UX
74395         11.23 native C compiler, reported by Bob Proulx.
74396
74397 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74398
74399         * doc/maintain.texi, make-stds.texi: Sync from
74400         <http://savannah.gnu.org/projects/gnustandards>.
74401
74402 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74403
74404         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
74405
74406 2006-07-09  Jim Meyering  <jim@meyering.net>
74407
74408         * m4/glob.m4: Remove a doubled word in a comment.
74409
74410 2006-07-09  Jim Meyering  <jim@meyering.net>
74411
74412         * lib/argp-pv.c: Remove a doubled word in a comment.
74413         * lib/check-version.c (check_version): Likewise.
74414         * lib/javacomp.c (compile_java_class): Likewise.
74415
74416 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74417
74418         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
74419         for the benefit of people using Autoconf 2.60.  If you want to
74420         support older Autoconf versions you can copy m4/onceonly_2_57.m4
74421         (or m4/onceonly.m4, if pre-2.57) manually.
74422
74423 2006-07-08  Jim Meyering  <jim@meyering.net>
74424
74425         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
74426         comment.
74427         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
74428         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
74429         comment.
74430
74431 2006-07-08  Jim Meyering  <jim@meyering.net>
74432
74433         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
74434
74435 2006-07-07  Simon Josefsson  <jas@extundo.com>
74436
74437         * tests/test-crc.c: Change expected crc value, the test vector
74438         were probably computed using the old broken crc.c?
74439
74440 2006-07-06  Simon Josefsson  <jas@extundo.com>
74441
74442         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
74443         now the canonical place for the M4 file).
74444
74445         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
74446         from the sys_socket dependency now.
74447
74448         * modules/inet_pton (Files): Ditto.
74449
74450         * modules/inet_ntop (Files): Ditto.
74451
74452 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74453
74454         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
74455         not gl_PREREQ_GETUSERSHELL.
74456
74457 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74458
74459         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
74460         with only one argument, for Autoconf 2.60.
74461         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
74462         expand to nothing, so add a shell command to avoid syntax error.
74463         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74464
74465 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74466
74467         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
74468
74469 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74470
74471         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
74472         no longer needed.  Check for isblank decl.
74473         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
74474         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
74475         of existence.
74476
74477 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74478
74479         * lib/getloadavg.c: Use __VMS, not VMS.
74480         * lib/getopt.c: Likewise.
74481         * lib/getpagesize.h: Likewise.
74482         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
74483         and probably does not work.
74484
74485 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74486
74487         * lib/.cppi-disable: Add wcwidth.
74488         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
74489         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
74490         (ISGRAPH): Remove.  All uses changed to isgraph.
74491         (FOLD) [!defined _LIBC]: Remove special case.
74492         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
74493         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
74494         HAVE_ISBLANK.
74495         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
74496         case.
74497
74498 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74499
74500         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
74501         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
74502         brackets.  Other minor changes to suppress some compiler
74503         warnings.
74504
74505 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74506         and Paul Eggert  <eggert@cs.ucla.edu>
74507
74508         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
74509         of invoking obsolescent AC_HEADER_DIRENT macro.
74510         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
74511         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
74512         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
74513         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74514         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
74515         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74516         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
74517         * m4/readdir.m4: Remove; no longer needed.
74518
74519 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74520         and Paul Eggert  <eggert@cs.ucla.edu>
74521
74522         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
74523         Don't worry about this obsolete case any more.
74524         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
74525         directories.
74526         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
74527         worry about this obsolete case any more.
74528         * lib/fts.c: Likewise.
74529         * lib/getcwd.c: Likewise.
74530         * lib/glob.h: Likewise.
74531         * lib/savedir.c: Likewise.
74532
74533 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74534
74535         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
74536         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
74537         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
74538         needed.
74539         All uses removed.
74540         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74541         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74542         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
74543         needed.
74544         * m4/getdate.m4 (gl_GETDATE): Likewise.
74545         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74546         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74547         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74548         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74549         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74550         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74551         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
74552         needed.
74553
74554 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74555
74556         * lib/memcasecmp.c: Include <limits.h>.
74557         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
74558         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
74559         Don't assume isdigit succeeds only on '0' through '9'.
74560
74561 2006-07-05  Eric Blake  <ebb9@byu.net>
74562
74563         * modules/getaddrinfo (Depends-on): Add snprintf.
74564
74565 2006-07-05  Eric Blake  <ebb9@byu.net>
74566
74567         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
74568         to avoid 'header present but could not be compiled' on cygwin.
74569
74570 2006-07-05  Eric Blake  <ebb9@byu.net>
74571
74572         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
74573         missing from netdb.h.
74574         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
74575
74576 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74577
74578         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
74579         no longer needed.
74580         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
74581         * m4/getdate.m4 (gl_GETDATE): Likewise.
74582         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74583         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74584         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74585         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74586         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74587
74588 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74589
74590         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
74591         All uses of is_space replaced by isspace.
74592         * lib/exit.h: Don't talk about STDC_HEADERS.
74593         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
74594         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
74595         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
74596         replaced by isprint etc.
74597         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
74598         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74599         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
74600         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
74601         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
74602         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74603
74604 2006-07-05  Bruno Haible  <bruno@clisp.org>
74605
74606         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
74607         the function exists, before testing against AIX.
74608         Reported by Martin Lambers <marlam@marlam.de>.
74609
74610 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74611
74612         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
74613         From Mark D. Baushke.
74614
74615 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74616
74617         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
74618         to the absolute name, not just one, to bypass Sun C 5.8's
74619         "warning: #include of /usr/include/... may be non-portable".
74620
74621 2006-07-04  Eric Blake  <ebb9@byu.net>
74622
74623         * modules/dirname-tests: New test module.
74624         * tests/test-dirname.c: New file, replacing dirname.c
74625         TEST_DIRNAME section that was recently deleted.
74626
74627 2006-07-04  Bruno Haible  <bruno@clisp.org>
74628
74629         Assume ANSI C header files and <ctype.h> functions.
74630         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
74631         (mbsnwidth): Use isprint, iscntrl instead.
74632
74633 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74634
74635         Merge from coreutils.
74636         * MODULES.html.sh: Add xstrtold.
74637         * modules/xstrtold: New file.
74638         * modules/cycle-check (Files): Add lib/same-inode.h.
74639         * modules/dirname (Files): Add m4/double-slash-root.m4.
74640         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
74641         * modules/mkdir-p (Files): Add lib/same-inode.h.
74642         * modules/same (Files): Add lib/same-inode.h.
74643
74644 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74645
74646         * m4/absolute-header.m4: Renamed from full-header-path.m4.
74647         This is to keep the terminology clean; POSIX talks about
74648         "absolute pathnames", not "full pathnames", but the GNU
74649         Coding Standards say to use "path" for something else;
74650         so use "absolute" to keep both sides happy.
74651         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
74652         Set gl_absolute_header, not gl_full_header_path.
74653         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
74654         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
74655         All uses changed.
74656
74657         Merge from coreutils.
74658
74659         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74660
74661         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
74662         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
74663         want to require the building of c-strtod.o.
74664         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
74665         needs -lm directly.
74666         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
74667
74668         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74669
74670         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
74671         --as-needed option if available.  Problem reported by Albert Chin in
74672         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
74673         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
74674         cc merely issues a bunch of annoying warnings for --as-needed
74675         (this problem was reported by Bob Proulx).  Also, try linking with
74676         -lm to detect a bug in binutils 2.16 (this problem was reported
74677         by Ralf Wildenhues).
74678
74679         2006-06-18  Jim Meyering  <jim@meyering.net>
74680
74681         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
74682         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
74683         macro.
74684         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
74685         also check for glibc-2.4's abort-inducing bug.
74686
74687         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
74688         Low-probability clean-up should be to use rmdir to get rid of
74689         the just-created directory, not unlink.
74690
74691         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
74692         configure fail, and request a bug report to inform us about it.
74693         Add a comment that, barring reports to the contrary, in 2007 we'll
74694         assume ftruncate is universally available.
74695
74696         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74697
74698         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
74699
74700         2006-03-12  Jim Meyering  <jim@meyering.net>
74701
74702         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
74703         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
74704         * m4/same.m4 (gl_SAME): Likewise.
74705         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
74706
74707         2006-03-11  Eric Blake  <ebb9@byu.net>
74708
74709         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
74710         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
74711         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
74712         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
74713
74714 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74715
74716         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
74717         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
74718         reported by Mark D. Baushke, one in
74719         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
74720
74721         Merge from coreutils.
74722
74723         * lib/.cppi-disable: Add stdint_.h.
74724         * lib/.cvsignore: Add stdint.h.
74725
74726         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74727
74728         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
74729         both double and long double versions.
74730         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
74731         * lib/xstrtold.c: New file.
74732         * lib/xstrtod.h (xstrtold): New decl.
74733
74734         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
74735
74736         * lib/filemode.c (setst): Remove.
74737         (strmode): Rewrite to avoid setst.  This makes the code shorter,
74738         (arguably) clearer, and the generated code is a bit smaller on my
74739         Debian GNU/Linux stable x86 host.
74740
74741         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74742
74743         * lib/filemode.c: Include "filemode.h" first, to test the interface.
74744         Assume that filemode.h includes sys/types.h and sys/stat.h.
74745         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
74746         (ftypelet): Reorder to put common cases first, for efficiency.
74747         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
74748         to do 'M'.
74749         (strmode): Renamed from mode_string, and now stores 12 bytes instead
74750         of 10, for compatibility with FreeBSD.  All callers changed.
74751         (filemodestring): Now stores 12 bytes instead of 10, and sets file
74752         types that can't be deduced solely from st_mode.  First arg is now a
74753         const pointer.
74754         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
74755         (strmode): Renamed from mode_string.
74756         (filemodestring): New decl.
74757         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
74758         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
74759         needed.
74760         (S_ISPORT, S_ISWHT): New macros, if not already defined.
74761
74762         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
74763
74764         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
74765         fsusage.h now does that.  Include fsusage.h first, to test interface.
74766         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
74767         at most one method (the old code could have generated decls that
74768         didn't conform to C89, not that this was ever exercised).
74769         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
74770
74771         2006-03-19  Jim Meyering  <jim@meyering.net>
74772
74773         Work even in a chroot where d_ino values for entries in "/"
74774         don't match the stat.st_ino values for the same names.
74775         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
74776         number, iterate through all entries again, using lstat instead.
74777         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
74778         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
74779
74780         * lib/getcwd.c (__getcwd): Clarify a comment.
74781         Use memcpy in place of a call to strcpy.
74782
74783         2006-03-12  Jim Meyering  <jim@meyering.net>
74784
74785         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
74786         matches that of the current directory (which we're about to chdir ".."
74787         out of), then save the dev-ino of the parent, instead.
74788
74789         * lib/same-inode.h (SAME_INODE): New file/macro.
74790         * lib/chdir-safer.c (SAME_INODE): Remove definition.
74791         Include "same-inode.h", instead.
74792         * lib/same.c: Likewise.
74793         * lib/cycle-check.h: Include "same-inode.h".
74794         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
74795         * lib/cycle-check.c (SAME_INODE): Remove definition.
74796         * lib/root-dev-ino.h: Include "same-inode.h".
74797
74798         2006-03-11  Eric Blake  <ebb9@byu.net>
74799
74800         * lib/same.c (same_name): s/base_name/last_component/
74801         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
74802         * lib/filenamecat.c (file_name_concat): Likewise.
74803
74804         2006-03-11  Eric Blake  <ebb9@byu.net>,
74805                     Paul Eggert  <eggert@cs.ucla.edu>
74806
74807         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
74808         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
74809         drive prefix.
74810         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
74811         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
74812         (last_component): New method.
74813         * lib/dirname.c (dir_len): Determine when drive letters need a
74814         subsequent slash.  Preserve // when it is special.
74815         (dir_name): Don't append dot when drive letter is absolute.
74816         [TEST_DIRNAME]: Move into a full-blown gnulib test.
74817         * lib/basename.c (base_name): New semantics - malloc the result.
74818         Preserve // when it is special.  Preserve relative files that look
74819         like drive letters.
74820         (base_len): Preserve // when it is special.
74821         (last_component): New method, similar to old base_name semantics.
74822         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
74823         base_name.  Strip redundant slashes from ///.
74824
74825 2006-07-03  Jim Meyering  <jim@meyering.net>
74826
74827         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
74828         macro is used before the first cycle_check call.
74829
74830 2006-07-03  Eric Blake  <ebb9@byu.net>
74831
74832         * modules/dirname (Depends-on): Add xstrndup.
74833
74834 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
74835
74836         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
74837         test cases, so that config.log is a bit easier to follow.
74838
74839 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
74840
74841         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
74842         both are 64 bits, since this seems to be the tradition, and this
74843         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
74844         we ever run into a host that prefers long long to long in this
74845         case, we'll need another configure-time test.  Problem reported by
74846         Jim Meyering.
74847
74848 2006-07-02  Eric Blake  <ebb9@byu.net>
74849
74850         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
74851
74852 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74853
74854         * modules/inttypes (Depends-on): No longer depends on stdint.
74855         * modules/stdint (Description): Say more about assumptions.
74856         Say that the fast types might differ.  Say macros are used.
74857         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
74858         (Makefile.am): Revise list of substituted symbols to match
74859         new stdint.m4.
74860         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
74861         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
74862         * tests/test-stdint.c (verify_same_types)
74863         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
74864         the code conforms to C99/C89.
74865         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
74866         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
74867
74868 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74869
74870         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
74871         but fix a bug, by requiring at least 64 bits.
74872         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
74873         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
74874         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
74875         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74876
74877         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
74878         changes.  Make 2.59 a prerequisite.  Check and substitute for
74879         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
74880         inttypes.h.  Do not use special include files; just use the
74881         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
74882         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
74883         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
74884         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
74885         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
74886         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
74887         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
74888         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
74889         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
74890         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
74891         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
74892         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
74893         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
74894         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
74895         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
74896         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
74897         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
74898         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
74899         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
74900         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
74901         WINT_MAX.  Check for C99 conformance more strictly, by detecting
74902         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
74903         not check for things that C99 does not require, e.g., int8_t.  If
74904         a test isn't needed unless <stdint.h> isn't working, and is
74905         unlikely to be needed for any other reason, then don't do it
74906         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
74907         size_t, since we assume C89 freestanding at least.  Do not check
74908         for sig_atomic_t, wchar_t, or wint_t, since the code now does
74909         the right thing even if the types are not defined.  Instead use:
74910         (gl_STDINT_TYPE_PROPERTIES): New macro.
74911         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
74912         testing whether <sys/types.h> clashes, as Autoconf does this for
74913         us now.  All uses removed.
74914         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
74915         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
74916         (gl_CHECK_TYPE_SAME):
74917         Remove; no longer needed.
74918         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
74919         exists, since we'll return 0 anyway in that case.
74920         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
74921
74922 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74923
74924         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
74925         possible collision with system files.
74926         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
74927         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
74928         WCHAR_MIN and WCHAR_MAX in this case.
74929         (<stddef.h>): Do not include; no longer needed.
74930         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
74931         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
74932         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
74933         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
74934         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
74935         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
74936         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
74937         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
74938         !defined(__c99))]: Include in this case too, since it's harmless
74939         now.
74940         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
74941         dangerous to do so.
74942         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
74943         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
74944         (_STDINT_MIN, _STDINT_MAX): New macros.
74945         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
74946         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
74947         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
74948         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
74949         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
74950         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
74951         macros, not typedefs; this simplifies things quite a bit.
74952         Use long int for all types narrower than int64_t.
74953         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
74954         Define in terms of long long int or int64_t or long int,
74955         not int64_t or int32_t.  This saves some compile-time testing.
74956         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
74957         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
74958         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
74959         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
74960         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
74961         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
74962         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
74963         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
74964         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
74965         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
74966         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74967         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74968         undef any previous version and define our own version, for
74969         simplicity and consistency with the new macros for types.
74970         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74971         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74972         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
74973         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
74974         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
74975         @WINT_T_SUFFIX@ to keep things simple here.
74976         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
74977         Simplify by assuming typical 8/16/32/64 host, since we're
74978         already doing that elsewhere anyway.
74979         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
74980         and assume long long int is 64 bits if available.  This
74981         speeds up 'configure'.
74982
74983 2006-07-01  Eric Blake  <ebb9@byu.net>
74984
74985         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
74986         Reported by Andreas Buening.
74987
74988 2006-07-01  Eric Blake  <ebb9@byu.net>
74989
74990         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
74991
74992 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74993
74994         * lib/getaddrinfo.c: fixed typo
74995
74996 2006-06-29  Jim Meyering  <jim@meyering.net>
74997
74998         * modules/strftime (Maintainer): Add my name, since with the
74999         FPRINTFTIME changes strftime.c has forked from glibc.
75000
75001 2006-06-29  Eric Blake  <ebb9@byu.net>
75002
75003         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75004
75005 2006-06-29  Eric Blake  <ebb9@byu.net>
75006
75007         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75008
75009 2006-06-29  Eric Blake  <ebb9@byu.net>
75010
75011         * lib/stat_.h: New file.
75012
75013 2006-06-29  Eric Blake  <ebb9@byu.net>
75014
75015         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75016         unused static function.
75017
75018 2006-06-29  Eric Blake  <ebb9@byu.net>
75019
75020         * doc/functions.texi (Function Portability): Document missing lstat
75021         on mingw.
75022
75023 2006-06-29  Eric Blake  <ebb9@byu.net>
75024
75025         * MODULES.html.sh: Add sys_stat.
75026         * modules/sys_stat: New module.
75027         * modules/mkstemp (Depends-on): Add sys_stat.
75028
75029 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75030
75031         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75032
75033 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75034
75035         * m4/c-bs-a.m4: Removed.
75036
75037 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75038
75039         * lib/strftime.c: Assume strftime() exists.
75040
75041 2006-06-29  Derek Price  <derek@ximbiot.com>
75042
75043         * modules/c-bs-a: Removed - \a is C89.
75044         * MODULES.html.sh: Remove c-bs-a.
75045
75046 2006-06-29  Bruno Haible  <bruno@clisp.org>
75047
75048         * modules/wcwidth (License): Change to LGPL.
75049
75050 2006-06-28  Simon Josefsson  <jas@extundo.com>
75051
75052         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75053         on _WIN32.
75054
75055         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75056         getnameinfo.
75057
75058 2006-06-28  Simon Josefsson  <jas@extundo.com>
75059
75060         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75061
75062 2006-06-28  Simon Josefsson  <jas@extundo.com>
75063
75064         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75065         functions there.  It will succeed on Windows XP, but on Windows
75066         2000 and (presumably) earlier, it will fail, and use the internal
75067         re-implementation.
75068         (use_win32_p): New function.
75069         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75070         Support AI_NUMERICSERV to disable getservbyname.
75071         (getnameinfo): New function, only supports
75072         NI_NUMERICHOST|NI_NUMERICSERV for now.
75073
75074         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75075         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75076         getnameinfo.
75077
75078 2006-06-28  Eric Blake  <ebb9@byu.net>
75079
75080         * modules/wcwidth: New file.
75081         * modules/mbchar (Depends-on): Add wcwidth.
75082         * modules/mbswidth (Depends-on): Add wcwidth.
75083         * MODULES.html.sh: Add wcwidth.
75084
75085 2006-06-28  Eric Blake  <ebb9@byu.net>
75086
75087         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75088         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75089
75090 2006-06-28  Eric Blake  <ebb9@byu.net>
75091
75092         * lib/xvasprintf.h: Fix comments.
75093
75094 2006-06-28  Eric Blake  <ebb9@byu.net>
75095
75096         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75097         * lib/mbswidth.c (wcwidth): Move from here...
75098         * lib/wcwidth.h: ...to this new file.
75099
75100 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75101
75102         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75103
75104         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75105         it's obsolete.
75106         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75107
75108 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75109
75110         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75111         Autoconf 2.60 says this stuff was obsolete.
75112
75113 2006-06-28  Bruno Haible  <bruno@clisp.org>
75114
75115         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75116
75117 2006-06-28  Bruno Haible  <bruno@clisp.org>
75118
75119         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75120         gt_TYPE_WCHAR_T.
75121
75122 2006-06-28  Bruno Haible  <bruno@clisp.org>
75123
75124         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75125         declaration for wcwidth.
75126         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75127
75128 2006-06-28  Bruno Haible  <bruno@clisp.org>
75129
75130         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75131         (mkdir): Define using _mkdir.
75132
75133 2006-06-28  Bruno Haible  <bruno@clisp.org>
75134
75135         * lib/getaddrinfo.h: Fix POSIX URL.
75136         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75137         _WIN32.
75138         (use_win32_p): Make static.
75139         (getaddrinfo): Reject service name if it is empty or does not consist
75140         solely of decimal digits, or if its value is > 65535.
75141         (getnameinfo): Remove useless casts.
75142
75143 2006-06-27  Simon Josefsson  <jas@extundo.com>
75144
75145         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75146         Eggert and Martin Lambers.
75147
75148 2006-06-27  Simon Josefsson  <jas@extundo.com>
75149
75150         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75151         Eggert and Martin Lambers.
75152
75153 2006-06-27  Bruno Haible  <bruno@clisp.org>
75154
75155         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75156         result to 0, not to empty.
75157         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75158
75159 2006-06-27  Bruno Haible  <bruno@clisp.org>
75160
75161         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75162
75163 2006-06-26  Simon Josefsson  <jas@extundo.com>
75164
75165         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75166         present.
75167
75168 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75169
75170         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75171         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75172         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75173
75174 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75175
75176         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75177
75178 2006-06-26  Bruno Haible  <bruno@clisp.org>
75179
75180         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75181
75182 2006-06-26  Bruno Haible  <bruno@clisp.org>
75183
75184         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75185
75186 2006-06-26  Bruno Haible  <bruno@clisp.org>
75187
75188         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75189         SGI C compiler in pre-C99 mode.
75190         Suggested by Mark D. Baushke and Larry Jones.
75191
75192 2006-06-26  Bruno Haible  <bruno@clisp.org>
75193
75194         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75195         WCHAR_MAX.
75196         Reported by Mark D. Baushke and Larry Jones.
75197
75198 2006-06-26  Bruno Haible  <bruno@clisp.org>
75199
75200         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75201         in pre-C99 mode.
75202         Suggested by Mark D. Baushke and Larry Jones.
75203
75204 2006-06-23  Simon Josefsson  <jas@extundo.com>
75205             Bruno Haible  <bruno@clisp.org>
75206
75207         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75208         Emit mostlyclean-local rule.
75209         (func_emit_tests_Makefile_am): Likewise.
75210         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75211
75212 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75213
75214         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75215
75216 2006-06-23  Bruno Haible  <bruno@clisp.org>
75217
75218         * tests/test-stdint.c: Update to match ISO C 99 Technical
75219         Corrigendum 1.
75220
75221 2006-06-23  Bruno Haible  <bruno@clisp.org>
75222
75223         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75224
75225 2006-06-23  Bruno Haible  <bruno@clisp.org>
75226
75227         * lib/stdint_.h: Treat IRIX like OpenBSD.
75228
75229 2006-06-23  Bruno Haible  <bruno@clisp.org>
75230
75231         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75232         ISO C 99 Technical Corrigendum 1.
75233
75234 2006-06-22  Simon Josefsson  <jas@extundo.com>
75235
75236         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75237         MinGW.
75238
75239 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75240
75241         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75242         needed.  Some compiler complained about some of them.  Problem reported
75243         by Larry Jones in
75244         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75245
75246 2006-06-21  Simon Josefsson  <jas@extundo.com>
75247
75248         * tests/test-getaddrinfo.c: New file.
75249
75250         * modules/getaddrinfo-tests: New file.
75251
75252         * MODULES.html.sh: Add inet_pton.
75253
75254         * modules/inet_pton: New file.
75255
75256 2006-06-21  Simon Josefsson  <jas@extundo.com>
75257
75258         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75259         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75260         of using the (limited) gnulib implementation on Windows XP.
75261
75262         * m4/inet_pton.m4: New file.
75263
75264 2006-06-21  Simon Josefsson  <jas@extundo.com>
75265
75266         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75267         variable.
75268
75269         * lib/socket_.h: Don't define WINVER.
75270
75271         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75272         slightly modified to work in gnulib.
75273
75274 2006-06-21  Simon Josefsson  <jas@extundo.com>
75275
75276         * doc/gnulib.texi (Windows sockets): Add.
75277
75278 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75279
75280         * lib/read-file.c (fread_file): Start with buffer allocation of
75281         0 bytes rather than 1 byte; this simplifies the code.
75282         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75283         code to free buffer and save/restore errno.
75284         (internal_read_file): Remove unused local.
75285
75286 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75287
75288         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75289         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75290         Problem reported by Denis Excoffier in
75291         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75292
75293 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75294
75295         * modules/sys_socket, modules/socklen: Include sys/types since
75296         FreeBSD 4.x's sys/socket.h needs it.
75297
75298 2006-06-19  Simon Josefsson  <jas@extundo.com>
75299
75300         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75301
75302 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75303
75304         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75305
75306 2006-06-19  Bruno Haible  <bruno@clisp.org>
75307
75308         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75309         and FULL_PATH_INTTYPES_H in angle brackets.
75310         Reported by Mark D. Baushke <mdb@gnu.org>.
75311
75312 2006-06-17  Eric Blake  <ebb9@byu.net>
75313
75314         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75315         errno.
75316
75317 2006-06-17  Bruno Haible  <bruno@clisp.org>
75318
75319         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75320         <sys/inttypes.h>.
75321
75322 2006-06-17  Bruno Haible  <bruno@clisp.org>
75323
75324         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
75325         whether errno is declared. Assume <errno.h> declares errno.
75326
75327 2006-06-17  Bruno Haible  <bruno@clisp.org>
75328
75329         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
75330
75331 2006-06-17  Bruno Haible  <bruno@clisp.org>
75332
75333         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
75334         problem on Solaris 2.5.1.
75335
75336 2006-06-16  Eric Blake  <ebb9@byu.net>
75337
75338         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75339         * lib/unicodeio.c [!defined errno]: Likewise.
75340         * lib/strtol.c [!defined errno]: Likewise.
75341         * lib/strtod.c [!defined errno]: Likewise.
75342
75343 2006-06-15  Eric Blake  <ebb9@byu.net>
75344
75345         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75346
75347 2006-06-15  Eric Blake  <ebb9@byu.net>
75348
75349         * config/srclist.txt (ssize_t.m4): Lose sync.
75350
75351 2006-06-15  Bruno Haible  <bruno@clisp.org>
75352
75353         * modules/stdint (Files): Include m4/full-header-path.m4,
75354         m4/size_max.m4, m4/wchar_t.m4.
75355         (Makefile.am): Many more substitutions.
75356         * modules/stdint-tests: New file.
75357         * tests/test-stdint.c: New file.
75358
75359 2006-06-15  Bruno Haible  <bruno@clisp.org>
75360
75361         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
75362         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
75363         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
75364         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
75365         gl_CHECK_TYPE_SAME): New macros.
75366
75367 2006-06-15  Bruno Haible  <bruno@clisp.org>
75368
75369         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
75370
75371 2006-06-15  Bruno Haible  <bruno@clisp.org>
75372
75373         * lib/stdint_.h: Rewritten to be fully auto-configured.
75374         Fixes bug on HP-UX/IA64.
75375
75376 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
75377
75378         * lib/getdate.y (__attribute__): Don't define if already defined.
75379         Problem reported by Larry Jones.
75380         * lib/utimens.c (__attribute__): Likewise.
75381
75382 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
75383
75384         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
75385         reported by Andreas Schwab.
75386
75387 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75388             Bruno Haible  <bruno@clisp.org>
75389
75390         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
75391         check for the declaration of strnlen and a run test that exposes the
75392         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
75393         rpl_strndup.
75394
75395 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75396             Bruno Haible  <bruno@clisp.org>
75397
75398         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
75399
75400 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75401
75402         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
75403         compile test, for Tru64 4.0D.
75404
75405 2006-05-28  Karl Berry  <karl@gnu.org>
75406
75407         * config/srclist.txt (printf-args.c): lose sync.
75408
75409 2006-05-26  Martin Lambers  <marlam@marlam.de>
75410
75411         * lib/getpass.c: Updates the test for the native W32 API, and adds
75412         missing includes, thus fixing compilation warnings.
75413
75414 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75415
75416         * lib/exclude.c (exclude_fnmatch): New function.
75417         (excluded_file_name): Call exclude_fnmatch.
75418         * lib/exclude.h (excluded_file_name): New prototype
75419
75420 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
75421
75422         * lib/tempname.c (small_open, large_open): New macros.
75423         (__open, __open64) [!_LIBC]: Remove.
75424         (__gen_tempname): Use small_open and large_open instead of __open
75425         and __open64.  This fixes a portability bug on HP-UX 11.11i
75426         reported by Simon Wing-Tang in
75427         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
75428
75429 2006-05-24  Bruno Haible  <bruno@clisp.org>
75430
75431         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
75432         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
75433         Reported by Thorsten Maerz <torte@netztorte.de> via
75434         Aaron Stone <aaron@serendipity.cx>.
75435
75436 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75437
75438         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
75439         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
75440         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
75441         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
75442         not really conditional on the cache.
75443         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
75444
75445 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75446
75447         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
75448         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
75449         (my_usleep): Don't mishandle maximum value.
75450
75451 2006-05-19  Jim Meyering  <jim@meyering.net>
75452
75453         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
75454
75455 2006-05-17  Bruno Haible  <bruno@clisp.org>
75456
75457         Cygwin portability.
75458         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
75459
75460 2006-05-17  Bruno Haible  <bruno@clisp.org>
75461
75462         * lib/stdint_.h: Fix recognition of Cygwin.
75463
75464 2006-05-15  Bruno Haible  <bruno@clisp.org>
75465
75466         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
75467         on libtool patch by Ralf Wildenhues.
75468
75469 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
75470
75471         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
75472         test for C99 conformance; (bool) 0.5 is an integer constant
75473         expression, but (bool) -0.5 is not.  Problem reported by Fedor
75474         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
75475
75476 2006-05-11  Simon Josefsson  <jas@extundo.com>
75477
75478         * m4/xvasprintf.m4: Fix obvious typo.
75479
75480 2006-05-11  Jim Meyering  <jim@meyering.net>
75481
75482         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
75483         James Lemley.
75484
75485 2006-05-10  Simon Josefsson  <jas@extundo.com>
75486
75487         * lib/md4.c: Typo fix, update copyright years.
75488         (K1, K2): Don't use L because it turn computations into 64-bit on
75489         64-bit platforms.
75490
75491 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
75492
75493         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
75494         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
75495         unwanted sign propagation, e.g., on hosts with 64-bit int.
75496         There still are some problems with reeelly weird theoretical hosts
75497         (e.g., 33-bit int) but it's not worth worrying about now.
75498         * lib/sha1.c (rol): Likewise.
75499         (K1, K2, K3, K4): Remove unnecessary L suffix.
75500
75501 2006-05-10  Bruno Haible  <bruno@clisp.org>
75502
75503         * lib/des.c: Cast to avoid warnings.
75504
75505 2006-05-09  Bruno Haible  <bruno@clisp.org>
75506
75507         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
75508         (Depends-on): Depend also on xsize, stdarg.
75509         (configure.ac): Add gl_XVASPRINTF.
75510
75511 2006-05-09  Bruno Haible  <bruno@clisp.org>
75512
75513         * m4/xvasprintf.m4: New file.
75514
75515 2006-05-09  Bruno Haible  <bruno@clisp.org>
75516
75517         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
75518         (EOVERFLOW): Define fallback value.
75519         (xstrcat): New function.
75520         (xvasprintf): Recognize the special case of a string concatenation.
75521
75522 2006-05-08  Eric Blake  <ebb9@byu.net>
75523
75524         * gnulib-tool (func_version): Base copyright year on CVS date.
75525         (func_emit_copyright_notice): New function.
75526         (func_emit_lib_Makefile_am): Use it.
75527         (func_emit_tests_Makefile_am): Likewise.
75528         (func_import): Likewise.
75529
75530 2006-05-08  Bruno Haible  <bruno@clisp.org>
75531
75532         * modules/stdarg: New file.
75533         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
75534
75535 2006-05-08  Bruno Haible  <bruno@clisp.org>
75536
75537         * m4/stdarg.m4: New file, from GNU gettext.
75538
75539 2006-05-08  Bruno Haible  <bruno@clisp.org>
75540
75541         * config/srclist.txt (build-aux/config.rpath): different from latest
75542         release.
75543
75544 2006-05-08  Bruno Haible  <bruno@clisp.org>
75545
75546         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
75547
75548 2006-05-05  Jim Meyering  <jim@meyering.net>
75549
75550         * m4/warning.m4: New file, derived from bison's file by the same name.
75551
75552 2006-05-03  Bruno Haible  <bruno@clisp.org>
75553
75554         * lib/stdint_.h: Shorter URL.
75555         * lib/inttypes.h: Likewise.
75556
75557 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75558
75559         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
75560
75561 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75562
75563         * lib/verify.h: Document the internals better.  Most of this change
75564         was written by Bruno Haible.
75565
75566 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75567
75568         * doc/verify.texi: New file, partly based on a proposal by
75569         Bruno Haible.
75570
75571 2006-05-02  Bruno Haible  <bruno@clisp.org>
75572
75573         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
75574         test from here...
75575         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
75576
75577 2006-04-29  Bruno Haible  <bruno@clisp.org>
75578
75579         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
75580         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
75581
75582 2006-04-29  Bruno Haible  <bruno@clisp.org>
75583
75584         * gnulib-tool: Make --update option actually work.
75585
75586 2006-04-29  Bruno Haible  <bruno@clisp.org>
75587
75588         * doc/gcd.texi: New file.
75589         * doc/gnulib.texi: Include it.
75590
75591 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
75592
75593         * lib/getdate.y (get_date): When adding relative date, start with the
75594         initial time, not with the result of the first mktime call.
75595
75596 2006-04-25  Bruno Haible  <bruno@clisp.org>
75597
75598         * gnulib-tool (func_import): Output the include directives in three
75599         blocks, sorted separately.
75600         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75601
75602 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75603
75604         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
75605         to define main with arguments, for C++.  Reported by Eric Blake.
75606         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
75607         Prefer 'int main ()' to 'int main (void)', for C++.
75608         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
75609         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
75610         for 'main', for C99 and C++.
75611
75612 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75613
75614         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
75615         Don't assume that exit status -1 is valid.
75616         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75617         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
75618         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
75619         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
75620         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
75621         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
75622         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
75623         functions can be used without declaring them, or that you can
75624         exit with status -1.
75625         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
75626
75627 2006-04-24  Karl Berry  <karl@gnu.org>
75628
75629         * config/srclist.txt (longdouble.m4): sync lost.
75630
75631 2006-04-24  Eric Blake  <ebb9@byu.net>
75632
75633         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
75634
75635 2006-04-24  Bruno Haible  <bruno@clisp.org>
75636
75637         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
75638         poll() implementation in AIX.
75639         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75640
75641 2006-04-24  Bruno Haible  <bruno@clisp.org>
75642
75643         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
75644         assigned exactly once.
75645
75646 2006-04-23  Claudio Fontana  <claudio@gnu.org>
75647             Bruno Haible  <bruno@clisp.org>
75648
75649         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
75650         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
75651         for AM_CPPFLAGS.
75652
75653 2006-04-23  Bruno Haible  <bruno@clisp.org>
75654
75655         * modules/copy-file: Depend on unistd.
75656         * modules/execute: Likewise.
75657         * modules/fatal-signal: Likewise.
75658         * modules/findprog: Likewise.
75659         * modules/mkdtemp : Likewise.
75660         * modules/pipe: Likewise.
75661         * modules/wait-process: Likewise.
75662
75663 2006-04-23  Bruno Haible  <bruno@clisp.org>
75664
75665         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
75666         condition was already detected.
75667         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75668
75669 2006-04-23  Bruno Haible  <bruno@clisp.org>
75670
75671         * lib/copy-file.c: Include <unistd.h> unconditionally.
75672         * lib/execute.c: Likewise.
75673         * lib/fatal-signal.c: Likewise.
75674         * lib/findprog.c: Likewise.
75675         * lib/mkdtemp.c: Likewise.
75676         * lib/pipe.h: Likewise.
75677         * lib/pipe.c: Likewise.
75678         * lib/wait-process.h: Likewise.
75679
75680 2006-04-23  Bruno Haible  <bruno@clisp.org>
75681
75682         * gnulib-tool (func_usage): Fix --import description. Document
75683         --update.
75684         (func_import): Create temporary file in a temporary directory, if
75685         --dry-run is specified. Silence errors from 'grep' when there are no
75686         m4 files in $m4dir.
75687         (func_create_testdir): Silence errors from 'grep' when there are no
75688         m4 files in $m4dir.
75689         Reported by Karl Berry <karl@freefriends.org>.
75690
75691 2006-04-20  Bruno Haible  <bruno@clisp.org>
75692
75693         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
75694         one argument, so that the code will be portable to Autoconf 2.60.
75695         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
75696         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75697         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
75698
75699 2006-04-19  Derek Price  <derek@ximbiot.com>
75700             Eric Blake  <ebb9@byu.net>
75701
75702         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
75703         rather than "/full/path.h".  Update comment to match.  Shorten &
75704         generalize m4_translit call via AS_TR_CPP.
75705
75706 2006-04-19  Derek Price  <derek@ximbiot.com>
75707             Eric Blake  <ebb9@byu.net>
75708
75709         * lib/inttypes.h: Correct grammar in comment.
75710
75711 2006-04-18  Derek Price  <derek@ximbiot.com>
75712             Paul Eggert  <eggert@cs.ucla.edu>
75713
75714         * modules/inttypes: New file.
75715         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
75716
75717 2006-04-18  Derek Price  <derek@ximbiot.com>
75718             Paul Eggert  <eggert@cs.ucla.edu>
75719
75720         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
75721         New files.
75722
75723 2006-04-18  Derek Price  <derek@ximbiot.com>
75724             Paul Eggert  <eggert@cs.ucla.edu>
75725
75726         * lib/inttypes.h: New file.
75727         * lib/strtoimax.c: Assume <inttypes.h>.
75728
75729 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
75730
75731         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
75732         isn't mounted.  Problem reported by Kir Kolyshkin.
75733
75734 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
75735
75736         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
75737         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
75738         Derek R. Price.
75739         * lib/regex.h (RE_DUP_MAX): Update comment to match current
75740         implementation.
75741
75742 2006-04-12  Eric Blake  <ebb9@byu.net>
75743
75744         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
75745         is now done automatically by the corresponding Autoconf macro.
75746
75747 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
75748
75749         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
75750         time_r.h.
75751
75752 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75753
75754         Merge regex changes from libc, removing some of our
75755         POSIX-conformance changes that were rejected and redoing them in a
75756         less-intrusive way.
75757
75758         * lib/regcomp.c (re_compile_internal, init_dfa):
75759         Length arg is now size_t, not Idx.  All uses changed.
75760         (peek_token): Forward decl now says internal_function.
75761         (__re_error_msgid, __re_error_msgid_idx):
75762         Now static rather than extern with attribute_hidden.
75763         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
75764         For some reason libc prefers K&R style defns for external functions.
75765         (regerror) [!defined _LIBC]: Likewise.
75766         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
75767         (seek_collating_symbol_entry, lookup_collation_sequence_value):
75768         (build_range_exp, build_collating_symbol):
75769         Use K&R-style defn.
75770         (re_compile_fastmap): Use '\0' to memset, not 0.
75771         (utf8_sb_map): Make the calculations more obvious.
75772         (init_dfa, parse_bracket_exp, build_charclass_op):
75773         Call calloc and cast result, as glibc does.
75774         (init_word_char, fetch_token, peek_token, peek_token_bracket):
75775         (build_range_exp, build_collating_symbol):
75776         Now internal functions.
75777
75778         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
75779
75780         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
75781         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
75782         Don't depend on VMS; depend on __VMS instead, for POSIX
75783         namespace cleanness.
75784         (regoff_t): Define to ssize_t, not long int.
75785
75786         Remove the REG_ macros named below.  Instead, make the old names
75787         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
75788         __USE_GNU_REGEX.
75789         (REG_BACKSLASH_ESCAPE_IN_LISTS):
75790         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
75791         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
75792         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
75793         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
75794         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
75795         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
75796         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
75797         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
75798         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
75799         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
75800         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
75801         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
75802         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
75803         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
75804         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
75805         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
75806         (REG_NREGS):
75807         Remove.  All uses replaced by the old RE_* names.
75808         (RE_BACKSLASH_ESCAPE_IN_LISTS):
75809         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
75810         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
75811         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
75812         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
75813         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
75814         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
75815         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
75816         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
75817         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
75818         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
75819         Don't bother having these macros be independent of each others'
75820         values, since they no longer exist in the POSIX name space.
75821
75822         Rename the following member names back to their old names,
75823         unless !__USE_GNU_REGEX.  All uses changed back.
75824         (buffer): Renamed from re_buffer.
75825         (allocated): Renamed from re_allocated.
75826         (used): Renamed from re_used.
75827         (syntax): Renamed from re_syntax.
75828         (fastmap): Renamed from re_fastmap.
75829         (translate): Renamed from re_translate.
75830         (can_be_null): Renamed from re_can_be_null.
75831         (regs_allocated): Renamed from re_regs_allocated.
75832         (fastmap_accurate): Renamed from re_fastmap_accurate.
75833         (no_sub): Renamed from re_no_sub.
75834         (not_bol): Renamed from re_not_bol.
75835         (not_eol): Renamed from re_not_eol.
75836         (newline_anchor): Renamed from re_newline_anchor.
75837         (num_regs): Renamed from rm_num_regs.
75838         (start): Renamed from rm_start.
75839         (end): Renamed from rm_end.
75840
75841         (free_state): Move up a bit.
75842
75843         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
75844         #define to be empty.
75845         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
75846         when that is what is intended.
75847         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
75848         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
75849         (MAX): New macro.
75850         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
75851         All uses changed back to re_malloc, etc.  It's now the caller's
75852         responsibility to check for overflow; all callers changed.
75853         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
75854         (re_x2nrealloc): Remove.
75855         (free_state): Remove decl.
75856
75857         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
75858         (re_set_registers, re_exec):
75859         Use K&R-style defn.
75860
75861         2006-01-31  Roland McGrath  <roland@redhat.com>
75862
75863         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
75864         Reported by Mike Frysinger <vapier@gentoo.org>.
75865
75866         2006-01-15  Andreas Jaeger  <aj@suse.de>
75867
75868         [BZ #1950]
75869         * lib/regex_internal.c (re_string_reconstruct): Adjust for
75870         build_wcs_upper_buffer change.
75871         (build_wcs_upper_buffer): Change return type.
75872
75873         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
75874
75875         * lib/regex_internal.h: Include <stdint.h> if available.
75876
75877         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
75878
75879         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
75880
75881         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
75882
75883         * lib/regcomp.c: Adjust for changed secondary hash function.
75884
75885         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
75886
75887         * lib/regex.h: Pretty printing.
75888         Clean up namespace a bit.
75889
75890         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
75891
75892         * lib/regexec.c (update_cur_sifted_state, check_arrival,
75893         check_arrival_add_next_nodes): Avoid using uninitialized variable.
75894
75895         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75896                     Ulrich Drepper  <drepper@redhat.com>
75897
75898         [BZ #1302]
75899         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
75900         changed.
75901         (bitset_word_t): Renamed from bitset_word.  All uses changed.
75902
75903         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
75904
75905         [BZ #281]
75906         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
75907         * lib/regcomp.c: Remove unnecessary uses of
75908         unsigned RE_TRANSLATE_TYPE.
75909         * lib/regex_internal.h: Likewise.
75910         * lib/regex_internal.c: Likewise.
75911         * lib/regexec.c: Likewise.
75912         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
75913
75914         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
75915
75916         * lib/regexec.c (find_recover_state): Remove unnecessary
75917         initialization.
75918         (transit_state_bkref): Make DFA a const pointer.
75919         (get_subexp): Likewise.
75920         (check_arrival): Likewise.
75921         (update_cur_sifted_state): Likewise.
75922         (re_search_internal): Likewise.
75923         (prune_impossible_nodes): Likewise.
75924         (acquire_init_state_context): Likewise.
75925         (proceed_next_node): Likewise.
75926         (set_regs): Likewise.
75927         (free_fail_stack_return): Likewise.
75928         (check_arrival_expand_ecl): Mark DFA parameter as const.
75929         (check_arrival_expand_ecl_sub): Likewise.
75930         (check_subexp_limits): Likewise.
75931         (sub_epsilon_src_nodes):  Likewise.
75932         (add_epsilon_src_nodes):  Likewise.
75933         (merge_state_array): Likewise.
75934         (update_regs): Likewise.
75935         (build_trtable): Likewise.
75936         (sift_states_backward): Mark MCTX parameter as const.
75937         (build_sifted_states): Likewise.
75938         (update_cur_sifted_state): Likewise.
75939         (sift_states_mkref): Likewise.
75940         (check_arrival_expand_ecl): Mark eclosure as const.
75941         (check_dst_limits_calc_pos_1): Likewise.
75942         * lib/regex_internal.h (re_match_context_t): Make dfa a const
75943         pointer.
75944
75945         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
75946
75947         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
75948         (transit_state_sb): Likewise.
75949         (transit_state_mb): Likewise.
75950         (sift_states_iter_mb): Likewise.
75951         (check_arrival_add_next_nodes): Likewise.
75952         (check_node_accept_bytes): Change first parameter to pointer-to-const.
75953         [_LIBC] (re_search_2_stub): Use mempcpy.
75954
75955         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
75956         mbrtowc for very simple UTF-8 case.
75957
75958         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
75959         a pointer-to-const.
75960         (re_acquire_state_context): Likewise.
75961         * lib/regex_internal.h: Adjust prototypes.
75962
75963         * lib/regex.c: Prevent using C++ compilers.
75964
75965         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
75966         (re_acquire_state_context): Likewise.
75967
75968 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75969
75970         * modules/regex (Depends-on): Add ssize_t.
75971
75972 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75973
75974         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
75975         translation table.
75976
75977 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75978
75979         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
75980
75981 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
75982             Bruno Haible  <bruno@clisp.org>
75983
75984         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
75985         <sys/types.h> and <inttypes.h>.
75986
75987 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75988
75989         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
75990         `__error_t_defined', so argp.h will not typedef the former.
75991
75992 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
75993
75994         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
75995         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
75996         glibc names.  Even if glibc is changed to conform to POSIX, the
75997         traditional names will be available anyway, since regex depends on
75998         the extensions module.  Also, fix a longstanding typo in the
75999         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76000         reported by Emanuele Giaquinta.  Also, change sense of cached
76001         variable, so that the message makes sense.
76002
76003 2006-03-24  Simon Josefsson  <jas@extundo.com>
76004
76005         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76006         including some doc fixes.
76007         (base64_encode_alloc): Fix +1 bug on allocation failures.
76008
76009 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76010
76011         * lib/base64.c (base64_encode): Do not read past end of array with
76012         unsanitized input on systems with CHAR_BIT > 8.
76013
76014 2006-03-24  Eric Blake  <ebb9@byu.net>
76015
76016         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76017
76018 2006-03-22  Karl Berry  <karl@gnu.org>
76019
76020         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76021         * config/srclistvars.sh (COREUTILS): new var.
76022
76023 2006-03-17  Jim Meyering  <jim@meyering.net>
76024
76025         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76026         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76027
76028 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76029
76030         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76031         no longer needs it.  Instead, check that regoff_t is as least
76032         as wide as ptrdiff_t.
76033
76034         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76035         so that our regex.h stays compatible with the installed regex.
76036         This is helpful for installers who configure --without-included-regex.
76037         Problem reported by Emanuele Giaquinta.
76038
76039 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76040
76041         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76042         Typedef to long int, not to off_, as POSIX will likely change
76043         in that direction.
76044
76045 2006-03-15  Eric Blake  <ebb9@byu.net>
76046
76047         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76048
76049 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76050
76051         * lib/argp-help.c (validate_uparams): Fix typo
76052         * lib/argp-parse.c (argp_default_options): Consistently begin help
76053         messages with a lowercase letter.
76054
76055 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76056
76057         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76058         overrun buffers and shouldn't be used (much as gets shouldn't be
76059         used).
76060         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76061
76062 2006-03-08  Simon Josefsson  <jas@extundo.com>
76063
76064         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76065         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76066
76067 2006-03-08  Simon Josefsson  <jas@extundo.com>
76068
76069         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76070         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76071
76072 2006-03-08  Simon Josefsson  <jas@extundo.com>
76073
76074         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76075         signal that configure disabled the device.
76076
76077 2006-03-08  Simon Josefsson  <jas@extundo.com>
76078
76079         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76080         languages.
76081
76082 2006-03-07  Simon Josefsson  <jas@extundo.com>
76083
76084         * modules/getopt (Depends-on): Add unistd.
76085
76086         * modules/unistd: New file.
76087
76088 2006-03-07  Simon Josefsson  <jas@extundo.com>
76089
76090         * modules/gc-random: New file.
76091
76092 2006-03-07  Simon Josefsson  <jas@extundo.com>
76093
76094         * m4/unistd_h.m4: New file.
76095
76096 2006-03-07  Simon Josefsson  <jas@extundo.com>
76097
76098         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76099         test to be side-effect free by storing the result in the cache
76100         variable gl_cv_lib_readline, and moving the assignment of
76101         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76102         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76103
76104 2006-03-07  Simon Josefsson  <jas@extundo.com>
76105
76106         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76107         error on missing devices (the functions will return an error).
76108
76109         * m4/gc.m4: Move random stuff to gc-random.m4
76110
76111 2006-03-07  Simon Josefsson  <jas@extundo.com>
76112
76113         * lib/unistd_.h: New file.
76114
76115 2006-03-07  Simon Josefsson  <jas@extundo.com>
76116
76117         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76118
76119 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76120
76121         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76122         Problem reported by Juan Manuel Guerrero.
76123
76124 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76125
76126         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76127         the unistd module.
76128         * lib/getlogin_r.c: Likewise.
76129         * lib/getlogin_r.h: Likewise.
76130         * lib/glob.c: Likewise.
76131         * lib/pagealign_alloc.c: Likewise.
76132         * lib/unistd_.h: Remove; no longer needed.
76133
76134 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76135
76136         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76137         Add unistd.
76138         * modules/c-stack (Depends-on): Add unistd.
76139         * modules/getlogin_r: Likewise.
76140         * modules/glob: Likewise.
76141         * modules/pagealign_alloc: Likewise.
76142         * modules/unistd (Files): Remove lib/unistd_.h.
76143         (EXTRA_DIST): Remove.
76144         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76145         need unistd_.h.
76146         (MOSTLYCLEANFILES): Remove unistd.h-t.
76147
76148 2006-03-03  Simon Josefsson  <jas@extundo.com>
76149
76150         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76151
76152 2006-03-03  Simon Josefsson  <jas@extundo.com>
76153
76154         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76155         libidn and bison.
76156
76157 2006-03-03  Simon Josefsson  <jas@extundo.com>
76158
76159         * build-aux/maint.mk: Add indent target.
76160
76161 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76162
76163         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76164         our replacement poll.h in any case, to avoid a differing
76165         declaration from a system header.  Seen on AIX.
76166
76167 2006-03-01  Simon Josefsson  <jas@extundo.com>
76168
76169         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76170         <kasal@ucw.cz>.
76171
76172 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76173
76174         * modules/gettime (Depends-on): Add extensions module.
76175         * modules/nanosleep (Depends-on): Likewise.
76176         * modules/settime (Depends-on): Likewise.
76177
76178 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76179
76180         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76181         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76182         pedantically.
76183         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76184         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76185
76186         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76187         not "==".  Reported by Ralf Wildenhues.
76188
76189 2006-03-01  Karl Berry  <karl@gnu.org>
76190
76191         * doc/Copyright/request-*: new files, synced from gnuorg.
76192
76193 2006-03-01  Karl Berry  <karl@gnu.org>
76194
76195         * config/srclist.txt (Copyright/*): new entries.
76196
76197 2006-02-28  Simon Josefsson  <jas@extundo.com>
76198
76199         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76200
76201 2006-02-27  Simon Josefsson  <jas@extundo.com>
76202
76203         * lib/base64.h: Indent #define's.  From Jim Meyering
76204         <jim@meyering.net>.
76205
76206 2006-02-27  Jim Meyering  <jim@meyering.net>
76207
76208         Revert the change of 2006-02-24, so these files can continue
76209         to be sync'd from gettext.
76210         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76211         of `config.h'.
76212
76213 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76214
76215         * modules/intprops: New file.
76216         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76217         Add intprops.
76218         * modules/getloadavg (Files): Remove lib/intprops.h.
76219         (Depends-on): Add intprops.
76220         * modules/human: Likewise.
76221         * modules/inttostr: Likewise.
76222         * modules/openat: Likewise.
76223         * modules/sig2str: Likewise.
76224         * modules/userspec: Likewise.
76225         * modules/utimecmp: Likewise.
76226         * modules/xnanosleep: Likewise.
76227         * modules/xstrtol: Likewise.
76228
76229 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76230
76231         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76232         * modules/lock-tests (TESTS): Use $(EXEEXT).
76233         * modules/tls-tests: Likewise.
76234         * modules/argp-tests: Likewise.
76235         (check_PROGRAMS): New var, replacing...
76236         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76237
76238 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76239
76240         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76241         `config.h'.
76242
76243 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76244
76245         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76246
76247 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76248
76249         Sync from coreutils.
76250         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76251         gl_CHDIR_SAFER.
76252
76253 2006-02-22  Jim Meyering  <jim@meyering.net>
76254
76255         Sync from coreutils.
76256         * m4/chdir-safer.m4: New file.
76257
76258 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76259
76260         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76261         AT_FDCWD exceeds INT_MAX.
76262         * lib/openat.h (AT_FDCWD): Likewise.
76263
76264 2006-02-17  Eric Blake  <address@hidden>
76265
76266         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76267
76268 2006-02-16  Simon Josefsson  <jas@extundo.com>
76269
76270         * modules/getaddrinfo (Depends-on): Add sys_socket.
76271
76272 2006-02-15  Simon Josefsson  <jas@extundo.com>
76273
76274         * build-aux/maint.mk: Add dsyntax-check rule.
76275
76276 2006-02-15  Eric Blake  <ebb9@byu.net>
76277
76278         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76279         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76280         'present but cannot compile' warnings on cygwin.
76281         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76282         use ws2tcpip.h if sys/socket.h works.
76283         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76284         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76285
76286 2006-02-14  Simon Josefsson  <jas@extundo.com>
76287
76288         * modules/maintainer-makefile (Files): Rename.
76289
76290         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76291         and (the local) Makefile.cfg to maint-cfg.mk.
76292
76293         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76294         to the latter.
76295
76296         * modules/maintainer-makefile: New module.
76297
76298         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76299         severaly stripped to make it possible to build it up from scratch
76300         with reliable tests.
76301
76302         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76303         fixes to permit overriding the default actions when configure and
76304         makefile are not available.
76305
76306 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76307
76308         Sync from coreutils.
76309         * modules/lstat (Depends-on): Don't depend on xalloc.
76310         (License): Change from GPL to LGPL, since this is now simply a
76311         replacement for a libc function.
76312
76313 2006-02-14  Jim Meyering  <jim@meyering.net>
76314
76315         Sync from coreutils.
76316
76317         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76318         failure on deficient systems, and simplify gnulib lgpl dependencies.
76319         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76320         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
76321
76322         * lib/xalloc-die.c: Remove unused definition of N_.
76323
76324 2006-02-14  Jim Meyering  <jim@meyering.net>
76325
76326         Sync from coreutils.
76327         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
76328         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
76329         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
76330         double-quote uses of that variable, to accommodate the rare case in
76331         which getmntent is available in none of the libraries checked.  This
76332         happens at least on FreeBSD 5.0.
76333
76334 2006-02-13  Simon Josefsson  <jas@extundo.com>
76335
76336         * gnulib-tool (Usage): Fix --import, from
76337         karl@freefriends.org (Karl Berry).
76338
76339 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76340
76341         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76342
76343 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76344
76345         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76346         "autoupdate" on 2005-12-12.
76347
76348 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76349
76350         * modules/closeout (Depends-on): Remove atexit.
76351
76352 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76353
76354         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
76355         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
76356
76357 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
76358
76359         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
76360         __EXTENSIONS__ if this causes compilation to fail.  Problem
76361         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
76362         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
76363
76364 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
76365
76366         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
76367         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
76368         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
76369         All uses changed.
76370
76371 2006-01-26  Simon Josefsson  <jas@extundo.com>
76372
76373         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
76374         prototype is visible on mingw32.
76375
76376         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
76377         for mingw32.
76378
76379         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
76380         mingw32).
76381
76382 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
76383
76384         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
76385         attempt to open for write; this always fails, at least on POSIX
76386         hosts.  This reinstates the 2006-01-09 change, which was
76387         inadvertently removed.
76388
76389 2006-01-26  Bruno Haible  <bruno@clisp.org>
76390
76391         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
76392         Reported by Paul Eggert.
76393
76394 2006-01-26  Bruno Haible  <bruno@clisp.org>
76395             Paul Eggert  <eggert@cs.ucla.edu>
76396
76397         * lib/stdbool_.h (_Bool)
76398         [(! (defined __cplusplus || defined __BEOS__)
76399           && !defined __GNUC__
76400           && !(defined __HP_cc || defined __xlc__
76401                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
76402                || defined __sgi))]:
76403         #define to signed char in these cases too; this simplifies
76404         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
76405         etc., separately) and makes it more conservative.
76406
76407 2006-01-25  Simon Josefsson  <jas@extundo.com>
76408
76409         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
76410         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
76411         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
76412
76413 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76414
76415         * lib/argp-namefrob.h: Bugfix. Remove stray #
76416
76417 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
76418
76419         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
76420         so that we test the test.
76421         Check for yet another HP-UX cc bug involving *bool |= bool.
76422
76423 2006-01-25  Karl Berry  <karl@gnu.org>
76424
76425         * config/srclist.txt (vasnprintf.c): sync lost.
76426
76427 2006-01-25  Jim Meyering  <jim@meyering.net>
76428
76429         Sync from the stable (b5) branch of coreutils:
76430
76431         * lib/fts.c (fts_children): Don't let close() clobber errno from
76432         failed fchdir().
76433
76434         * lib/fts.c (fts_stat): When following a symlink-to-directory,
76435         don't necessarily interpret stat-fails+lstat-succeeds as indicating
76436         a dangling symlink.  That can also happen at least for ELOOP.
76437         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
76438         FYI, this bug predates the inclusion of fts.c in coreutils.
76439
76440         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
76441         in their own block, so pre-c99 compilers don't object.
76442
76443         Avoid the double-free (first in fts_read, second in fts_close) that
76444         would occur when an `active' directory is made inaccessible (e.g.,
76445         via chmod a-x) during a traversal.
76446         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76447         before returning.  Reproduce this failure by
76448         mkdir -p a/b; cd a; chmod a-x . b
76449         Reported by Stavros Passas.
76450
76451 2006-01-25  Jim Meyering  <jim@meyering.net>
76452
76453         * lib/fileblocks.c: Remove more useless parentheses.
76454         * lib/readutmp.h: Likewise.
76455
76456 2006-01-25  Bruno Haible  <bruno@clisp.org>
76457
76458         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
76459         warnings.
76460         Reported by Paul Eggert.
76461
76462 2006-01-25  Bruno Haible  <bruno@clisp.org>
76463
76464         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
76465         rid of a trap command. For Solaris sh.
76466         Reported by Mark D. Baushke <mdb@gnu.org>.
76467
76468 2006-01-24  Simon Josefsson  <jas@extundo.com>
76469
76470         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
76471         Bruno.
76472
76473 2006-01-24  Karl Berry  <karl@gnu.org>
76474
76475         * config/srclist.txt (argp-namefrob.h): sync lost.
76476
76477 2006-01-24  Jim Meyering  <jim@meyering.net>
76478
76479         * modules/openat (Files): Add lib/intprops.h.
76480         From Mark D. Baushke.
76481
76482 2006-01-24  Jim Meyering  <jim@meyering.net>
76483
76484         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
76485         Reported by Mark D. Baushke.
76486
76487 2006-01-24  Jim Meyering  <jim@meyering.net>
76488
76489         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
76490
76491 2006-01-24  Bruno Haible  <bruno@clisp.org>
76492
76493         * modules/strnlen (Maintainer): Change from glibc to all.
76494
76495 2006-01-24  Bruno Haible  <bruno@clisp.org>
76496
76497         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
76498         Patch by Paul Eggert.
76499
76500 2006-01-24  Bruno Haible  <bruno@clisp.org>
76501
76502         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
76503         already has it.
76504         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
76505         2005-11-26.
76506
76507         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
76508         'signed char' to avoid problems with the built-in _Bool type.
76509         Reported by Paul Eggert on 2005-11-26.
76510
76511 2006-01-24  Bruno Haible  <bruno@clisp.org>
76512
76513         * gnulib-tool (func_import): Avoid constructing complicated sed
76514         expressions inside backquote.
76515         Report and solution by Mark D. Baushke <mdb@gnu.org>.
76516
76517 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
76518
76519         These changes imported from libc.
76520         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
76521         test and two separate function calls.
76522         * lib/strndup.c (__strndup): Add libc_hidden_def.
76523
76524 2006-01-23  Simon Josefsson  <jas@extundo.com>
76525
76526         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
76527         Remove the test_*_SOURCES variable: automake infers it by default.
76528         * modules/tls-tests: Likewise.
76529
76530 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76531
76532         Work around porting bugs reported by Dieter in
76533         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
76534         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
76535         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
76536         Include "getopt.h" first, to check interface.
76537         (getenv): Declare only if defined HAVE_DECL_GETENV &&
76538         !HAVE_DECL_GETENV.
76539         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
76540         (__strndup): Revert to K&R-style function dfns, the glibc style.
76541         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
76542         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
76543         Include strnlen.h first, to get prototype properly.
76544         (strnlen): Renamed from __strnlen.
76545         Remove weak alias.
76546
76547 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76548
76549         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
76550
76551 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76552
76553         * config/srclist.txt: Adjust to reflect glibc reorganization.
76554         This affects only comments.
76555
76556 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76557
76558          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
76559          Reported by Bruce Korb <bkorb@gnu.org>.
76560
76561 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
76562
76563         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
76564         to pacify gcc -Wswitch-default.
76565
76566 2006-01-22  Bruno Haible  <bruno@clisp.org>
76567
76568         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
76569         temporary buffer for sprintf, take into account the precision also
76570         for 'd', 'i', 'u', 'o', 'x', 'X'.
76571
76572 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76573
76574         * modules/argp-tests: New module
76575         * tests/test-argp.c: New file
76576         * tests/test-argp-2.sh: New file
76577
76578 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76579
76580         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
76581         (__argp_base_name): Removed
76582         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
76583         typo.
76584         (__argp_base_name): Provide macro definition or extern declaration
76585         depending on the configuration
76586
76587 2006-01-20  Simon Josefsson  <jas@extundo.com>
76588
76589         * modules/inet_ntop (Depends-on): Depend on sys_socket.
76590
76591 2006-01-20  Simon Josefsson  <jas@extundo.com>
76592
76593         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
76594
76595 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76596
76597         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
76598         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
76599         Suggested by Bruno Haible.
76600
76601 2006-01-20  Karl Berry  <karl@gnu.org>
76602
76603         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
76604         until changes propagate, I guess.
76605
76606 2006-01-19  Simon Josefsson  <jas@extundo.com>
76607
76608         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
76609
76610 2006-01-19  Simon Josefsson  <jas@extundo.com>
76611
76612         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
76613
76614 2006-01-19  Simon Josefsson  <jas@extundo.com>
76615
76616         * gnulib-tool: Set check_PROGRAMS.
76617
76618         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76619         modules/des-tests, modules/gc-arcfour-tests,
76620         modules/gc-arctwo-tests, modules/gc-des-tests,
76621         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76622         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76623         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76624         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76625         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76626         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
76627         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
76628         test_*_SOURCES.
76629
76630 2006-01-18  Simon Josefsson  <jas@extundo.com>
76631
76632         * modules/socklen (Depends-on): Depend on sys_socket.
76633
76634 2006-01-18  Simon Josefsson  <jas@extundo.com>
76635
76636         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76637         modules/des-tests, modules/gc-arcfour-tests,
76638         modules/gc-arctwo-tests, modules/gc-des-tests,
76639         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76640         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76641         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76642         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76643         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76644         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
76645         $(EXEEXT) to automake TESTS variable, for mingw32.
76646
76647 2006-01-17  Simon Josefsson  <jas@extundo.com>
76648
76649         * modules/socklen (Include): Need sys/socket.h.
76650
76651 2006-01-17  Bruno Haible  <bruno@clisp.org>
76652
76653         * modules/ssize_t (Include): Add <sys/types.h>.
76654
76655 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
76656
76657         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
76658         it's not portable and it doesn't work with cross-compiles.
76659         Problem reported by Bruno Haible.  Fix missing-$ typo in
76660         'test "gl_cv_ignore_unused_libraries" ...' that prevented
76661         -zignore from being used with Sun's C compiler.
76662
76663 2006-01-12  Simon Josefsson  <jas@extundo.com>
76664
76665         * lib/base64.c: Fix warning, reported by Bruno Haible
76666         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
76667
76668 2006-01-12  Bruno Haible  <bruno@clisp.org>
76669
76670         * modules/ldd: New file.
76671         * build-aux/ldd.sh.in: New file.
76672         * MODULES.html.sh (Support for building libraries and executables): Add
76673         ldd.
76674
76675 2006-01-12  Bruno Haible  <bruno@clisp.org>
76676
76677         * m4/ldd.m4: New file.
76678
76679 2006-01-12  Bruno Haible  <bruno@clisp.org>
76680
76681         * gnulib-tool (func_import, func_create_testdir): Don't go into an
76682         endless loop while replacing $auxdir with build-aux.
76683
76684 2006-01-11  Simon Josefsson  <jas@extundo.com>
76685
76686         * lib/stdint_.h (SIZE_MAX): Add missing (.
76687
76688 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
76689
76690         Sync from coreutils.
76691         * lib/md5.c: Fix commentary typos.
76692         (alignof, UNALIGNED_P): No need for a GCC-specific version.
76693         * lib/md5.h (__attribute__): Remove; unused.
76694         * lib/sha1.c: Fix commentary to match md5 better.
76695         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
76696         so that we don't need to worry about alignment.  All uses changed.
76697         This merges the 2005-10-28 md5 change into sha1.
76698
76699 2006-01-11  Jim Meyering  <jim@meyering.net>
76700
76701         Sync from coreutils.
76702         * lib/md5.c (OP): Fix spacing.
76703
76704 2006-01-11  Bruno Haible  <bruno@clisp.org>
76705
76706         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76707         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
76708         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
76709
76710 2006-01-11  Bruno Haible  <bruno@clisp.org>
76711
76712         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76713         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
76714         the "early" section as well.
76715
76716 2006-01-11  Bruno Haible  <bruno@clisp.org>
76717
76718         Avoid "ar: no archive members specified" error on MacOS X.
76719         * gnulib-tool (func_modules_add_dummy): New function.
76720         (func_import, func_create_testdir): Invoke it.
76721
76722 2006-01-11  Bruno Haible  <bruno@clisp.org>
76723
76724         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
76725         with $auxdir in AC_CONFIG_FILES statements.
76726
76727 2006-01-11  Bruno Haible  <bruno@clisp.org>
76728
76729         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76730         Initialize also noinst_HEADERS to empty.
76731
76732 2006-01-11  Bruno Haible  <bruno@clisp.org>
76733
76734         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
76735         variables.
76736         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
76737         autoreconf.
76738
76739 2006-01-11  Bruno Haible  <bruno@clisp.org>
76740
76741         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
76742         overridable by the user.
76743         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76744
76745 2006-01-10  Simon Josefsson  <jas@extundo.com>
76746
76747         * modules/sys_socket: New file.
76748
76749 2006-01-10  Simon Josefsson  <jas@extundo.com>
76750
76751         * m4/sys_socket_h.m4: New file.
76752
76753 2006-01-10  Simon Josefsson  <jas@extundo.com>
76754
76755         * lib/socket_.h: New file.
76756
76757 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76758
76759         * modules/readutmp (Maintainer): Add myself.
76760
76761 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76762
76763         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
76764         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
76765         People who are still concerned with buggy memcmp implementations
76766         can invoke gl_FUNC_MEMCMP themselves.
76767
76768 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76769
76770         * lib/regex_internal.h (BITSET_WORD_BITS):
76771         Work around a bug in 64-bit PGC (before version 6.1-2), where the
76772         preprocessor mishandles large unsigned values as if they were signed.
76773         Problem reported by Claudio Fontana in
76774         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
76775
76776 2006-01-10  Jim Meyering  <jim@meyering.net>
76777
76778         Avoid the double-free (first in fts_read, second in fts_close) that
76779         would occur when an `active' directory is made inaccessible (e.g.,
76780         via chmod a-x) during a traversal.
76781         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76782         before returning.  Reproduce this failure by
76783         mkdir -p a/b; cd a; chmod a-x . b
76784         Reported by Stavros Passas.
76785
76786         Sync from coreutils.
76787         * lib/sha1.c: Tweak grammar in a comment.
76788
76789 2006-01-10  Jim Meyering  <jim@meyering.net>
76790
76791         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
76792         Patch by Joerg Sonnenberger.
76793
76794 2006-01-10  Bruno Haible  <bruno@clisp.org>
76795
76796         * modules/readutmp: Depend on module free.
76797         * modules/strtok_r: Depend on module restrict.
76798
76799 2006-01-10  Bruno Haible  <bruno@clisp.org>
76800
76801         * modules/gettext (configure.ac): Add an invocation of
76802         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
76803
76804 2006-01-10  Bruno Haible  <bruno@clisp.org>
76805
76806         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
76807         Reported by Werner Lemberg <wl@gnu.org>.
76808
76809 2006-01-10  Bruno Haible  <bruno@clisp.org>
76810
76811         * lib/localcharset.c: Update from GNU gettext.
76812
76813 2006-01-10  Bruno Haible  <bruno@clisp.org>
76814
76815         * lib/argp.h (__const): Remove macro. Use const instead.
76816         * lib/argp-fmtstream.h (__const): Likewise.
76817         * lib/glob_.h (__const): Remove macro.
76818         * lib/glob-libc.h: Use const instead of __const.
76819
76820 2006-01-10  Bruno Haible  <bruno@clisp.org>
76821
76822         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
76823         variable.
76824         Needed to avoid an automake error regarding the 'gettext' module.
76825
76826 2006-01-09  Simon Josefsson  <jas@extundo.com>
76827
76828         * modules/inet_ntop (Depends-on): Add restrict.
76829
76830 2006-01-09  Simon Josefsson  <jas@extundo.com>
76831
76832         * modules/gc-rijndael-tests (License): Put under LGPL.
76833
76834         * modules/gc-des-tests (License): Likewise.
76835
76836         * modules/gc-arcfour-tests (License): Likewise.
76837
76838         * modules/gc-arctwo-tests (License): Likewise.
76839
76840         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
76841
76842         * modules/gc-hmac-sha1-tests (Files): Likewise.
76843
76844         * modules/gc-hmac-md5-tests (License): Likewise.
76845
76846         * modules/gc-sha1-tests (License): Likewise.
76847
76848         * modules/gc-md5-tests (License): Likewise.
76849
76850         * modules/gc-md4-tests (License): Likewise.
76851
76852         * modules/gc-md2-tests (License): Likewise.
76853
76854         * modules/gc-tests (License): Likewise.
76855
76856         * modules/des-tests (License): Likewise.
76857
76858         * modules/md4-tests (License): Likewise.
76859
76860         * modules/md2-tests (License): Likewise.
76861
76862 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76863
76864         Sync from coreutils:
76865
76866         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
76867         * modules/lib-ignore: New file.
76868         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
76869         chdir-safer.m4, lchmod.m4.
76870         * modules/openat: Add mkdirat.c, openat-priv.h.
76871
76872 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76873
76874         Sync from coreutils.
76875         * m4/lib-ignore.m4: New file.
76876         * m4/lchmod.m4: New file.
76877
76878 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76879
76880         Sync from coreutils.
76881         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
76882         for write access: POSIX says that must fail.
76883         * lib/fts.c (diropen): Likewise.
76884         * lib/save-cwd.c (save_cwd): Likewise.
76885         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
76886         well, for minor improvements on hosts that lack O_DIRECTORY.
76887         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
76888         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
76889         Fall back on chown if open failed with EACCES.
76890
76891         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
76892         Report an error at compile-time if only a 1-second nominal clock
76893         resolution is found.
76894
76895         * lib/lchmod.h: New file.
76896         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
76897         (make_dir_parents): Use lchown rather than chown, and
76898         lchmod rather than chmod.
76899
76900         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
76901         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
76902         "proc" reported by n0dalus.
76903
76904         * lib/mountlist.c: Include <limits.h>.
76905         (dev_from_mount_options)
76906         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
76907         New function.  It no longer assumes "dev=" has the System V meaning
76908         on Linux (since it doesn't).  It also parses "dev=" more carefully.
76909         (read_file_system_list)
76910         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
76911         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
76912         dev= in that case.
76913
76914         * lib/posixtm.h (PDS_PRE_2000): New macro.
76915         * lib/posixtm.c (year): Arg is now syntax_bits rather than
76916         allow_century.  All usages changed.  Reject dates outside the range
76917         1969-1999 if PDS_PRE_2000 is used.
76918
76919 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76920
76921         Sync from coreutils.
76922         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
76923         (Time of day items): Mention the possibility of leap seconds.
76924         Problem reported by Dr. David Alan Gilbert.
76925
76926 2006-01-09  Jim Meyering  <jim@meyering.net>
76927
76928         Sync from coreutils.
76929
76930         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
76931
76932         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
76933
76934         * lib/modechange.c (mode_compile): Reject an invalid mode string
76935         that starts with an octal digit.  From Andreas Gruenbacher.
76936
76937         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
76938         and dup to open_safer and dup_safer, respectively.
76939         (openat_permissive): Fix typo in comment.
76940
76941         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
76942         "gettext.h"; either no longer needed or are guaranteed by openat.h.
76943         (_): Remove; no longer needed.
76944         (openat): Renamed from rpl_openat; no need for rpl_openat
76945         since openat.h renames openat for us.
76946         Replace most of the body with a call to openat_permissive,
76947         to avoid duplicate code.
76948         Port to (probably hypothetical) environments were mode_t is
76949         wider than int.
76950         (openat_permissive): Require mode arg, so that we can check
76951         types better.  Put it just after flags.  Change cwd failure
76952         indicator from pointer-to-bool to pointer-to-errno-value.
76953         All callers changed.
76954         Invoke openat_save_fail and/or openat_restore_fail if
76955         cwd_errno is null, so that openat can call us.
76956         (openat_permissive, fdopendir, fstatat, unlinkat):
76957         Simplify errno handling to avoid some duplicate code,
76958         as it's OK to set errno on success.
76959         * lib/openat.h: Revamp code so that function macros depend on
76960         __OPENAT_PREFIX only, not also on AT_FDCWD.
76961         (openat_ro): Remove.  Caller changed to use openat_permissive.
76962         (openat_permissive): Now a macro, if not a function.
76963         (openat_restore_fail, openat_save_fail): Now always functions,
76964         since mkdirat needs them even if __OPENAT_PREFIX is defined.
76965
76966         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
76967         and openat.c.
76968         * lib/mkdirat.c: Include openat-priv.h.
76969         Remove definitions of macros defined therein.
76970         * lib/openat.c: Likewise.
76971
76972         * lib/mkdirat.c (mkdirat): New file and function.
76973         * lib/openat.h (mkdirat): Declare.
76974
76975         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
76976
76977         * lib/openat.h (openat_permissive): Declare.
76978         (openat_ro): Define.
76979
76980         * lib/openat.c (EXPECTED_ERRNO): New macro.
76981         (openat_permissive): New function -- used in remove.c rewrite.
76982         (all functions): Set errno just before returning, only if there
76983         was an actual failure.
76984         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
76985
76986         Emulate openat-family functions using Linux's procfs, if possible.
76987         Idea and some code based on Ulrich Drepper's glibc changes.
76988
76989         * lib/openat.c: (BUILD_PROC_NAME): New macro.
76990         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
76991         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
76992         before falling back on save_cwd and restore_cwd.
76993         (fdopendir, fstatat, unlinkat): Likewise.
76994
76995         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
76996         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
76997
76998         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
76999         as second argument to va_arg.  Otherwise, some versions of gcc
77000         warn that `if this code is reached, the program will abort'.
77001
77002 2006-01-09  Jim Meyering  <jim@meyering.net>
77003
77004         Sync from coreutils.
77005         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77006         Require openat-priv.h.
77007
77008 2006-01-09  Bruno Haible  <bruno@clisp.org>
77009
77010         * modules/strnlen (Include): Use strnlen.h.
77011
77012 2006-01-09  Bruno Haible  <bruno@clisp.org>
77013
77014         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77015
77016 2006-01-09  Bruno Haible  <bruno@clisp.org>
77017
77018         * lib/sysexit_.h (EX_OK): New macro.
77019         Suggested by Martin Lambers <marlam@marlam.de>.
77020
77021 2006-01-09  Bruno Haible  <bruno@clisp.org>
77022
77023         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77024         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77025
77026 2006-01-09  Bruno Haible  <bruno@clisp.org>
77027
77028         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77029         numbers.
77030
77031 2006-01-09  Bruno Haible  <bruno@clisp.org>
77032
77033         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77034         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77035         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77036         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77037
77038 2006-01-09  Bruno Haible  <bruno@clisp.org>
77039
77040         * build-aux/javacomp.sh.in: New file, moved from lib/.
77041         * modules/javacomp-script (Files): Update.
77042         (configure.ac): Add AC_CONFIG_FILES invocation.
77043         (EXTRA_DIST): Remove variable.
77044
77045         * build-aux/javaexec.sh.in: New file, moved from lib/.
77046         * modules/javaexec (Files): Update.
77047         (configure.ac): Add AC_CONFIG_FILES invocation.
77048         (EXTRA_DIST): Remove javaexec.sh.in.
77049
77050         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77051         * modules/csharpcomp-script (Files): Update.
77052         (configure.ac): Add AC_CONFIG_FILES invocation.
77053         (EXTRA_DIST): Remove variable.
77054
77055         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77056         * modules/csharpexec (Files): Update.
77057         (configure.ac): Add AC_CONFIG_FILES invocation.
77058         (EXTRA_DIST): Remove csharpexec.sh.in.
77059
77060 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77061
77062         Sync from coreutils.
77063
77064         Add POSIX ACL support
77065         * lib/acl.h (copy_acl, set_acl): Add declarations.
77066         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77067         systems other than Linux.
77068         (chmod_or_fchmod): New function: use fchmod when possible,
77069         and chmod otherwise.
77070         (file_has_acl): Add a POSIX ACL implementation, with a
77071         Linux-specific subcase.
77072         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77073         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77074         acls are unsupported.
77075         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77076         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77077         are unsupported.
77078
77079 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77080
77081         Sync from coreutils.
77082         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77083
77084 2006-01-07  Bruno Haible  <bruno@clisp.org>
77085
77086         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77087         gl_EARLY.
77088
77089 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77090
77091         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77092         Problem reported for Mingw by Mark Junker.
77093
77094 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77095
77096         * README: Gnulib normally doesn't generate a tarball.
77097
77098 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77099
77100         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77101         long int, not int, for nanosecond counts, so that people who are
77102         used to POSIX struct timespec won't be surprised.  Reported by Jim
77103         Meyering.
77104
77105 2005-12-28  Bruno Haible  <bruno@clisp.org>
77106
77107         * build-aux/config.rpath: Update from GNU gettext.
77108
77109 2005-12-16  Jim Meyering  <jim@meyering.net>
77110
77111         * modules/fprintftime: New module.
77112         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77113
77114 2005-12-16  Jim Meyering  <jim@meyering.net>
77115
77116         * m4/fprintftime.m4: New file.
77117
77118 2005-12-16  Jim Meyering  <jim@meyering.net>
77119
77120         * lib/fprintftime.c, lib/fprintftime.h: New files.
77121
77122 2005-12-15  Simon Josefsson  <jas@extundo.com>
77123
77124         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77125         new m4/socklen.m4.
77126
77127 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77128
77129         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77130         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77131
77132 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77133
77134         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77135         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77136         struct uparams is valid. Fall back to the default values if it is
77137         not.
77138
77139 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77140
77141         * modules/argp (Files): Add argp-pin.c
77142         (Depends-on): dirname
77143         (lib_SOURCES): Add argp-pin.c
77144
77145 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77146
77147         * m4/argp.m4:  Check if program_invocation_name and
77148         program_invocation_short_name are declared and define appropriate
77149         macros if they are not.
77150
77151 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77152
77153         * lib/argp-help.c (__argp_base_name): New function
77154         (__argp_short_program_name): Rewrite using __argp_base_name
77155         * lib/argp-namefrob.h: Define program_invocation_name and
77156         program_invocation_short_name if requested
77157         (__argp_base_name): Add prototype
77158         * lib/argp-parse.c (argp_def): Use gettext wrappers
77159         (argp_default_parser): Use __argp_base_name
77160         * lib/argp-pin.c: New file. Defines program_invocation_name and
77161         program_invocation_short_name on systems that lack them.
77162
77163 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77164
77165         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77166         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77167         porting problem reported by Georg Schwarz in
77168         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77169
77170 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77171
77172         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77173         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77174         porting problem reported by Georg Schwarz in
77175         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77176
77177 2005-12-05  Bruno Haible  <bruno@clisp.org>
77178
77179         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77180         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77181         Reported by Mark Junker <mjscod@gmx.de>.
77182
77183 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77184
77185         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77186         Use implementation from Albert Chin, with some
77187         comments/corrections by Stepan Kasal and myself.
77188
77189 2005-12-02  Bruno Haible  <bruno@clisp.org>
77190
77191         * gnulib-tool (func_import): Accept GPLed build tool modules when
77192         --lgpl is given.
77193         * modules/csharpcomp-script: New file.
77194         * modules/csharpcomp: Depend on it.
77195         * modules/javacomp-script: New file.
77196         * modules/javacomp: Depend on it.
77197         Suggested by Simon Josefsson.
77198
77199 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77200
77201         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77202         statement, to work around an HP-UX 10.20 compiler bug reported by
77203         Peter O'Gorman.
77204
77205 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77206
77207         * modules/savedir (Depends-on): Add openat.
77208
77209 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77210
77211         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77212         (uintmax_t) [defined uintmax_t]: Do not declare.
77213         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77214         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77215         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77216         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77217         sake of portability to weird hosts that C allows (though we don't
77218         know of any practical examples).
77219
77220         * lib/savedir.h (fdsavedir): New decl.
77221         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77222         contains most of the former guts of savedir.
77223         (savedir): Use savedirstream.
77224         Include "openat.h".
77225
77226 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77227
77228         * modules/obstack (Files): Add m4/ulonglong.m4.
77229         Problem reported by Davide Angelocola.
77230
77231 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77232
77233         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77234         coreutils no longer futzes with rounding modes.
77235
77236 2005-11-14  Jim Meyering  <jim@meyering.net>
77237
77238         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77239         replacement of mkstemp.
77240
77241 2005-11-10  Simon Josefsson  <jas@extundo.com>
77242
77243         * lib/readline.c: Remove EOL.
77244
77245 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77246
77247         * modules/gethrxtime (Depends-on): Add gettime.
77248
77249 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77250
77251         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77252         or gettimeofday; no longer needed.
77253
77254 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77255
77256         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77257         time business.
77258         (gethrxtime) [! (HAVE_NANOUPTIME
77259         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77260         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77261         our own approximation.
77262
77263 2005-11-08  Eric Blake  <ebb9@byu.net>
77264
77265         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77266
77267 2005-11-08  Eric Blake  <ebb9@byu.net>
77268
77269         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77270
77271 2005-11-04  Bruno Haible  <bruno@clisp.org>
77272
77273         * gnulib-tool: Implement --update mode.
77274
77275 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77276
77277         Fix porting problem reported by Theodoros V. Kalamatianos.
77278         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77279         Don't assume that futimes failing means we must fail.
77280
77281 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77282
77283         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77284         variables to suggest the intended function of the PATH_MAX check.
77285
77286 2005-10-30  Kean Johnston  <jkj@sco.com>
77287
77288         Trivial changes to support SCO systems.
77289         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77290         as PATH_MAX.
77291         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77292         where __ptr is null when no I/O is pending.
77293
77294 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77295
77296         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77297         leave errno alone.  Problem reported by Dmitry V. Levin.
77298
77299 2005-10-28  Simon Josefsson  <jas@extundo.com>
77300
77301         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77302         Test more.
77303
77304         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77305
77306         * modules/md2, modules/md2-tests: New files.
77307
77308 2005-10-28  Simon Josefsson  <jas@extundo.com>
77309
77310         * m4/inet_ntop.m4: More tests.
77311
77312         * m4/gc-md2.m4, md2.m4: New file.
77313
77314 2005-10-28  Simon Josefsson  <jas@extundo.com>
77315
77316         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77317         "restrict" keywords, as per POSIX.  Protect the function
77318         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77319         Don't use K&R prototypes.  Check the sprintf return values.
77320         Re-define EAFNOSUPPORT if not present.  Indent.
77321
77322         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
77323         suggested by Bruno Haible <bruno@clisp.org>.
77324
77325         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
77326
77327         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
77328
77329         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
77330         libgcrypt).
77331
77332         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
77333
77334         * lib/md2.h, lib/md2.c: New files.
77335
77336 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77337
77338         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77339         errno alone.  Problem reported by Frederic Jolliton.
77340
77341 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77342
77343         * modules/verify (License): Change from GPL to LGPL.  This is a
77344         tiny module and there are apparently near-equivalents that are
77345         under the BSD license.
77346
77347 2005-10-24  Simon Josefsson  <jas@extundo.com>
77348
77349         * modules/sha1: Relicense to LGPL.
77350
77351 2005-10-24  Simon Josefsson  <jas@extundo.com>
77352
77353         * lib/md4.h: Shrink buffer size, now that we changed the type.
77354
77355 2005-10-23  Simon Josefsson  <jas@extundo.com>
77356
77357         * gnulib-tool (func_import): Fix --tests-base.
77358
77359 2005-10-22  Simon Josefsson  <jas@extundo.com>
77360
77361         * modules/arcfour (Depends-on): Need stdint.
77362
77363 2005-10-22  Simon Josefsson  <jas@extundo.com>
77364
77365         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
77366         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
77367
77368 2005-10-22  Simon Josefsson  <jas@extundo.com>
77369
77370         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
77371         suggested by Bruno Haible <bruno@clisp.org>.
77372
77373 2005-10-22  Simon Josefsson  <jas@extundo.com>
77374
77375         * lib/crc.h: Include stddef.h, for size_t.
77376
77377 2005-10-22  Simon Josefsson  <jas@extundo.com>
77378
77379         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
77380         arcfour_context struct (simplify test vector testing in GNU
77381         Shishi).
77382
77383 2005-10-21  Simon Josefsson  <jas@extundo.com>
77384
77385         * modules/des, modules/des-tests: New files.
77386
77387         * modules/gc-des, modules/gc-des-tests: New files.
77388
77389         * tests/test-des.c, tests/test-gc-des.c: New file.
77390
77391 2005-10-21  Simon Josefsson  <jas@extundo.com>
77392
77393         * modules/arctwo, modules/arctwo-tests: New files.
77394
77395         * tests/test-arctwo.c: New file.
77396
77397         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
77398
77399         * tests/test-gc-arctwo.c: New file.
77400
77401 2005-10-21  Simon Josefsson  <jas@extundo.com>
77402
77403         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
77404         Bruno Haible <bruno@clisp.org>.
77405
77406         * m4/gc-des.m4: New file.
77407
77408 2005-10-21  Simon Josefsson  <jas@extundo.com>
77409
77410         * m4/arctwo.m4: New file.
77411
77412         * m4/gc-arctwo.m4: New file.
77413
77414 2005-10-21  Simon Josefsson  <jas@extundo.com>
77415
77416         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
77417         block.
77418
77419 2005-10-21  Simon Josefsson  <jas@extundo.com>
77420
77421         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
77422         <bruno@clisp.org>.
77423
77424         * lib/hmac-sha1.c (hmac_sha1): Likewise.
77425
77426         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
77427         Bruno Haible <bruno@clisp.org>.
77428
77429         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
77430         <bruno@clisp.org>.
77431
77432 2005-10-21  Simon Josefsson  <jas@extundo.com>
77433
77434         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
77435
77436 2005-10-21  Simon Josefsson  <jas@extundo.com>
77437
77438         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
77439
77440 2005-10-21  Simon Josefsson  <jas@extundo.com>
77441
77442         * lib/des.h, lib/des.c: New files.
77443
77444         * lib/gc-gnulib.c: Support DES.c
77445
77446 2005-10-21  Simon Josefsson  <jas@extundo.com>
77447
77448         * lib/arctwo.h, lib/arctwo.c: New files.
77449
77450         * lib/gc-gnulib.c: Support ARCTWO.
77451
77452 2005-10-21  Simon Josefsson  <jas@extundo.com>
77453
77454         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
77455         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77456
77457 2005-10-21  Simon Josefsson  <jas@extundo.com>
77458
77459         * gnulib-tool (func_import, func_create_testdir): Define automake
77460         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
77461         Makefile.am snippet),
77462         suggested by Bruno Haible <bruno@clisp.org>.
77463
77464         * modules/gc (Makefile.am): Use it.
77465
77466 2005-10-21  Bruno Haible  <bruno@clisp.org>
77467
77468         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
77469         patch.
77470
77471 2005-10-19  Simon Josefsson  <jas@extundo.com>
77472
77473         * tests/test-gc-rijndael.c: New file.
77474
77475         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
77476
77477 2005-10-19  Simon Josefsson  <jas@extundo.com>
77478
77479         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
77480         interface too.
77481
77482 2005-10-19  Simon Josefsson  <jas@extundo.com>
77483
77484         * tests/test-gc-arcfour.c: New file.
77485
77486         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
77487
77488 2005-10-19  Simon Josefsson  <jas@extundo.com>
77489
77490         * modules/gc-md4, modules/gc-md4-tests: New file.
77491
77492         * tests/test-gc-md4.c: New file.
77493
77494 2005-10-19  Simon Josefsson  <jas@extundo.com>
77495
77496         * m4/gc-md4.m4: New file.
77497
77498 2005-10-19  Simon Josefsson  <jas@extundo.com>
77499
77500         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
77501         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
77502         <kasal@ucw.cz>.
77503
77504 2005-10-19  Simon Josefsson  <jas@extundo.com>
77505
77506         * m4/gc-arcfour.m4: New file.
77507
77508         * m4/gc-rijndael.m4: New file.
77509
77510 2005-10-19  Simon Josefsson  <jas@extundo.com>
77511
77512         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
77513
77514 2005-10-19  Simon Josefsson  <jas@extundo.com>
77515
77516         * lib/gc-gnulib.c: Support ARCFOUR.
77517
77518 2005-10-19  Simon Josefsson  <jas@extundo.com>
77519
77520         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
77521         support.
77522
77523         * lib/gc.h: Add ECB enum type.
77524
77525         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
77526
77527 2005-10-18  Simon Josefsson  <jas@extundo.com>
77528
77529         * tests/test-md5.c: New file.
77530
77531         * modules/md5-tests: New file.
77532
77533 2005-10-18  Simon Josefsson  <jas@extundo.com>
77534
77535         * tests/test-md4.c: New file.
77536
77537         * modules/md4, modules/md4-tests: New files.
77538
77539 2005-10-18  Simon Josefsson  <jas@extundo.com>
77540
77541         * m4/md4.m4: New file.
77542
77543 2005-10-18  Simon Josefsson  <jas@extundo.com>
77544
77545         * lib/md4.h, lib/md4.c: New files, based on md5.?.
77546
77547 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
77548
77549         * gnulib-tool (func_create_testdir): Omit the second check whether
77550         BUILT_SOURCES in nonempty.
77551
77552 2005-10-17  Simon Josefsson  <jas@extundo.com>
77553
77554         * tests/test-rijndael.c: New file.
77555
77556 2005-10-17  Simon Josefsson  <jas@extundo.com>
77557
77558         * modules/sha1: Depend on stdint instead of md5.
77559
77560         * modules/md5: Depend on stdint, remove uint32_t.
77561
77562 2005-10-17  Simon Josefsson  <jas@extundo.com>
77563
77564         * modules/gc-sha1-tests: New file.
77565
77566         * tests/test-gc-sha1.c: New file.
77567
77568 2005-10-17  Simon Josefsson  <jas@extundo.com>
77569
77570         * m4/md5.m4: Remove call to uint32_t.m4.
77571
77572 2005-10-17  Simon Josefsson  <jas@extundo.com>
77573
77574         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
77575
77576         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
77577         md5.h.
77578
77579         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
77580
77581         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
77582
77583 2005-10-17  Simon Josefsson  <jas@extundo.com>
77584
77585         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
77586
77587 2005-10-17  Simon Josefsson  <jas@extundo.com>
77588
77589         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
77590
77591 2005-10-17  Simon Josefsson  <jas@extundo.com>
77592
77593         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
77594
77595         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
77596
77597 2005-10-17  Bruno Haible  <bruno@clisp.org>
77598
77599         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
77600         that it can also be used in a test.
77601
77602 2005-10-16  Bruno Haible  <bruno@clisp.org>
77603
77604         * gnulib-tool (func_emit_tests_Makefile_am): Also define
77605         TESTS_ENVIRONMENT, so that individual tests can augment it.
77606
77607         * gnulib-tool (func_create_testdir): Use an intermediate target for
77608         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
77609         macros, like $(ALLOCA_H), which cannot be passed through the command
77610         line.
77611
77612 2005-10-15  Simon Josefsson  <jas@extundo.com>
77613
77614         * modules/rijndael-tests: New file.
77615
77616         * modules/rijndael: New file.
77617
77618 2005-10-15  Simon Josefsson  <jas@extundo.com>
77619
77620         * m4/rijndael.m4: New file.
77621
77622 2005-10-15  Simon Josefsson  <jas@extundo.com>
77623
77624         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
77625
77626         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
77627
77628 2005-10-14  Simon Josefsson  <jas@extundo.com>
77629
77630         * tests/test-arcfour.c: New file.
77631
77632         * modules/arcfour, modules/arcfour-tests: New files.
77633
77634 2005-10-14  Simon Josefsson  <jas@extundo.com>
77635
77636         * m4/arcfour.m4: New file.
77637
77638 2005-10-14  Simon Josefsson  <jas@extundo.com>
77639
77640         * lib/arcfour.h, lib/arcfour.c: New files.
77641
77642 2005-10-14  Roland McGrath  <roland@redhat.com>
77643
77644         Import from libc.  [BZ #1331]
77645         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
77646         macro argument.
77647         Reported by Matej Vela <vela@debian.org>.
77648
77649 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77650
77651         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
77652         include <wchar.h>; no longer needed.
77653
77654 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77655
77656         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
77657
77658 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
77659         and  Ulrich Drepper  <drepper@redhat.com>
77660
77661         Import from libc.
77662         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
77663         instead of inline stream orientation test and two separate
77664         function calls.  Pay no attention to USE_IN_LIBIO.
77665
77666 2005-10-13  Simon Josefsson  <jas@extundo.com>
77667
77668         * modules/gc-hmac-md5-tests: New file.
77669
77670         * tests/test-gc-hmac-sha1.c: New file.
77671
77672         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
77673
77674         * modules/gc-hmac-md5-tests: New file.
77675
77676         * tests/test-gc-md5.c: New file.
77677
77678         * modules/gc-md5-tests: New file.
77679
77680 2005-10-13  Simon Josefsson  <jas@extundo.com>
77681
77682         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
77683         Move memory allocation outside of loop.
77684
77685 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
77686
77687         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
77688         intermediate directory is in a read-only file system.  Problem
77689         reported by Eric Blake.
77690
77691 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
77692
77693         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
77694
77695 2005-10-12  Simon Josefsson  <jas@extundo.com>
77696
77697         * tests/test-hmac-sha1.c: New file.
77698
77699         * modules/hmac-sha1-tests: New file.
77700
77701         * modules/hmac-sha1: New file.
77702
77703 2005-10-12  Simon Josefsson  <jas@extundo.com>
77704
77705         * modules/gc-sha1: New file.
77706
77707 2005-10-12  Simon Josefsson  <jas@extundo.com>
77708
77709         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
77710
77711         * tests/test-gc-pbkdf2-sha1.c: New file.
77712
77713 2005-10-12  Simon Josefsson  <jas@extundo.com>
77714
77715         * modules/gc-md5, modules/gc-hmac-md5: New files.
77716
77717         * modules/gc (Files): Remove md5, memxor and hmac files.
77718
77719 2005-10-12  Simon Josefsson  <jas@extundo.com>
77720
77721         * m4/gc-pbkdf2-sha1.m4: New file.
77722
77723         * m4/gc-hmac-sha1.m4: New file.
77724
77725         * m4/gc-sha1: New file.
77726
77727         * m4/hmac-sha1.m4: New file.
77728
77729 2005-10-12  Simon Josefsson  <jas@extundo.com>
77730
77731         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
77732
77733         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
77734
77735 2005-10-12  Simon Josefsson  <jas@extundo.com>
77736
77737         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
77738         suggested by Bruno Haible <bruno@clisp.org>.
77739
77740 2005-10-12  Simon Josefsson  <jas@extundo.com>
77741
77742         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
77743
77744 2005-10-12  Simon Josefsson  <jas@extundo.com>
77745
77746         * lib/gc-pbkdf2-sha1.c: New file.
77747
77748         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
77749
77750 2005-10-12  Simon Josefsson  <jas@extundo.com>
77751
77752         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
77753
77754         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
77755
77756 2005-10-12  Simon Josefsson  <jas@extundo.com>
77757
77758         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
77759         GC_USE_HMAC_MD5, respectively.
77760
77761         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
77762         (gc_md5): Fix typo.
77763
77764         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
77765
77766         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
77767
77768         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
77769
77770 2005-10-12  Bruno Haible  <bruno@clisp.org>
77771
77772         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
77773         Reported by Stepan Kasal <kasal@ucw.cz>.
77774
77775 2005-10-11  Simon Josefsson  <jas@extundo.com>
77776
77777         * tests/test-crc.c: New file.
77778
77779         * modules/crc, modules/crc-tests: New files.
77780
77781 2005-10-11  Simon Josefsson  <jas@extundo.com>
77782
77783         * m4/crc.m4: New file.
77784
77785 2005-10-11  Simon Josefsson  <jas@extundo.com>
77786
77787         * lib/gc.h: Add gc_hash and gc_hash_buffer.
77788
77789         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
77790
77791         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
77792
77793 2005-10-11  Simon Josefsson  <jas@extundo.com>
77794
77795         * lib/crc.h, lib/crc.c: New files.
77796
77797         * lib/gc.h (gc_hash_buffer): Add doc.
77798
77799 2005-10-11  Bruno Haible  <bruno@clisp.org>
77800
77801         * modules/c-strcasestr: New file.
77802         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
77803
77804 2005-10-11  Bruno Haible  <bruno@clisp.org>
77805
77806         * modules/c-strcase: New file.
77807         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
77808
77809 2005-10-11  Bruno Haible  <bruno@clisp.org>
77810
77811         * lib/strcasecmp.c: Include limits.h.
77812         (strcasecmp): Avoid integer overflow on exotic platforms.
77813         * lib/strncasecmp.c: Include limits.h.
77814         (strncasecmp): Avoid integer overflow on exotic platforms.
77815         Reported by Paul Eggert.
77816
77817 2005-10-11  Bruno Haible  <bruno@clisp.org>
77818
77819         * lib/c-strcasestr.h: New file, from GNU gettext.
77820         * lib/c-strcasestr.c: New file, from GNU gettext.
77821
77822 2005-10-11  Bruno Haible  <bruno@clisp.org>
77823
77824         * lib/c-strcase.h: New file, from GNU gettext.
77825         * lib/c-strcasecmp.c: New file, from GNU gettext.
77826         * lib/c-strncasecmp.c: New file, from GNU gettext.
77827
77828 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77829
77830         * modules/mempcpy (License): GPL -> LGPL.
77831         * modules/strchrnul (License): Likewise.
77832         * modules/sysexits (License): Likewise.
77833
77834 2005-10-08  Simon Josefsson  <jas@extundo.com>
77835
77836         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
77837
77838 2005-10-07  Simon Josefsson  <jas@extundo.com>
77839
77840         * m4/memxor.m4: Remove gl_C_RESTRICT call.
77841
77842 2005-10-06  Simon Josefsson  <jas@extundo.com>
77843
77844         * tests/test-hmac-md5.c: New file.
77845
77846         * modules/hmac-md5-tests: New file.
77847
77848         * modules/hmac-md5: New file.
77849
77850 2005-10-06  Simon Josefsson  <jas@extundo.com>
77851
77852         * m4/hmac-md5.m4: New file.
77853
77854         * m4/memxor.m4: Require gl_C_RESTRICT.
77855
77856 2005-10-06  Simon Josefsson  <jas@extundo.com>
77857
77858         * lib/memxor.c (memxor): Avoid casts and warnings.
77859
77860 2005-10-06  Simon Josefsson  <jas@extundo.com>
77861
77862         * lib/hmac-md5.c: New file.
77863
77864         * lib/hmac.h: New file.
77865
77866 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77867
77868         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
77869         promotes to int, not unsigned int, to catch the AIX 5.3
77870         compiler bug.
77871
77872 2005-10-05  Simon Josefsson  <jas@extundo.com>
77873
77874         * modules/memxor: New file.
77875
77876         * modules/iconv (Files): Move config.rpath to havelib, it is used
77877         there.
77878
77879         * modules/havelib (Files): Add config.rpath.
77880
77881 2005-10-05  Simon Josefsson  <jas@extundo.com>
77882
77883         * m4/memxor.m4: New file.
77884
77885 2005-10-05  Simon Josefsson  <jas@extundo.com>
77886
77887         * lib/memxor.c (memxor): Fix compiler error.
77888
77889         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
77890         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
77891
77892         * lib/memxor.h, lib/memxor.c: New files.
77893
77894         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
77895         we assume all systems have it, suggested by Jim Meyering
77896         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
77897         any systems lack sys/socket.h; mingw32 is known to lack it, but we
77898         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
77899         same reasons.
77900
77901 2005-10-05  Simon Josefsson  <jas@extundo.com>
77902
77903         * config/srclist.txt: Add glibc bug 1423 for md5.h.
77904
77905 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77906
77907         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
77908         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
77909         needed, since the source code now assumes these .h files.
77910
77911 2005-10-05  Derek Price  <derek@ximbiot.com>
77912
77913         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
77914
77915 2005-10-05  Bruno Haible  <bruno@clisp.org>
77916
77917         * modules/stdint (License): Change to LGPL.
77918
77919 2005-10-04  Simon Josefsson  <jas@extundo.com>
77920
77921         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
77922         D. Baushke" <mdb@gnu.org>.
77923
77924 2005-10-04  Bruno Haible  <bruno@clisp.org>
77925
77926         * lib/verify.h (verify_true): Provide alternative definition for C++.
77927
77928 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
77929
77930         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
77931         (SSIZE_MAX): New macro, if not already defined.
77932         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
77933         than 2 GiB.
77934
77935 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77936
77937         Sync from coreutils.
77938         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
77939         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
77940         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
77941         ULLONG_MAX doesn't work with 2.7.2.1.
77942
77943 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77944
77945         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
77946         From Ben Pfaff.
77947
77948         * modules/exclude (Depends-on): Depend on verify.
77949         * modules/strtoimax (Depends-on): Likewise.
77950         * modules/utimecmp (Depends-on): Likewise.
77951
77952 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77953
77954         * lib/exclude.c: Include verify.h.
77955         (verify): Remove.  All callers changed to use verify.h's version.
77956         * lib/strtoimax.c: Likewise.
77957         * lib/utimecmp.c: Likewis.e
77958
77959         Sync from coreutils.
77960         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
77961         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
77962         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
77963         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
77964         bother returning ENOSYS if settimeofday or stime fails; just let
77965         them return whatever errno they want to return.
77966         * lib/utimens.c: Include unistd.h, for dup2.
77967         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
77968         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
77969
77970 2005-10-02  Jim Meyering  <jim@meyering.net>
77971
77972         Sync from coreutils.
77973         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
77974         from glibc-2.2.5 that fails for read-only files.
77975
77976 2005-10-02  Jim Meyering  <jim@meyering.net>
77977
77978         Sync from coreutils.
77979         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
77980         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
77981         `#if HAVE_CONFIG_H'.
77982         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
77983         Remove AT_FDCWD test.
77984         Do not consume the fd unless successful.
77985         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
77986         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
77987         block, so that we don't even try to compile it if settimeofday is
77988         available.  This works around a compilation failure on OSF1 V5.1,
77989         due to stime requiring a `long int*' while tv_sec is `int'.
77990
77991 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
77992
77993         Sync from coreutils.
77994         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
77995         against `yes', rather than just testing for nonempty.
77996
77997 2005-10-01  Simon Josefsson  <jas@extundo.com>
77998
77999         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78000         and Darwin.
78001
78002         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78003         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78004         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78005         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78006         Check if struct addrinfo is declared.
78007
78008 2005-10-01  Simon Josefsson  <jas@extundo.com>
78009
78010         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78011         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78012         AI_* and EAI_* definitions.  Protect function declarations.
78013
78014 2005-10-01  Jim Meyering  <jim@meyering.net>
78015
78016         Sync from coreutils.
78017
78018         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78019         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78020         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78021         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78022         in the inet and nsl libraries.  Required on Solaris 5.7.
78023
78024 2005-10-01  Jim Meyering  <jim@meyering.net>
78025
78026         Sync from coreutils.
78027         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78028         in the inet and nsl libraries.  Required on Solaris 5.7.
78029
78030 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78031
78032         * lib/getdelim.c (getdelim): Remove unused variables.
78033
78034 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78035
78036         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78037         so that the code works even with ancient cpp.  Portability problem
78038         with GCC 2.7.2.1 reported by Thomas M.Ott.
78039
78040 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78041
78042         * modules/regex (Depends-on): Add strcase.
78043
78044         * modules/gethostname (Licence): Change from GPL to LGPL, since
78045         gethostname.c is a trivial implementation of a standard library
78046         function.
78047         * modules/poll (License): Change from GPL to LGPL, since it's
78048         derived from LGPL code.
78049
78050 2005-09-27  Jim Meyering  <jim@meyering.net>
78051
78052         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78053         HAVE_CONFIG_H.
78054
78055         * lib/intprops.h (signed_type_or_expr__): Define.
78056         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78057         for unsigned types.
78058
78059 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78060
78061         * lib/verify.h (verify_expr): Remove, replacing with:
78062         (verify_true): New macro that returns true instead of void.
78063         (verify_type__): Remove.
78064         (verify): Use verify_true rather than verify_type__.
78065
78066 2005-09-26  Bruno Haible  <bruno@clisp.org>
78067
78068         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78069         is necessary.
78070         (lib_SOURCES): Remove mbchar.c.
78071         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78072         (Files): Add m4/mbrtowc.m4.
78073         * modules/mbiter: Likewise.
78074         * modules/mbuiter: Likewise.
78075
78076 2005-09-26  Bruno Haible  <bruno@clisp.org>
78077
78078         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78079         compile mbchar.c if they are not both present.
78080         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78081         * m4/mbiter.m4 (gl_MBITER): Likewise.
78082         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78083         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78084         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78085
78086 2005-09-25  Jim Meyering  <jim@meyering.net>
78087
78088         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78089         also uses socklen_t.
78090
78091 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78092
78093         * lib/utimens.c (ENOSYS): Define if not already defined.
78094         (futimens): Support having a null PATH if the file descriptor
78095         is nonnegative.
78096
78097         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78098         Remove.
78099         (__attribute): Define to empty unless GCC 3.1 or later.
78100         This works around a core dump on OpenBSD 3.4, which has GCC
78101         2.95.3, which dumps core when given __attribute__(()).  It also
78102         simplifies other tests, since we really don't want to bother with
78103         worrying about which ancient version of GCC supported what.
78104         Original problem reported by Yoann Vandoorselaere, with part of
78105         the fix suggested by Derek Price.
78106
78107 2005-09-24  Jim Meyering  <jim@meyering.net>
78108
78109         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78110         so we can once again use a positive bitfield width of 1 -- now we
78111         don't have to explain why we were using a bitfield width of 2.
78112
78113 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78114
78115         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78116         and similarly for the other external symbols.  Problem reported
78117         by James Gallager.
78118
78119         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78120         bug reported by Jim Meyering.
78121
78122         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78123         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78124         not needed, since socklen is a prerequisite module.
78125
78126 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78127
78128         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78129         Problem reported by Eric Blake.
78130         (getaddrinfo): Initialize se so that it's not garbage.
78131         Redo internal storage allocation so that it doesn't make unportable
78132         assumptions about alignment.
78133         Fix a memory leak.
78134
78135         * lib/utimens.c (futimens): Use futimesat if available.
78136         Prefer it to futimes since it doesn't have the futimes bug.
78137
78138         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78139         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78140         Instead, declare a function that returns a pointer to an array,
78141         and use verify_type__ to declare the size of the array.
78142         Problem and germ of a solution reported by Bruno Haible.
78143         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78144         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78145
78146 2005-09-23  Jim Meyering  <jim@meyering.net>
78147
78148         Sync from coreutils.
78149         Correct build failure (socklen_t not defined) on at least
78150         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78151         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78152
78153 2005-09-23  Jim Meyering  <jim@meyering.net>
78154
78155         * modules/getaddrinfo (Depends-on): Add socklen.
78156
78157 2005-09-23  Bruno Haible  <bruno@clisp.org>
78158
78159         * tests/test-verify.c: New file.
78160
78161 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78162
78163         Sync from coreutils.
78164
78165         * modules/argmatch (Depends-on): Add verify.
78166         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78167         unistd-safer.
78168         * modules/save-cwd (Depends-on): Likewise.
78169
78170         * modules/openat (Files): Add lib/openat-die.c.
78171         (Depends-on): Remove error, exitfail.
78172         Add dirname.
78173
78174         * modules/verify: New file.
78175         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78176         with "verify" module.
78177
78178 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78179
78180         Sync from coreutils.
78181
78182         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78183         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78184         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78185         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78186         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78187         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78188         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78189         Don't bother checking for string.h, stdlib.h, unistd.h.
78190         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78191         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78192         module's job.
78193         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78194         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78195
78196         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78197         (gl_GETDATE): Use it.
78198
78199         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78200
78201 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78202
78203         Sync from coreutils.
78204
78205         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78206         stat-time.h.
78207         * lib/argmatch.h: Include verify.h
78208         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78209         (ARGMATCH_ASSERT): Remove; unused.
78210         * lib/canonicalize.c: Assume STDC_HEADERS.
78211         * lib/exclude.c: Include "strcase.h".
78212         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78213         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78214         and stdio-safer.h.
78215         (getusershell): Call fopen, not fopen_safer.
78216         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78217         Do not include unistd-safer.h.
78218         (save_cwd): Don't call fd_safer; no longer needed
78219         now that we include fcntl--.h.
78220
78221         * lib/getdate.y (relative_time): New type.
78222         (RELATIVE_TIME_0): New constant.
78223         (parser_control): Use relative_time instead of doing it ourselves.
78224         (%union): Add new relative_time rel member.
78225         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78226         Now typeless.
78227         (relunit, relunit_snumber): Now of type rel.
78228         (zone, rel, relunit, get_date): Adjust to above changes.
78229
78230         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78231         Do not include unistd-safer.h.
78232         (getloadavg): Don't call fd_safer; no longer needed
78233         now that we include fcntl--.h.
78234
78235         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78236         (make_dir_parents): Treat ENOSYS like EEXIST.
78237
78238         Improve quality of diagnostics on restore_cwd failure.
78239         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78240         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78241         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78242         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78243         each time through the loop.  Do not diagnose restore_cwd failure;
78244         that is the caller's job (and perhaps the caller does not care).
78245
78246         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78247         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78248         If the file already exists but is not a directory, don't bother
78249         to try to make its parents.
78250         Close potential file descriptor leak if we can't chdir("/") (!).
78251         Don't always return true if chdir($PWD) fails; return true only
78252         if the requested action was done successfully (except for the
78253         chdir($PWD)).
78254         Don't log final directory unless we actually made it.
78255         Refactor to avoid duplicate code to fix up permissions.
78256         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78257
78258         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78259         to make it a bit faster and (I hope) clearer.
78260         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78261         Fix bug in formats like %2N.
78262
78263         * lib/verify.h: New file.
78264
78265 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78266
78267         Sync from coreutils.
78268         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78269
78270 2005-09-22  Jim Meyering  <jim@meyering.net>
78271
78272         Sync from coreutils.
78273
78274         * m4/lstat.m4 (gl_FUNC_LSTAT):
78275         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78276         Remove obsolete comment.
78277         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78278         * m4/xstrtod.m4: Likewise.
78279
78280         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78281
78282 2005-09-22  Jim Meyering  <jim@meyering.net>
78283
78284         Sync from coreutils.
78285
78286         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78287
78288         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78289         the .tm_year member, since otherwise gcc-4.0 would now warn about
78290         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78291
78292         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78293         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78294
78295         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78296         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78297         when run in a time zone for which daylight savings time is in effect
78298         for the starting date.
78299
78300         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78301         stop us from restricting permissions of just-created absolute-named
78302         directories.
78303         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78304         to restore initial working directory.
78305         * lib/mkdir-p.c (make_dir_parents): New parameter:
78306         different_working_dir, to tell caller if/when we change the working
78307         directory and are unable to return to the initial one.
78308         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78309         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78310         `return false'.  This fixes a bug introduced on 2004-07-30.
78311
78312         * lib/openat.c (fdopendir): Be sure to close the supplied
78313         file descriptor before returning.  This makes our replacement
78314         implementation a little closer to Solaris's, where fdopendir
78315         ties the file descriptor to the returned DIR* pointer.
78316         * lib/openat.c (unlinkat): New function.
78317         * lib/openat.h (unlinkat): Add prototype.
78318         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78319         (openat_restore_fail): Rename from openat_restore_die.
78320         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
78321
78322         Provide an alternative to exiting immediately upon save_cwd or
78323         restore_cwd failure.  Now, an application can arrange e.g.,
78324         to perform a longjump in that case.
78325         * lib/openat.c: Include dirname.h.
78326         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
78327         (rpl_openat, fdopendir, fstatat): Call openat_save_die
78328         and openat_restore_die rather than calling error directly.
78329         Don't include "error.h" or "exitfail.h"; they're no longer needed.
78330
78331         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
78332         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
78333         define.
78334
78335         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78336         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78337                             int utc, int nanoseconds);
78338         Background:
78339         date should not have to allocate a megabyte of virtual memory to
78340         handle a format argument like +%1048575T.  When implemented with
78341         strftime, it must allocate such a buffer, use strftime to fill it
78342         in, print it, then free it.
78343         With fprintftime, it simply prints everything and exits.
78344         With no need for memory allocation, that's one fewer way to fail.
78345         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78346         optional field width, not before, so we accept %9:z, not %:9z.
78347         (my_strftime): Be sure to use L_('x') for literals.
78348
78349         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78350         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78351         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78352         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78353         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
78354         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
78355         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
78356         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
78357         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
78358         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
78359         * lib/xgethostname.c, lib/xreadlink.c:
78360         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
78361
78362         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
78363         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
78364         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
78365         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78366         and don't include <sys/file.h>).
78367
78368 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
78369
78370         Sync from coreutils.
78371
78372         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
78373         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
78374         [!LDAV_DONE]: Avoid unused variable warning.
78375
78376 2005-09-21  Bruno Haible  <bruno@clisp.org>
78377
78378         * lib/unicodeio.h (unicode_to_mb): New declaration.
78379
78380 2005-09-20  Derek Price  <derek@ximbiot.com>
78381
78382         * lib/getaddrinfo.c: Don't include <netdb.h> included from
78383         getaddrinfo.h.
78384
78385 2005-09-20  Bruno Haible  <bruno@clisp.org>
78386
78387         * gnulib-tool: Remove trailing slashes from the values specified for
78388         --source-base, --m4-base, --tests-base, --aux-dir.
78389         Suggested by Simon Josefsson <jas@extundo.com>.
78390
78391 2005-09-20  Bruno Haible  <bruno@clisp.org>
78392
78393         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
78394         func_modules_to_filelist, func_import, func_create_testdir): Make all
78395         sorting results locale-independent, so that gnulib-cache.m4 doesn't
78396         change when gnulib-tool is invoked in a different locale.
78397
78398 2005-09-19  Simon Josefsson  <jas@extundo.com>
78399
78400         * m4/socklen.m4: Fix typo.
78401
78402 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78403
78404         Use a consistent style for including <config.h>.
78405         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
78406         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
78407         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
78408         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
78409         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
78410         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
78411         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
78412         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
78413         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
78414         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
78415         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
78416         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
78417         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
78418         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
78419         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
78420         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
78421         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
78422         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
78423         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
78424         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
78425         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
78426         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
78427         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
78428         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
78429         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
78430         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
78431         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
78432         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
78433         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
78434         lib/xstrtoumax.c, lib/yesno.c:
78435         Standardize inclusion of config.h.
78436         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
78437         lib/inttostr.h:  Removed inclusion of config.h from header files.
78438         * lib/inttostr.c:  Adjusted in-tree users.
78439         * lib/timespec.h: Remove superfluous warning to include config.h.
78440         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
78441         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
78442         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
78443         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
78444         config.h with HAVE_CONFIG_H.
78445
78446 2005-09-19  Jim Meyering  <jim@meyering.net>
78447
78448         * modules/pathmax (License): Change to LGPL.
78449
78450 2005-09-19  Derek Price  <derek@ximbiot.com>
78451
78452         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
78453
78454 2005-09-19  Bruno Haible  <bruno@clisp.org>
78455
78456         * gnulib-tool (import): Provide default for --tests-base.
78457
78458 2005-09-19  Bruno Haible  <bruno@clisp.org>
78459
78460         * doc/quote.texi: New file, extracted from gnulib.texi.
78461         * doc/ctime.texi: New file, extracted from gnulib.texi.
78462         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
78463         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
78464         * doc/gnulib.texi: Include them.
78465
78466 2005-09-18  Bruno Haible  <bruno@clisp.org>
78467
78468         Portability fix.
78469         * gnulib-tool (func_readlink): New function.
78470         (func_ln_if_changed): Use it.
78471
78472 2005-09-18  Bruno Haible  <bruno@clisp.org>
78473
78474         * gnulib-tool: Support --with-tests also with --import.
78475         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
78476         (func_import): Use variables $testsbase and $inctests. Emit a
78477         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
78478         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
78479         SUBDIRS += $testsdir.
78480         (func_create_testdir): Update.
78481
78482 2005-09-18  Bruno Haible  <bruno@clisp.org>
78483
78484         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
78485         instead of $dry_run.
78486         (func_cp_if_changed, func_mv_if_changed): Remove functions.
78487         (func_ln_if_changed): Don't handle dry-run here.
78488         (func_import): In dry-run mode, detect more precisely which actions
78489         would be performed, and don't use "...ing" verbs.
78490
78491 2005-09-18  Bruno Haible  <bruno@clisp.org>
78492
78493         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
78494         (func_import): Use join on two temporary files instead of three nested
78495         loops, in order to determine which files are new or old.
78496
78497 2005-09-18  Bruno Haible  <bruno@clisp.org>
78498
78499         * gnulib-tool (func_import): Comment out code that spits out the
78500         new files with --dry-run.
78501
78502 2005-09-18  Bruno Haible  <bruno@clisp.org>
78503
78504         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
78505
78506 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78507
78508         * lib/stat-time.h: New file.
78509         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
78510         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
78511         in a different way.
78512         (timespec_cmp): New function.
78513         * lib/utimecmp.c: Include stat-time.h.
78514         (SYSCALL_RESOLUTION): Depend on whether various struct stat
78515         members exist, not on the obsolescent ST_MTIM_NSEC.
78516         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
78517
78518 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78519
78520         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
78521
78522 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78523
78524         * MODULES.html.sh (File system functions): Add stat-time.
78525         * modules/stat-time: New file.
78526         * modules/timespec (Files): Remove m4/st_mtim.m4; this
78527         is now done in a different way, by the stat-time module.
78528         * modules/utimecmp (Depends-on): Add stat-time.
78529
78530 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78531
78532         * m4/st_mtim.m4: Remove.  Superseded by...
78533         * m4/stat-time.m4: New file.
78534         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
78535         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
78536
78537 2005-09-15  Derek Price  <derek@ximbiot.com>
78538
78539         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
78540
78541 2005-09-15  Derek Price  <derek@ximbiot.com>
78542
78543         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
78544         * lib/regex_internal.c: Ditto, using this...
78545         (__GNUC_PREREQ): ...new macro.
78546         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
78547         using...
78548         (__GNUC_PREREQ): ...this new macro.
78549
78550         * lib/strstr.h: Include string.h. Define strstr as a macro here.
78551
78552 2005-09-15  Derek Price  <derek@ximbiot.com>
78553             Paul Eggert  <eggert@cs.ucla.edu>
78554
78555         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
78556         changes, consolidating in...
78557         * lib/regex_internal.h: ...this file.
78558
78559 2005-09-13  Jim Meyering  <jim@meyering.net>
78560
78561         * lib/canon-host.c: Filter through gnu indent and reword comments
78562         slightly.
78563         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
78564
78565 2005-09-13  Derek Price  <derek@ximbiot.com>
78566
78567         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
78568         failure.
78569         Reported by Jim Meyering  <jim@meyering.net>.
78570
78571 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78572
78573         * lib/base64.c: Typo.
78574         (base64_encode): Put b64str in initialized data section.
78575
78576 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
78577
78578         Merge glibc and coreutils changes into gnulib, plus a few
78579         extra fixes.
78580         * lib/md5.c: Use #error rather than a string.
78581         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
78582         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
78583         (__attribute__): Define to empty for non recent-GCC.
78584         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
78585         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
78586         Renamed from their non-__ counterparts, with new macros replacing
78587         them if not _LIBC.  Add __THROW attribute.
78588         (rol): Remove.
78589         (struct md5_ctx): Align buffer if using GCC.
78590         * lib/sha1.h (struct sha1_ctx): Likewise.
78591         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
78592         The old name was backwards.
78593         (NOTSWAP): Remove; not used.
78594         (rol): New macro, moved here from md5.h.
78595         (sha1_process_block): Remove a FIXME that doesn't make sense.
78596
78597 2005-09-12  Derek Price  <derek@ximbiot.com>
78598
78599         Return usable errors from canon-host.
78600         * lib/canon-host.h: New file.
78601         * lib/canon-host.c (canon_host): Wrap...
78602         (canon_host_r): ...this new function, which now relies exclusively on
78603         getaddrinfo.
78604         (ch_strerror): New function.
78605         (last_cherror): New global.
78606         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
78607         interface.
78608         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
78609         void *.
78610         (freeaddrinfo): Free ai->ai_canonname when set.
78611
78612 2005-09-12  Derek Price  <derek@ximbiot.com>
78613
78614         Make canon-host require getaddrinfo.
78615         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
78616         AC_LIBSOURCE canon-host.h.  Call...
78617         (gl_PREREQ_CANON_HOST): ...this new function, which requires
78618         gl_GETADDRINFO.
78619         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
78620
78621 2005-09-12  Derek Price  <derek@ximbiot.com>
78622
78623         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
78624         LGPL.
78625         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
78626
78627 2005-09-12  Derek Price  <derek@ximbiot.com>
78628
78629         * lib/gai_strerror.c: Include config.h when available.  Include
78630         getaddrinfo.h before other headers to test interface.
78631         Reported by Larry Jones <lawrence.jones@ugs.com>.
78632
78633 2005-09-12  Derek Price  <derek@ximbiot.com>
78634             Paul Eggert  <eggert@cs.ucla.edu>
78635
78636         * modules/glob (Files): Add glob-libc.h.
78637
78638 2005-09-12  Derek Price  <derek@ximbiot.com>
78639             Paul Eggert  <eggert@cs.ucla.edu>
78640
78641         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
78642         glob_.h, glob-libc.h.
78643         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
78644
78645 2005-09-12  Derek Price  <derek@ximbiot.com>
78646             Paul Eggert  <eggert@cs.ucla.edu>
78647
78648         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
78649         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
78650         protecting things that should be done only in gnulib contexts.
78651         * lib/glob_.h: New file, containing only the glob things needed for
78652         gnulib.
78653         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
78654         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
78655         (glob, globfree, glob_pattern_p): Now defined simply in terms of
78656         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
78657         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
78658         and to respect the namespace rules better.
78659
78660 2005-09-08  Simon Josefsson  <jas@extundo.com>
78661
78662         * modules/socklen: New file.
78663
78664 2005-09-08  Simon Josefsson  <jas@extundo.com>
78665
78666         * m4/socklen.m4: New file.
78667
78668 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78669
78670         * modules/utimens (Files): Add m4/utimbuf.m4, since
78671         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
78672         Reported by Sergey Poznyakoff.
78673
78674 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78675
78676         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
78677         definitions, since that's the preferred style in glibc.
78678         Fix a minor spacing issue, and update copyright notice to match
78679         glibc's.
78680
78681 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78682
78683         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
78684
78685 2005-09-06  Simon Josefsson  <jas@extundo.com>
78686
78687         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
78688         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
78689
78690 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78691
78692         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
78693         warning.
78694
78695 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78696
78697         * config/srclist.txt: Add glibc bug 1302.
78698
78699 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
78700
78701         Change bitset word type from unsigned int to unsigned long int,
78702         as this has better performance on typical 64-bit hosts.
78703         Port bitset code to hosts with unusual word sizes.
78704         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
78705         (build_collating_symbol):
78706         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
78707         argument is a bitset.  This is merely a style issue, but it makes
78708         it clearer that an entire array is expected.
78709         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
78710         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
78711         Port to the case where bitset_word is not the same as unsigned int.
78712         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78713         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
78714         Likewise.
78715         * lib/regexec.c (check_dst_limits_calc_pos_1,
78716         check_subexp_matching_top):
78717         (build_trtable, group_nodes_into_DFAstates):
78718         Likewise.
78719         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
78720         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
78721         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
78722         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
78723         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
78724         * lib/regcomp.c (optimize_subexps, lower_subexp):
78725         Work even if bitset_word has holes in its bitwise representation.
78726         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
78727         * lib/regexec.c (check_dst_limits_calc_pos_1,
78728         check_subexp_matching_top):
78729         Likewise.
78730         * lib/regex_internal.c (re_string_reconstruct):
78731         Don't assume UCHAR_MAX == 255.
78732         * lib/regex_internal.h (bitset_set_all): Likewise.
78733         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
78734         All uses changed.
78735         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
78736         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
78737         All uses changed.
78738         (BITSET_WORD_MAX): New macro.
78739         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
78740         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
78741         (bitset_empty, bitset_copy):
78742         Prefer sizeof (bitset) to multiplying it out ourselves.
78743         (bitset_not_merge): Remove; unused.
78744         (bitset_contain): Return bool, not unsigned int with one bit on.
78745         All callers changed.
78746         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
78747         alignment than re_node_set; do this by defining a new internal
78748         type struct dests_alloc and using it to allocate memory.
78749
78750 2005-09-05  Bruno Haible  <bruno@clisp.org>
78751
78752         * gnulib-tool (func_import): Fix comparison in handling of symbolic
78753         links.
78754
78755 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
78756
78757         * modules/size_max (Makefile.am): Add size_max.h
78758
78759 2005-09-04  Derek Price  <derek@ximbiot.com>
78760
78761         * gnulib-tool (func_import): Fix reversed $symbolic logic.
78762
78763 2005-09-03  Simon Josefsson  <jas@extundo.com>
78764
78765         * gnulib-tool: Fix typo.
78766
78767 2005-09-03  Simon Josefsson  <jas@extundo.com>
78768
78769         * config/srclist.txt: Add glibc bug 1293.
78770
78771 2005-09-03  Derek Price  <derek@ximbiot.com>
78772
78773         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
78774         From Larry Jones <lawrence.jones@ugs.com>.
78775
78776 2005-09-02  Simon Josefsson  <jas@extundo.com>
78777
78778         * modules/socklen: New file.
78779
78780 2005-09-02  Simon Josefsson  <jas@extundo.com>
78781
78782         * modules/havelib: New module.
78783
78784         * modules/gettext, modules/iconv, modules/lock, modules/readline:
78785         Use havelib.
78786
78787 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
78788
78789         Check for arithmetic overflow when calculating sizes, to prevent
78790         some buffer-overflow issues.  These patches are conservative, in the
78791         sense that when I couldn't determine whether an overflow was possible,
78792         I inserted a run-time check.
78793         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
78794         macros.
78795         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
78796         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
78797         (re_xnrealloc, re_x2nrealloc): New inline functions.
78798         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
78799         parse_bracket_exp):
78800         (build_equiv_class, build_charclass): Check for arithmetic overflow
78801         in size expression calculations.
78802         * lib/regex_internal.c (re_string_realloc_buffers):
78803         (build_wcs_upper_buffer, re_node_set_add_intersect):
78804         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
78805         (re_dfa_add_node, register_state): Likewise.
78806         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
78807         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
78808         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
78809         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
78810
78811 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
78812
78813         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
78814         m4/ulonglong.m4.  Problem reported by Martin Lambers.
78815
78816 2005-09-02  Bruno Haible  <bruno@clisp.org>
78817
78818         Support for lib vs. lib64 distinction on biarch platforms.
78819         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
78820         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
78821         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
78822
78823 2005-09-02  Bruno Haible  <bruno@clisp.org>
78824
78825         * gnulib-tool (import): In the other first-use case, provide defaults
78826         as well.
78827
78828 2005-09-02  Bruno Haible  <bruno@clisp.org>
78829
78830         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
78831         patches not yet found in the latest gettext release.
78832
78833 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78834
78835         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
78836         to avoid a collision with bits/local_lim.h in glibc.
78837         All uses changed.  Problem reported by Dmitry V. Levin in
78838         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
78839
78840         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
78841         bugs in int versus size_t comparisons.
78842         (re_string_context_at): Fix bug where the code assumed that
78843         Idx is signed.
78844
78845         Use bool where appropriate.
78846         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
78847         All callers changed.
78848         (calc_eclosure_iter): Likewise, for ROOT arg.
78849         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
78850         (build_charclass_op): Likewise, for NON_MATCH arg.
78851         * lib/regex_internal.c (re_string_allocate, re_string_construct):
78852         (re_string_construct_common): Likewise, for ICASE arg.
78853         * lib/regexec.c (re_search_2_stub, re_search_stub):
78854         Likewise, for RET_LEN arg.
78855         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
78856         (set_regs): Likewise, for FL_BACKTRACK arg.
78857         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
78858         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
78859         (calc_eclosure_iter, parse_bracket_exp):
78860         Use bool for internal variables that are booleans.
78861         * lib/regexec.c (re_search_internal, check_matching,
78862         proceed_next_node):
78863         (set_regs, build_sifted_states, sift_states_bkref):
78864         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
78865         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78866         (find_collation_sequence_value):
78867         Likewise.
78868         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
78869         (re_node_set_compare):
78870         Return bool, not int. All callers changed.
78871         * lib/regexec.c (check_halt_node_context, check_dst_limits):
78872         (build_trtable, check_node_accept): Likewise.
78873         * lib/regex_internal.h: Include stdbool.h.
78874
78875         Fix bugs uncovered when converting to bool.
78876         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
78877         failure instead of charging ahead blindly.
78878         * lib/regex_internal.c (register_state): Likewise.
78879         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
78880         for freeing internal storage.
78881         (group_nodes_into_DFA_states): Use unsigned int, not int, for
78882         bitset pieces used as boolean, to avoid undefined behavior
78883         on hosts that do int overflow checking.
78884
78885 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78886
78887         * config/srclist.txt: Add glibc bugs 1285-1287.
78888
78889 2005-09-01  Jim Meyering  <jim@meyering.net>
78890
78891         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
78892         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
78893         Require gl_STAT_MACROS, too.
78894
78895 2005-09-01  Bruno Haible  <bruno@clisp.org>
78896
78897         * gnulib-tool (import): In the first-use case, provide defaults.
78898
78899 2005-09-01  Bruno Haible  <bruno@clisp.org>
78900
78901         * gnulib-tool (func_import): Remove the .tmp files.
78902
78903 2005-09-01  Bruno Haible  <bruno@clisp.org>
78904
78905         * gnulib-tool (func_import): Fix handling of symbolic links.
78906
78907 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78908
78909         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
78910         old glibc regex code mishandles strings longer than 2**31 bytes.
78911         This patch fixes this when the regex code is used in gnulib
78912         (i.e., outside glibc).
78913
78914         This patch should not affect the use of the regex code inside
78915         glibc.  No doubt this problem also needs to be handled for glibc
78916         as well, but the result will be an incompatible change to the
78917         glibc ABI, and the old ABI will have to be supported too.  That
78918         can be the the subject for another patch.
78919
78920         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
78921         governing whether the rest of this patch is active.  By default,
78922         the macro is disabled and the patch has no effect.
78923         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
78924         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
78925         (struct re_pattern_buffer, re_search, re_search_2, re_match):
78926         (re_match_2, re_set_registers): Use the new types.
78927         * lib/regex_internal.h (Idx, re_hashval_t): New types.
78928         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
78929         New macros.
78930         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
78931         (re_string_context_at, bin_tree_t, re_dfastate_t):
78932         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
78933         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
78934         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
78935         (re_string_char_size_at, re_string_wchar_at):
78936         (re_string_elem_size_at):
78937         Use the new types and macros to port to 64-bit hosts.
78938         Use unsigned types for internal values, so that the code
78939         mostly works even for arrays larger than SSIZE_MAX.
78940         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
78941         (search_duplicated_node, calc_eclosure_iter, fetch_number):
78942         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
78943         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
78944         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
78945         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
78946         (calc_inveclosure, parse_dup_op, build_range_exp):
78947         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
78948         (fetch_number, create_token_tree, mark_opt_subexp):
78949         Likewise.
78950         * lib/regex_internal.c (re_string_construct_common,
78951         create_ci_newstate):
78952         (create_cd_newstate, re_string_allocate, re_string_construct):
78953         (re_string_realloc_buffers, build_wcs_upper_buffer):
78954         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78955         (re_string_reconstruct, re_string_peek_byte_case):
78956         (re_string_fetch_byte_case, re_string_context_at):
78957         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78958         (re_node_set_init_copy, re_node_set_add_intersect):
78959         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78960         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78961         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78962         (re_acquire_state, re_acquire_state_context, register_state):
78963         Likewise.
78964         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
78965         search_cur_bkref_entry):
78966         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
78967         (re_search_internal, re_search_2_stub, re_search_stub)
78968         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
78969         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
78970         (update_cur_sifted_state, check_dst_limits):
78971         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78972         (check_subexp_limits, sift_states_bkref, merge_state_array):
78973         (check_subexp_matching_top, get_subexp, get_subexp_sub):
78974         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
78975         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78976         (expand_bkref_cache, check_node_accept_bytes):
78977         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
78978         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
78979         (acquire_init_state_context, check_halt_node_context):
78980         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
78981         (sift_states_backward, clean_state_log_if_needed):
78982         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
78983         (find_recover_state, transit_state_sb, transit_state_mb):
78984         (transit_state_bkref, build_trtable, match_ctx_clean):
78985         Likewise.
78986         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
78987         to work around an assumption that REG_MISSING is negative.
78988
78989         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
78990         (seek_collating_symbol_entry) [defined _LIBC]:
78991         (lookup_collation_sequence_value) [defined _LIBC]:
78992         (build_range_exp, build_collating_symbol) [defined _LIBC]:
78993         Use prototypes rather than old-style function definitions.
78994         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
78995         (transit_state_sb) [0]:
78996         (find_collation_sequence_value) [defined _LIBC]: Likewise.
78997
78998         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
78999         rm_eo.
79000
79001         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79002         (optimize_subexps, lower_subexp):
79003         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79004         since the signed shift might overflow.  Use 1u<<31 instead.
79005         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79006         Likewise.
79007         * lib/regexec.c (check_dst_limits_calc_pos_1,
79008         check_subexp_matching_top): Likewise.
79009
79010         * lib/regcomp.c (optimize_subexps, lower_subexp):
79011         Use CHAR_BIT rather than 8, for clarity.
79012         * lib/regexec.c (check_dst_limits_calc_pos_1):
79013         (check_subexp_matching_top): Likewise.
79014         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79015         have to worry about portability issues when shifting it left.
79016         Remove no-longer-needed test for table_size > 0.
79017         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79018         in a word, as the resulting behavior is undefined.
79019         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79020         in one case, a <= should have been an <, and in another case the
79021         whole test was missing.
79022         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79023         the standard name CHAR_BIT.
79024         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79025         this is not true on one's complement and signed-magnitude hosts.
79026
79027         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79028         next_last_offset.
79029         (struct re_dfa_t): Remove unused member states_alloc.
79030         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79031
79032 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79033
79034         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79035         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79036         and large-file glibc and in 32-bit large-file Solaris.
79037
79038 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79039
79040         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79041         lengths fit in regoff_t; this isn't true if regoff_t is the same
79042         width as size_t.
79043         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79044         (= START + RANGE) instead of RANGE.  This avoids overflow
79045         problems when regoff_t is the same width as size_t.
79046         All callers changed.
79047         (re_search_2_stub): Check for overflow when adding the
79048         sizes of the two strings.
79049         (re_search_stub): Check for overflow when adding START
79050         to RANGE; if it occurs, substitute the extreme value.
79051
79052 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79053
79054         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79055
79056 2005-08-31  Jim Meyering  <jim@meyering.net>
79057
79058         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79059         a pointer-to-const.
79060         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79061         (register_state): Likewise.
79062         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79063         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79064         (group_nodes_into_DFAstates): Likewise.
79065
79066 2005-08-31  Jim Meyering  <jim@meyering.net>
79067
79068         * check-module: Add a FIXME comment.
79069
79070 2005-08-31  Eric Blake  <ebb9@byu.net>
79071
79072         * modules/unistd-safer (Files): Add unistd--.h.
79073         * modules/stdio-safer (Files): Add stdio--.h.
79074
79075 2005-08-31  Derek Price  <derek@ximbiot.com>
79076
79077         * lib/getdelim.c (getdelim): Return EOF on EOF.
79078         Reported by Larry Jones <lawrence.jones@ugs.com>.
79079
79080 2005-08-31  Bruno Haible  <bruno@clisp.org>
79081
79082         Avoid unnecessary diffs in the generated lib/Makefile.am.
79083         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79084         the generated files.
79085         (func_import): Don't set cmd.
79086
79087 2005-08-31  Bruno Haible  <bruno@clisp.org>
79088
79089         * lib/strstr.c: Include <stddef.h>, for NULL.
79090         * lib/strcasestr.c: Likewise.
79091         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79092
79093 2005-08-31  Bruno Haible  <bruno@clisp.org>
79094
79095         * gnulib-tool: New option --macro-prefix.
79096         (func_import): Use macro_prefix.
79097         (import): Handle option --macro-prefix.
79098
79099 2005-08-31  Bruno Haible  <bruno@clisp.org>
79100
79101         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79102         Also use new variables cached_lgpl, cached_libtool.
79103
79104 2005-08-31  Bruno Haible  <bruno@clisp.org>
79105
79106         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79107         always instantiating them.
79108
79109 2005-08-31  Bruno Haible  <bruno@clisp.org>
79110
79111         * gnulib-tool (func_import): Read the previous cached settings
79112         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79113         earlier added by gnulib but are now dropped. Warn when a gnulib file
79114         overwrites a non-gnulib file.
79115
79116 2005-08-31  Bruno Haible  <bruno@clisp.org>
79117
79118         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79119         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79120         projects that don't keep autogenerated files in CVS. Put into
79121         actioncmd only the specified modules, not the transitive closure.
79122
79123 2005-08-31  Bruno Haible  <bruno@clisp.org>
79124
79125         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79126         Create directories that shall be filled.
79127         (import): Don't look for gl_* macros in configure.ac. Recurse across
79128         all directories containing a gnulib-cache.m4 files, if meaningful.
79129
79130 2005-08-31  Bruno Haible  <bruno@clisp.org>
79131
79132         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79133         (import): Set seen_libtool when we see gl_LIBTOOL.
79134
79135 2005-08-31  Bruno Haible  <bruno@clisp.org>
79136
79137         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79138         declaration macro definitions from generated gnulib.m4.
79139
79140 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79141
79142         * lib/iconvme.h: Add prototype for iconv_alloc.
79143
79144 2005-08-29  Simon Josefsson  <jas@extundo.com>
79145
79146         * lib/iconvme.c: Fix errno.
79147
79148 2005-08-29  Bruno Haible  <bruno@clisp.org>
79149
79150         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79151         that it works when the directory contains spaces.
79152
79153 2005-08-29  Bruno Haible  <bruno@clisp.org>
79154
79155         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79156
79157 2005-08-29  Bruno Haible  <bruno@clisp.org>
79158
79159         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79160         Emit more advice.
79161
79162 2005-08-29  Bruno Haible  <bruno@clisp.org>
79163         and Stepan Kasal  <kasal@ucw.cz>
79164
79165         * check-module: If more parameters are given, check each of them
79166         separately; add more exceptions, as noted by Jim Meyering.
79167         (check_module): New procedure.
79168         (%exempt_header): Now contains all exceptions.
79169
79170 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79171
79172         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79173
79174 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79175
79176         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79177
79178 2005-08-28  Bruno Haible  <bruno@clisp.org>
79179
79180         * m4/gnulib-tool.m4: New file.
79181
79182 2005-08-27  Jim Meyering  <jim@meyering.net>
79183
79184         * modules/unistd-safer (Files): Add pipe-safer.c.
79185         * modules/fcntl-safer (Files): Add creat-safer.c.
79186
79187 2005-08-27  Jim Meyering  <jim@meyering.net>
79188
79189         * m4/stdlib-safer.m4: New file.  From coreutils.
79190         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79191         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79192         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79193         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79194         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79195
79196 2005-08-27  Jim Meyering  <jim@meyering.net>
79197
79198         * lib/fopen-safer.c: Merge minor changes from coreutils.
79199         * lib/dup-safer.c: Likewise.
79200         * lib/fd-safer.c: Likewise.
79201
79202         Merge from coreutils.
79203         * lib/stdio--.h: New file.
79204         * lib/stdlib--.h: New file.
79205         * lib/mkstemp-safer.c: New file.
79206
79207         GNU tar needs these.
79208         * lib/pipe-safer.c: New file.
79209         * lib/creat-safer.c: New file.
79210         * lib/fcntl--.h (creat): Define to creat_safer.
79211         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79212         * lib/unistd--.h (pipe): Define to pipe_safer.
79213         * lib/unistd-safer.h: Declare pipe_safer.
79214
79215 2005-08-26  Simon Josefsson  <jas@extundo.com>
79216
79217         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79218         Haible <bruno@clisp.org>.
79219
79220 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79221
79222         * lib/regex_internal.h: Remove all references to
79223         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79224         or better.
79225         (bitset_not, bitset_merge, bitset_not_merge):
79226         (bitset_mask, re_string_allocate, re_string_construct):
79227         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79228         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79229         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79230         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79231         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79232         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79233         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79234         (re_acquire_state_context):
79235         Remove unnecessary forward decls.
79236         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79237         Put __attribute at function definition,
79238         now that the function decl has been removed.
79239         * lib/regex_internal.c (re_string_peek_byte_case):
79240         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79241         Likewise.
79242
79243 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79244
79245         * m4/regex.m4: Add AC_PREREQ(2.50).
79246         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79247
79248 2005-08-25  Simon Josefsson  <jas@extundo.com>
79249
79250         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79251         __fsetlocking.
79252
79253 2005-08-25  Simon Josefsson  <jas@extundo.com>
79254
79255         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79256         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79257         GLIBC specific code.
79258
79259 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79260
79261         Make regex safe for g++.  This fixes one real bug (an "err"
79262         that should have been "*err").  g++ problem reported by
79263         Sam Steingold.
79264         * lib/regex_internal.h (re_calloc): New macro, consistent with
79265         re_malloc etc.  All callers of calloc changed to use re_calloc.
79266         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79267         not int.  All callers changed.
79268         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79269         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79270         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79271         (find_recover_state): Change "err" to "*err"; this fixes what
79272         appears to be a real bug.
79273         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79274         versus int.
79275
79276 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79277
79278         * modules/regex (Depends-on): Add malloc, since the code
79279         assumes that !malloc(0) means failure.
79280
79281 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79282
79283         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79284
79285         alloca modernization/simplification for regex.
79286         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79287         needs to be at the start of the file, and can be moved into
79288         regex_internal.h and simplified.
79289         * lib/regex_internal.h: Include <alloca.h>.
79290         (__libc_use_alloca) [!defined _LIBC]: New macro.
79291         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79292         now works outside glibc.
79293
79294 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79295
79296         * config/srclist.txt: Add glibc bugs 1241, 1245.
79297
79298 2005-08-25  Jim Meyering  <jim@meyering.net>
79299
79300         * lib/open-safer.c: Include <config.h>.
79301         Otherwise, we'd lose LARGEFILE support in any file using
79302         e.g. "fcntl--.h"
79303
79304 2005-08-25  Bruno Haible  <bruno@clisp.org>
79305
79306         * m4/minmax.m4: Require autoconf 2.52.
79307         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79308         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79309         alternatives of translit over the alphabet.
79310         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79311
79312 2005-08-24  Simon Josefsson  <jas@extundo.com>
79313
79314         * tests/test-getpass.c: New file.
79315
79316 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79317
79318         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79319         for GNU regex features.
79320
79321 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79322
79323         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
79324         * lib/regex.h (regerror): Likewise.
79325
79326         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
79327         requires this.  (The code never needed it.)
79328
79329         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
79330         All uses of recently-renamed identifiers changed to use the new,
79331         POSIX-compliant names.  The code will build and run just fine
79332         without these changes, but it's better to eat our own dog food
79333         and use the standard-conforming names.
79334
79335         * lib/regex.h: Fix a multitude of POSIX name space violations.
79336         These changes have an effect only for programs that define
79337         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79338         do not change anything for programs compiled in the normal way.
79339         Also, there is no effect on the ABI.
79340
79341         (_REGEX_SOURCE): New macro.
79342         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79343         defined and _GNU_SOURCE is not; this fixes a name space violation.
79344
79345         Rename the following macros to obey POSIX requirements.
79346         The old names are still visible as macros if _REGEX_SOURCE is defined.
79347         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79348         RE_BACKSLASH_ESCAPE_IN_LISTS.
79349         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79350         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79351         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79352         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79353         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
79354         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
79355         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
79356         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
79357         (REG_INTERVALS): renamed from RE_INTERVALS.
79358         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
79359         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
79360         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
79361         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
79362         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
79363         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
79364         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
79365         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
79366         RE_UNMATCHED_RIGHT_PAREN_ORD.
79367         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
79368         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
79369         (REG_DEBUG): renamed from RE_DEBUG.
79370         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
79371         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
79372         unusual, since we can't clash with the POSIX REG_ICASE.
79373         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
79374         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
79375         (REG_NO_SUB): renamed from RE_NO_SUB.
79376         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
79377         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
79378         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
79379         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
79380         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
79381         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
79382         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
79383         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
79384         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
79385         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
79386         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
79387         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
79388         RE_SYNTAX_POSIX_MINIMAL_BASIC.
79389         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
79390         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
79391         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
79392         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
79393         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
79394         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
79395         (REG_FIXED): Renamed from REGS_FIXED.
79396         (REG_NREGS): Renamed from RE_NREGS.
79397
79398         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
79399         of other REG_* macros, since POSIX says the user is allowed to
79400         #undef these macros selectively.
79401
79402         (reg_errcode_t): Update comment stating what other tables need
79403         to be consistent.
79404
79405         Rename the following enum values to obey POSIX requirements.
79406         The old names are still visible as macros.
79407         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
79408         is not defined, since GNU is supposed to be a superset of POSIX as
79409         much as possible, and since we want reg_errcode_t to be a signed
79410         type for implementation consistency.
79411         (_REG_NOERROR): Renamed from REG_NOERROR.
79412         (_REG_NOMATCH): Renamed from REG_NOMATCH.
79413         (_REG_BADPAT): Renamed from REG_BADPAT.
79414         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
79415         (_REG_ECTYPE): Renamed from REG_ECTYPE.
79416         (_REG_EESCAPE): Renamed from REG_EESCAPE.
79417         (_REG_ESUBREG): Renamed from REG_ESUBREG.
79418         (_REG_EBRACK): Renamed from REG_EBRACK.
79419         (_REG_EPAREN): Renamed from REG_EPAREN.
79420         (_REG_EBRACE): Renamed from REG_EBRACE.
79421         (_REG_BADBR): Renamed from REG_BADBR.
79422         (_REG_ERANGE): Renamed from REG_ERANGE.
79423         (_REG_ESPACE): Renamed from REG_ESPACE.
79424         (_REG_BADRPT): Renamed from REG_BADRPT.
79425         (_REG_EEND): Renamed from REG_EEND.
79426         (_REG_ESIZE): Renamed from REG_ESIZE.
79427         (_REG_ERPAREN): Renamed from REG_ERPAREN.
79428         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
79429         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
79430         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
79431         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
79432
79433         (_REG_RE_NAME, _REG_RM_NAME): New macros.
79434         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
79435         changed.  But support the old name if the new one is not defined
79436         and if _REGEX_SOURCE.
79437
79438         Change the following member names in struct re_pattern_buffer.
79439         The old names are still supported if !_REGEX_SOURCE.
79440         The new names are always supported, regardless of _REGEX_SOURCE.
79441         (re_buffer): Renamed from buffer.
79442         (re_allocated): Renamed from allocated.
79443         (re_used): Renamed from used.
79444         (re_syntax): Renamed from syntax.
79445         (re_fastmap): Renamed from fastmap.
79446         (re_translate): Renamed from translate.
79447         (re_can_be_null): Renamed from can_be_null.
79448         (re_regs_allocated): Renamed from regs_allocated.
79449         (re_fastmap_accurate): Renamed from fastmap_accurate.
79450         (re_no_sub): Renamed from no_sub.
79451         (re_not_bol): Renamed from not_bol.
79452         (re_not_eol): Renamed from not_eol.
79453         (re_newline_anchor): Renamed from newline_anchor.
79454
79455         Change the following member names in struct re_registers.
79456         The old names are still supported if !_REGEX_SOURCE.
79457         The new names are always supported, regardless of _REGEX_SOURCE.
79458         (rm_num_regs): Renamed from num_regs.
79459         (rm_start): Renamed from start.
79460         (rm_end): Renamed from end.
79461
79462         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
79463         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
79464         Prepend __ to parameter names.
79465
79466         Undo yesterday's changes.
79467
79468 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79469
79470         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
79471         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
79472         lib/regex.c.
79473
79474 2005-08-24  Jim Meyering  <jim@meyering.net>
79475
79476         Sync from coreutils.
79477         * m4/fcntl-safer.m4: New file.
79478
79479         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
79480         and object files for this module.
79481
79482 2005-08-24  Jim Meyering  <jim@meyering.net>
79483
79484         Sync from coreutils.
79485         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
79486
79487 2005-08-24  Jim Meyering  <jim@meyering.net>
79488
79489         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
79490         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
79491
79492 2005-08-24  Jim Meyering  <jim@meyering.net>
79493
79494         * modules/fcntl-safer: New module.
79495         * modules/fts (Depends-on): Add fcntl-safer.
79496         * MODULES.html.sh (File descriptor based Input/Output):
79497         Add fcntl-safer.
79498
79499 2005-08-24  Bruno Haible  <bruno@clisp.org>
79500
79501         Support for unit test modules.
79502         * modules/README: Mention tests modules.
79503         * modules/TEMPLATE-TESTS: New file.
79504         * gnulib-tool: New options --extract-tests-module, --with-tests and
79505         --tests-base (unused for the moment).
79506         (testsbase, inctests): New variables.
79507         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
79508         (func_verify_module): Exclude TEMPLATE-TESTS.
79509         (func_verify_nontests_module, func_verify_tests_module): New functions.
79510         (func_get_dependencies): Add implicit dependency for tests modules.
79511         (func_get_tests_module): New function.
79512         (func_modules_transitive_closure): When --with-tests was specified,
79513         include the unit tests as well, unless explicitly avoided.
79514         (func_emit_lib_Makefile_am): Ignore the tests modules here.
79515         (func_emit_tests_Makefile_am): New function.
79516         (func_create_testdir): When --with-tests was specified, emit a
79517         tests/ directory.
79518         * MODULES.html.sh (Future developments): Update.
79519
79520 2005-08-24  Bruno Haible  <bruno@clisp.org>
79521
79522         * modules/tls-tests: New file.
79523         * tests/test-tls.c: New file, from GNU gettext.
79524
79525 2005-08-24  Bruno Haible  <bruno@clisp.org>
79526
79527         * modules/lock-tests: New file.
79528         * tests/test-lock.c: New file, from GNU gettext.
79529
79530 2005-08-24  Bruno Haible  <bruno@clisp.org>
79531
79532         * lib/lock.h: Add multiple inclusion guard.
79533         * lib/tls.h: Add multiple inclusion guard.
79534
79535 2005-08-24  Bruno Haible  <bruno@clisp.org>
79536
79537         * gnulib-tool: Add support for the --aux-dir option to
79538         --create-testdir, --create-megatestdir, --test, --megatest.
79539         (func_create_testdir, func_create_megatestdir): Optionally emit a
79540         AC_CONFIG_AUX_DIR directive.
79541         (create-testdir, create-megatestdir, test, megatest): Provide a
79542         default value for $auxdir.
79543
79544 2005-08-24  Bruno Haible  <bruno@clisp.org>
79545
79546         * gnulib-tool (import): Use compound statement instead of subshell
79547         where possible.
79548
79549 2005-08-24  Bruno Haible  <bruno@clisp.org>
79550
79551         * gnulib-tool (import): Change --aux-dir default to "build-aux".
79552
79553 2005-08-24  Bruno Haible  <bruno@clisp.org>
79554
79555         * gnulib-tool (func_version): Update.
79556
79557 2005-08-24  Bruno Haible  <bruno@clisp.org>
79558
79559         * gnulib-tool (func_import, func_create_testdir,
79560         func_create_megatestdir): Quote all autoconf macro arguments.
79561
79562 2005-08-24  Bruno Haible  <bruno@clisp.org>
79563
79564         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
79565         option --force, because --force causes the aclocal.m4 of each
79566         subdirectory to be newer than the corresponding config.h.in.
79567
79568 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79569
79570         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
79571         All contents moved to gl_REGEX.
79572         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
79573         assume that it does.
79574
79575 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79576
79577         * lib/regex.h (REG_NOSYS)
79578         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
79579         Define, since POSIX requires it as of 2001.
79580         (_REG_ENOSYS)
79581         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
79582         New private symbol, used to keep the enum signed in all cases.
79583         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
79584         Youngman in
79585         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
79586
79587         * lib/regex_internal.c (re_string_skip_chars, register_state):
79588         (calc_state_hash):
79589         Remove forward decls; no longer needed now that we use prototypes.
79590         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
79591         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
79592         (clean_state_log_if_needed): Likewise.
79593
79594 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79595
79596         * config/srclist.txt: Add glibc bugs 1231-1233.
79597
79598 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79599
79600         Fix problems reported by Sam Steingold in
79601         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
79602         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
79603         assumed that reg_errcode_t is a signed type, which is not
79604         necessarily true if _XOPEN_SOURCE is not defined.
79605         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
79606         since some compilers warn about it otherwise.
79607
79608 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79609
79610         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
79611         (init_word_char, create_initial_state, duplicate_node_closure):
79612         (fetch_token, peek_token_bracket, build_range_exp):
79613         (build_collating_symbol): Remove forward decls; no longer needed
79614         now that we use prototypes.
79615
79616         * lib/regcomp.c:
79617         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
79618         (re_compile_fastmap_iter, regcomp, regerror, regfree):
79619         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
79620         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
79621         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
79622         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
79623         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
79624         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
79625         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
79626         (build_range_exp, build_collating_symbol, parse_bracket_exp):
79627         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
79628         (build_charclass, build_charclass_op, fetch_number, create_tree):
79629         (create_token_tree, mark_opt_subexp, duplicate_tree):
79630         Use prototypes rather than old-style definitions.
79631
79632         * lib/regex_internal.c:
79633         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
79634         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
79635         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79636         (re_string_reconstruct, re_string_peek_byte_case):
79637         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
79638         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79639         (re_node_set_init_copy, re_node_set_add_intersect):
79640         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79641         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79642         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79643         (re_acquire_state, re_acquire_state_context, register_state):
79644         (create_ci_newstate, create_cd_newstate, free_state):
79645         Likewise.
79646         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
79647         re_search_2):
79648         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
79649         (re_search_internal, prune_impossible_nodes):
79650         (acquire_init_state_context, check_matching, static):
79651         (check_halt_node_context, check_halt_state_context, proceed_next_node):
79652         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
79653         (update_regs, sift_states_backward, build_sifted_states):
79654         (clean_state_log_if_needed, merge_state_array):
79655         (update_cur_sifted_state, add_epsilon_src_nodes):
79656         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
79657         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
79658         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
79659         (find_recover_state, check_subexp_matching_top, transit_state_mb):
79660         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
79661         (check_arrival, check_arrival_add_next_nodes):
79662         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79663         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79664         (check_node_accept_bytes, check_node_accept, extend_buffers):
79665         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
79666         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
79667         (sift_ctx_init):
79668         Likewise.
79669
79670         * lib/regex_internal.h:
79671         (re_string_allocate, re_string_construct, re_string_reconstruct):
79672         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
79673         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
79674         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
79675         (re_string_context_at, re_string_peek_byte_case):
79676         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
79677         is defined, since we now use prototypes always.
79678
79679         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
79680         C89 or better.  All uses removed.
79681
79682 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79683
79684         * config/srclist.txt: Add glibc bugs 1220-1227.
79685
79686 2005-08-20  Jim Meyering  <jim@meyering.net>
79687
79688         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
79689         of unused local, dfa.
79690
79691 2005-08-20  Bruno Haible  <bruno@clisp.org>
79692
79693         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
79694
79695 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79696
79697         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
79698         (re_node_set_insert_last, re_dfa_add_node):
79699         Rename local variables to avoid GCC shadowing warnings.
79700
79701 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79702
79703         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
79704         [defined lint]: Suppress bogus uninitialized-variable warnings.
79705
79706         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
79707         and let the caller return REG_ESPACE if out of space.  This
79708         removes an uninitialied-variable warning with GCC 4.0.1, and also
79709         avoids taking the address of a local variable.  All callers
79710         changed.
79711
79712 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79713
79714         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
79715         $LIBCSRC/posix/regexec.c.
79716         Add glibc bug 1217 for regcomp.c.
79717
79718 2005-08-19  Jim Meyering  <jim@meyering.net>
79719
79720         * lib/regexec.c (proceed_next_node): Redo local variables to
79721         avoid GCC shadowing warnings.
79722
79723 2005-08-18  Bruno Haible  <bruno@clisp.org>
79724
79725         * lib/strstr.c (strstr): Fix return value in multibyte case.
79726         * lib/strcasestr.c (strcasestr): Likewise.
79727
79728 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79729
79730         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
79731
79732 2005-08-17  Jim Meyering  <jim@meyering.net>
79733
79734         Make the %s format (seconds since the epoch) work for a negative
79735         number and when used with a zero-padded field width, e.g. %015s.
79736
79737         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
79738         label so that it precedes the code to set `digits'.  Otherwise,
79739         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
79740         print `00-22'.  Now, it prints `-0022', as it should.
79741
79742 2005-08-17  Bruno Haible  <bruno@clisp.org>
79743
79744         * modules/strstr (Files): Add m4/mbrtowc.m4.
79745         (Depends-on): Add mbuiter.
79746
79747 2005-08-17  Bruno Haible  <bruno@clisp.org>
79748
79749         * modules/strcasestr: New file.
79750         * MODULES.html.sh (String handling, based on ANSI C 89): Add
79751         strcasestr.
79752
79753 2005-08-17  Bruno Haible  <bruno@clisp.org>
79754
79755         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
79756
79757 2005-08-17  Bruno Haible  <bruno@clisp.org>
79758
79759         * modules/mbuiter: New file.
79760         * MODULES.html.sh (Extended multibyte and wide character utilities):
79761         Add mbuiter.
79762
79763 2005-08-17  Bruno Haible  <bruno@clisp.org>
79764
79765         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
79766         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
79767
79768 2005-08-17  Bruno Haible  <bruno@clisp.org>
79769
79770         * m4/strcasestr.m4: New file.
79771
79772 2005-08-17  Bruno Haible  <bruno@clisp.org>
79773
79774         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
79775         * lib/strstr.c: Completely rewritten, with multibyte locale support.
79776
79777 2005-08-17  Bruno Haible  <bruno@clisp.org>
79778
79779         * lib/strcasestr.h: New file.
79780         * lib/strcasestr.c: New file.
79781
79782 2005-08-17  Bruno Haible  <bruno@clisp.org>
79783
79784         * lib/strcasecmp.c: Use mbuiter.h.
79785
79786 2005-08-17  Bruno Haible  <bruno@clisp.org>
79787
79788         * lib/mbuiter.h: New file.
79789
79790 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79791
79792         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
79793         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
79794         and gl_GETOPT are both invoked via different paths (as happens
79795         with GNU tar CVS because it uses both argp and getopt), the former
79796         wins.
79797
79798 2005-08-16  Bruno Haible  <bruno@clisp.org>
79799
79800         * modules/tls: New file.
79801         * MODULES.html.sh (Multithreading): Add tls.
79802
79803 2005-08-16  Bruno Haible  <bruno@clisp.org>
79804
79805         * modules/strnlen1: New file.
79806         * MODULES.html.sh (String handling): Add strnlen1.
79807
79808 2005-08-16  Bruno Haible  <bruno@clisp.org>
79809
79810         * modules/strcase (Files): Add m4/mbrtowc.m4.
79811         (Depends-on): Add strnlen1, mbchar.
79812
79813 2005-08-16  Bruno Haible  <bruno@clisp.org>
79814
79815         * modules/mbiter: New file.
79816         * MODULES.html.sh (Extended multibyte and wide character utilities):
79817         Add mbiter.
79818
79819 2005-08-16  Bruno Haible  <bruno@clisp.org>
79820
79821         * modules/mbfile: New file.
79822         * MODULES.html.sh (Extended multibyte and wide character utilities):
79823         Add mbfile.
79824
79825 2005-08-16  Bruno Haible  <bruno@clisp.org>
79826
79827         * modules/mbchar: New file.
79828         * MODULES.html.sh (Extended multibyte and wide character utilities):
79829         New section.
79830
79831 2005-08-16  Bruno Haible  <bruno@clisp.org>
79832
79833         * m4/tls.m4: New file, from GNU gettext.
79834
79835 2005-08-16  Bruno Haible  <bruno@clisp.org>
79836
79837         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
79838         always.
79839         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
79840
79841 2005-08-16  Bruno Haible  <bruno@clisp.org>
79842
79843         * m4/mbiter.m4: New file.
79844
79845 2005-08-16  Bruno Haible  <bruno@clisp.org>
79846
79847         * m4/mbfile.m4: New file.
79848
79849 2005-08-16  Bruno Haible  <bruno@clisp.org>
79850
79851         * m4/mbchar.m4: New file.
79852
79853 2005-08-16  Bruno Haible  <bruno@clisp.org>
79854
79855         * lib/tls.h: New file, from GNU gettext.
79856         * lib/tls.c: New file, from GNU gettext.
79857
79858 2005-08-16  Bruno Haible  <bruno@clisp.org>
79859
79860         * lib/strnlen1.h: New file.
79861         * lib/strnlen1.c: New file.
79862
79863 2005-08-16  Bruno Haible  <bruno@clisp.org>
79864
79865         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
79866         (mbi_init): Update.
79867         (mbi_avail, mbi_advance): Let the iteration end before the terminating
79868         NUL byte, not after it.
79869
79870 2005-08-16  Bruno Haible  <bruno@clisp.org>
79871
79872         * lib/strcase.h (strcasecmp): Add note in comments.
79873         * lib/strncasecmp.c: Use code from strcasecmp.c.
79874         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
79875         (strcasecmp): Work correctly in multibyte locales.
79876
79877 2005-08-16  Bruno Haible  <bruno@clisp.org>
79878
79879         * lib/mbiter.h: New file.
79880
79881 2005-08-16  Bruno Haible  <bruno@clisp.org>
79882
79883         * lib/mbfile.h: New file.
79884
79885 2005-08-16  Bruno Haible  <bruno@clisp.org>
79886
79887         * lib/mbchar.h: New file.
79888         * lib/mbchar.c: New file.
79889
79890 2005-08-16  Bruno Haible  <bruno@clisp.org>
79891
79892         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
79893         the valid ones. Makes the comparison operations transitive:
79894         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
79895         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
79896
79897 2005-08-15  Simon Josefsson  <jas@extundo.com>
79898
79899         * modules/ssize_t (License): Change to 'unlimited'.
79900
79901         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
79902
79903 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79904
79905         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
79906         Add comments for each pending glibc patch.
79907
79908 2005-08-15  Bruno Haible  <bruno@clisp.org>
79909
79910         * lib/regex.h (__restrict_arr): Don't define to __restrict if
79911         __cplusplus is defined.
79912
79913 2005-08-14  Jim Meyering  <jim@meyering.net>
79914
79915         Sync from coreutils.
79916
79917         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
79918         Use the hash-table-based cycle-detection code not just when
79919         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
79920         Reported by James Youngman in
79921         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
79922         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
79923         FTS_TIGHT_CYCLE_CHECK.
79924         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
79925         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
79926         once again.
79927         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
79928         * lib/fts.c (fd_safer): Remove decl.
79929         Include fcntl--.h rather than unistd-safer.h
79930         (fts_safe_changedir): Don't call fd_safer; no longer needed
79931         now that we include fcntl--.h.
79932
79933 2005-08-12  Simon Josefsson  <jas@extundo.com>
79934
79935         * modules/getndelim2: Use ssize_t module.
79936         * modules/getnline: Likewise.
79937         * modules/safe-read: Likewise.
79938         * modules/xreadlink: Likewise.
79939
79940         * modules/ssize_t: New file.
79941
79942 2005-08-12  Simon Josefsson  <jas@extundo.com>
79943
79944         * m4/readline.m4: Look for termcap, curses or ncurses if required.
79945
79946 2005-08-12  Simon Josefsson  <jas@extundo.com>
79947
79948         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79949         ssize_t.
79950
79951 2005-08-12  Simon Josefsson  <jas@extundo.com>
79952
79953         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
79954         readline, getdelim and check_version.
79955         (Support for systems lacking ISO C 99: Sizes of integer types):
79956         Add size_max.
79957
79958 2005-08-12  Bruno Haible  <bruno@clisp.org>
79959
79960         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
79961
79962 2005-08-11  Simon Josefsson  <jas@extundo.com>
79963
79964         * modules/readline: New file.
79965
79966         * modules/strnlen (Files): Add strnlen.h.
79967
79968 2005-08-11  Simon Josefsson  <jas@extundo.com>
79969
79970         * m4/readline.m4: New file.
79971
79972 2005-08-11  Simon Josefsson  <jas@extundo.com>
79973
79974         * lib/readline.h, readline.c: New file.
79975
79976 2005-08-11  Simon Josefsson  <jas@extundo.com>
79977
79978         * doc/gnulib.texi (Initial import, Finishing touches): Mention
79979         gl_AVOID.
79980
79981 2005-08-11  Bruno Haible  <bruno@clisp.org>
79982
79983         * lib/strnlen.h (strnlen): Change parameter name to match comment.
79984
79985 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
79986
79987         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
79988
79989 2005-08-10  Simon Josefsson  <jas@extundo.com>
79990
79991         * tests/test-iconvme.c: New file.
79992
79993 2005-08-10  Simon Josefsson  <jas@extundo.com>
79994
79995         * m4/strnlen.m4: New file.
79996
79997         * m4/strndup.m4: Don't check for strnlen declaration, done in
79998         strnlen.m4.
79999
80000 2005-08-10  Simon Josefsson  <jas@extundo.com>
80001
80002         * lib/strndup.c: Use strnlen.h.
80003
80004         * lib/strnlen.h: New file.
80005
80006 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80007
80008         * README: Typos.
80009
80010 2005-08-02  Simon Josefsson  <jas@extundo.com>
80011
80012         * modules/readline: New file.
80013
80014 2005-08-02  Simon Josefsson  <jas@extundo.com>
80015
80016         * modules/getdelim: New file.
80017
80018         * modules/getline: Rewrite, don't use getndelim2.
80019
80020 2005-08-02  Simon Josefsson  <jas@extundo.com>
80021
80022         * m4/getline.m4: Separate out getdelim stuff into separate module.
80023
80024         * m4/getdelim.m4: New file.
80025
80026 2005-08-02  Simon Josefsson  <jas@extundo.com>
80027
80028         * lib/getline.h, getline.c: Rewrite.
80029
80030         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80031
80032 2005-07-31  Bruno Haible  <bruno@clisp.org>
80033
80034         * lib/lock.h (gl_lock_initializer): New macro.
80035         (gl_lock_define_initialized): Use it.
80036         (gl_rwlock_initializer): New macro.
80037         (gl_rwlock_define_initialized): Use it.
80038         (gl_recursive_lock_initializer): New macro.
80039         (gl_recursive_lock_define_initialized): Use it.
80040
80041 2005-07-30  Karl Berry  <karl@gnu.org>
80042
80043         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80044         Report from Ben Pfaff, regarding getopt.
80045
80046 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80047
80048         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80049         normal way.
80050         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80051         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80052         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80053         (gl_GETOPT): Use the new macros.  Most of the implementation
80054         is moved to the new macros.  This is for programs like Emacs
80055         that don't want all the functionality of gl_GETOPT.
80056
80057 2005-07-26  Bruno Haible  <bruno@clisp.org>
80058
80059         * m4/lock.m4: Update from GNU gettext.
80060
80061 2005-07-26  Bruno Haible  <bruno@clisp.org>
80062
80063         * lib/lock.h: Update from GNU gettext.
80064         * lib/lock.c: Update from GNU gettext.
80065
80066 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80067
80068         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80069         obsolescent AC_TRY_RUN.  Include the default includes files, for
80070         'exit'.
80071
80072 2005-07-24  Bruno Haible  <bruno@clisp.org>
80073
80074         * modules/visibility: New file.
80075         * MODULES.html.sh (Misc): Add visibility.
80076
80077 2005-07-24  Bruno Haible  <bruno@clisp.org>
80078
80079         * m4/visibility.m4: New file.
80080
80081 2005-07-24  Bruno Haible  <bruno@clisp.org>
80082
80083         * doc/visibility.texi: New file.
80084
80085 2005-07-22  Bruno Haible  <bruno@clisp.org>
80086
80087         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80088         $(ALLOCA_H), redundant through BUILT_SOURCES.
80089         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80090         redundant through BUILT_SOURCES.
80091         * modules/byteswap (Makefile.am): Remove explicit dependency on
80092         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80093         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80094         $(FNMATCH_H), redundant through BUILT_SOURCES.
80095         * modules/getopt (Makefile.am): Remove explicit dependency on
80096         $(GETOPT_H), redundant through BUILT_SOURCES.
80097         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80098         redundant through BUILT_SOURCES.
80099         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80100         redundant through BUILT_SOURCES.
80101         * modules/stdbool (Makefile.am): Remove explicit dependency on
80102         $(STDBOOL_H), redundant through BUILT_SOURCES.
80103         * modules/stdint (Makefile.am): Remove explicit dependency on
80104         $(STDINT_H), redundant through BUILT_SOURCES.
80105         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80106         Remove explicit dependency on $(SYSEXITS_H).
80107         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80108
80109 2005-07-18  Simon Josefsson  <jas@extundo.com>
80110
80111         * lib/check-version.c (check_version): Accept identical versions too.
80112
80113 2005-07-18  Bruno Haible  <bruno@clisp.org>
80114
80115         * modules/lock: New file.
80116         * MODULES.html.sh (Multithreading): New section.
80117
80118 2005-07-18  Bruno Haible  <bruno@clisp.org>
80119
80120         * m4/lock.m4: New file, from GNU gettext.
80121
80122 2005-07-18  Bruno Haible  <bruno@clisp.org>
80123
80124         * lib/lock.h: New file, from GNU gettext.
80125         * lib/lock.c: New file, from GNU gettext.
80126
80127 2005-07-18  Bruno Haible  <bruno@clisp.org>
80128
80129         * lib/lock.h (gl_once_t): New type.
80130         (gl_once_define, gl_once): New macros.
80131         * lib/lock.c (fresh_once): New variable.
80132         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80133         functions.
80134
80135 2005-07-16  Simon Josefsson  <jas@extundo.com>
80136
80137         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80138         workaround, suggested by Bruno.
80139
80140 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80141
80142         * modules/xalloc (Depends-on): Add xalloc-die.
80143         * modules/xvasprintf (Depends-on): Add xalloc-die.
80144
80145 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80146
80147         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80148         with a minor change.
80149
80150 2005-07-15  Bruno Haible  <bruno@clisp.org>
80151
80152         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80153         When using lib/poll.c, define poll as rpl_poll.
80154
80155 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80156
80157         * modules/argp (Depends-on): Remove unlocked-io.
80158
80159 2005-07-14  Derek Price  <derek@ximbiot.com>
80160
80161         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80162         for glob symlink bug.
80163
80164 2005-07-14  Bruno Haible  <bruno@clisp.org>
80165
80166         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80167         Instead, test for *_unlocked function declarations directly.
80168
80169 2005-07-11  Simon Josefsson  <jas@extundo.com>
80170
80171         * modules/size_max: New file.
80172
80173         * modules/xsize: Depend on size_max module for size_max.m4.
80174
80175 2005-07-11  Simon Josefsson  <jas@extundo.com>
80176
80177         * lib/size_max.h: New file.
80178
80179 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80180
80181         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80182         copyright symbol and the year.
80183         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80184         (version_etc_va): Use parameterized copyright notice.
80185         Reword to conform to the current GNU coding standards.
80186
80187 2005-07-11  Karl Berry  <karl@gnu.org>
80188
80189         * doc/gnulib.texi (Quoting): new node.
80190         (Initial import): more info, from Patrice.
80191
80192 2005-07-11  Bruno Haible  <bruno@clisp.org>
80193
80194         * gnulib-tool (func_usage): Document option --avoid.
80195         (Command line options): Handle --avoid.
80196         (func_acceptable): New function.
80197         (func_modules_transitive_closure): Use it.
80198
80199 2005-07-11  Bruno Haible  <bruno@clisp.org>
80200
80201         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80202         Reported by Jim Meyering.
80203
80204 2005-07-10  Bruno Haible  <bruno@clisp.org>
80205
80206         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80207         Needed when size_t is smaller than 'unsigned int'.
80208         Reported by Paul Eggert.
80209
80210 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80211
80212         * modules/argp (Depends-on): Add unlocked-io
80213
80214 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80215
80216         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80217         block of defines.
80218
80219 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80220
80221         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80222         fix now.
80223
80224 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80225         and Paul Eggert  <eggert@cs.ucla.edu>
80226
80227         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80228         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80229
80230 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80231
80232         * modules/regex (Files): Add lib/regex_internal.c,
80233         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80234         (Depends-on): Add extensions.
80235         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80236
80237 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80238
80239         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80240         pathconf.
80241         * m4/same.m4 (gl_SAME): Likewise.
80242         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80243
80244         * m4/regex.m4: Adjust to new libc regex implementation.
80245         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80246         all the .c and .h parts of (the new) regex.
80247         Quote the m4 stuff better.
80248         Check for RE_ICASE bug of old gnulib.
80249         Check for REG_STARTEND of recent libc.
80250         Rename local variables from jm_* to gl_*.
80251         Quote operand of "test -f".
80252         Say "recent enough" version of libc, not "version 2".
80253         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80254         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80255         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80256         Remove check for btowc, isascii.
80257         Require AM_LANGINFO_CODESET.
80258
80259 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80260
80261         * lib/regex.c, regex.h: Sync from libc.
80262         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80263         * lib/regexec.c:
80264         New files, synced from libc, except that regex_internal.h
80265         currently has a small porting fix.
80266
80267 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80268
80269         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80270         regex_internal.c, regexec.c.
80271         Add regex_internal.h too, but as a comment, since the libc version
80272         is currently broken in gnulib mode.
80273
80274 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80275
80276         Support programs like Emacs that use gnulib but not gettext.
80277         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80278         * modules/gettext-h: New file.
80279         * modules/gettext (Files): Remove lib/gettext.h.
80280         (Depends-on): Add gettext-h.
80281         (Makefile.am): Remove lib_SOURCES.
80282         * modules/argmatch, modules/c-stack, modules/closeout:
80283         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80284         * modules/execute, modules/file-type, modules/getaddrinfo:
80285         * modules/getopt, modules/human, modules/javacomp:
80286         * modules/javaexec, modules/mkdir-p, modules/obstack:
80287         * modules/openat, modules/pagealign_alloc, modules/pipe:
80288         * modules/quotearg, modules/regex, modules/rpmatch:
80289         * modules/unicodeio, modules/userspec, modules/version-etc:
80290         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80291         * modules/xsetenv:
80292         Depend on gettext-h, not gettext.
80293
80294 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80295
80296         * gnulib-tool (func_import): Add support for 'public domain' license.
80297         * modules/alloca, modules/atexit, modules/memmove:
80298         Now public domain, not GPL.
80299         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80300         * modules/realloc, modules/strerror, modules/strtod:
80301         Now LGPL, not GPL.
80302
80303 2005-07-05  Bruno Haible  <bruno@clisp.org>
80304
80305         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80306         autoconf CVS. Needed for mingw.
80307
80308 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80309
80310         Remove the dependency of the strftime module on the tzset module.
80311         * modules/strftime (Depends-on): Remove dependency on tzset.
80312
80313 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80314
80315         Remove the dependency of the strftime module on the tzset module.
80316         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80317         gl_FUNC_TZSET_CLOBBER.
80318
80319 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80320
80321         Remove the dependency of the strftime module on the tzset module.
80322         * lib/strftime.c (my_strftime)
80323         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
80324         Copy the input structure, to work around some of the bug with
80325         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
80326         Solaris releases, you should also use the tzset module, but we won't
80327         require it as a dependency any more since we don't want LGPLed code
80328         to depend on GPLed code.
80329
80330 2005-07-02  Jim Meyering  <jim@meyering.net>
80331
80332         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
80333         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
80334         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80335         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80336
80337 2005-07-02  Jim Meyering  <jim@meyering.net>
80338
80339         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80340
80341 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80342
80343         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80344         declares only 'struct timespec;' (!).
80345
80346 2005-07-01  Jim Meyering  <jim@meyering.net>
80347
80348         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80349         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80350         * lib/save-cwd.c, tempname.c:
80351         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80352         and don't include <sys/file.h>).
80353
80354 2005-06-29  Jim Meyering  <jim@meyering.net>
80355
80356         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
80357         type name.  Use the variable name instead.
80358         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
80359         Likewise.
80360
80361 2005-06-28  Simon Josefsson  <jas@extundo.com>
80362
80363         * modules/check-version (Files): Add check-version.m4.
80364
80365 2005-06-28  Simon Josefsson  <jas@extundo.com>
80366
80367         * m4/check-version.m4: New file, suggested by Jim Meyering
80368         <jim@meyering.net>.
80369
80370 2005-06-28  Simon Josefsson  <jas@extundo.com>
80371
80372         * lib/check-version.h, lib/check-version.c: New files.
80373
80374 2005-06-28  Simon Josefsson  <jas@extundo.com>
80375
80376         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
80377         collision with global variable.  Better indentation.  Don't
80378         increment buffer pointer beyond buffer end.  Based on comments
80379         from Paul Eggert <eggert@cs.ucla.edu>.
80380
80381         * lib/base64.h: Indent.
80382
80383 2005-06-28  Simon Josefsson  <jas@extundo.com>
80384
80385         * doc/gnulib.texi (Library version handling): New section.
80386
80387 2005-06-28  Jim Meyering  <jim@meyering.net>
80388
80389         * check-module (find_included_lib_files): Hard-code another
80390         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
80391         but modules/fts-lgpl (correctly) does not list those files.
80392
80393         * modules/canonicalize (Files): Add lib/pathmax.h.
80394
80395 2005-06-25  Simon Josefsson  <jas@extundo.com>
80396
80397         * modules/check-version: New file.
80398
80399 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
80400
80401         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
80402         initializer of struct addrinfo, as an indication that we don't
80403         care how many members the structure has.
80404
80405 2005-06-24  Derek Price  <derek@ximbiot.com>
80406         and Bruno Haible  <bruno@clisp.org>
80407
80408         Remove stat module & update lstat.
80409         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
80410         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80411         * m4/stat.m4: Remove this file.
80412
80413 2005-06-24  Derek Price  <derek@ximbiot.com>
80414         and Bruno Haible  <bruno@clisp.org>
80415
80416         Remove stat module & update lstat.
80417         * lib/stat.c: Remove this file...
80418         (slash_aware_lstat): ...moving this content and its support...
80419         * lib/lstat.c (rpl_lstat): ...into here.
80420         * lib/lstat.h: New file.
80421
80422 2005-06-24  Derek Price  <derek@ximbiot.com>
80423         and Bruno Haible  <bruno@clisp.org>
80424
80425         Remove stat module & update lstat.
80426         * config/srclist.txt (libc sources): Remove stat.
80427
80428 2005-06-24  Derek Price  <derek@ximbiot.com>
80429         and Bruno Haible  <bruno@clisp.org>
80430
80431         Remove stat module & update lstat.
80432         * MODULES.html.sh (stat): Remove.
80433         * MODULES.html: Regenerated.
80434         * modules/lstat (Description): Correct function name.
80435         (Files): Add "lstat.h".
80436         (Depends-on): Remove stat, add xalloc, stat-macros.
80437         * modules/stat: Remove this file.
80438         (Include): Add "lstat.h", remove <sys/stat.h>.
80439
80440 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
80441
80442         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
80443         (ranged_convert): Don't save conversion in a temporary struct.
80444         This causes a warning with GCC 4.0.0, and anyway in the typical
80445         case it's not worth the extra 100 bytes or so of code.
80446         (ranged_convert, __mktime_internal): When calling a function via a
80447         pointer P, use P () rather than (*P) (), as we now assume C89 or
80448         better.
80449
80450 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80451
80452         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
80453         "who -r" failed to give output.  Problem reported by Tim Waugh.
80454
80455         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
80456         (xcalloc): Use it to avoid needless tests.
80457         Problem reported by Jim Meyering.
80458
80459 2005-06-20  Derek Price  <derek@ximbiot.com>
80460
80461         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
80462         unnecessary for Autoconfs > 2.59c.
80463
80464 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80465
80466         * lib/argp.h (__option_is_short): Check upper limit of
80467         __key. Isprint() requires its argument to have the value
80468         of an unsigned char or EOF.
80469
80470 2005-06-16  Jim Meyering  <jim@meyering.net>
80471
80472         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
80473         when either N or S is zero.
80474
80475 2005-06-16  Derek Price  <derek@ximbiot.com>
80476
80477         * m4/bison.m4: Declare YACC & YFLAGS precious.
80478
80479 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
80480
80481         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
80482         multibyte string or pattern, fall back on unibyte matching.
80483         Problem reported by James Youngman.
80484
80485 2005-06-08  Bruno Haible  <bruno@clisp.org>
80486
80487         * modules/csharpcomp: New file.
80488         * MODULES.html.sh (C#): Add csharpcomp.
80489
80490 2005-06-08  Bruno Haible  <bruno@clisp.org>
80491
80492         * m4/csharpcomp.m4: New file, from GNU gettext.
80493
80494 2005-06-08  Bruno Haible  <bruno@clisp.org>
80495
80496         * lib/csharpcomp.h: New file, from GNU gettext.
80497         * lib/csharpcomp.c: New file, from GNU gettext.
80498         * lib/csharpcomp.sh.in: New file, from GNU gettext.
80499
80500 2005-06-08  Bruno Haible  <bruno@clisp.org>
80501
80502         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
80503         warning on mingw.
80504
80505 2005-06-07  Derek Price  <derek@ximbiot.com>
80506
80507         Sync from CVS.
80508         * lib/glob_.h: Indent nested #ifdef.
80509
80510 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80511
80512         Sync from coreutils.
80513         Use "file name" when talking about file names, instead of "filename"
80514         or "path", as per the GNU coding standards.
80515         * lib/mkdir-p.c: Renamed from makepath.c.
80516         (make_dir_parents): Renamed from make_path.  All callers changed.
80517         * lib/mkdir-p.h: Likewise.  All includers changed.
80518         * lib/filenamecat.c: Renamed from path-concat.c.
80519         (file_name_concat): Renamed from path_concat.  All callers changed.
80520         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
80521         * lib/filenamecat.h: Likewise.  All includers changed.
80522         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
80523         in comments or local variable names.
80524         * lib/basename.c: Likewise.
80525         * lib/canonicalize.c, canonicalize.h: Likewise.
80526         * lib/dirname.c, dirname.h: Likewise.
80527         * lib/euidaccess.c: Likewise.
80528         * lib/exclude.c: Likewise
80529         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
80530         * lib/fsusage.c, fsuage.h: Likewise.
80531         * lib/fts.c, fts_.h: Likewise.
80532         * lib/getcwd.c: Likewise.
80533         * lib/getloadavg.c: Likewise.
80534         * lib/mkstemp.c: Likewise.
80535         * lib/mountlist.c, mountlist.h: Likewise.
80536         * lib/openat.c, openat.h: Likewise.
80537         * lib/readlink-stub.c: Likewise.
80538         * lib/readutmp.c, readutmp.h: Likewise.
80539         * lib/rename.c: Likewise.
80540         * lib/rmdir.c: Likewise.
80541         * lib/same.c: Likewise.
80542         * lib/savedir.c: Likewise.
80543         * lib/stripslash.c: Likewise.
80544         * lib/tempname.c: Likewise.
80545         * lib/xreadlink.c: Likewise.
80546         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
80547         All uses changed.
80548         * lib/exclude.h: Likewise.
80549
80550         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
80551         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80552         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
80553         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80554         * lib/pathmax.h: Include <limits.h> unconditionally, since other
80555         files have been getting away with it for years (MORE/BSD 4.3
80556         is extinct now).
80557         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
80558         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80559
80560         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
80561         Define to 256, not 255, as per modern POSIX.
80562
80563 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80564
80565         Sync from coreutils.
80566         Use "file name" when talking about file names, instead of "filename"
80567         or "path", as per the GNU coding standards.
80568         * MODULES.html.sh: mkdir-p renamed from makepath.
80569         filenamecat renamed from path-concat.
80570         * modules/filenamecat: Renamed from modules/path-concat.
80571         (Files): filenamecat.h and filenamecat.c renamed from
80572         path-concat.h and path-concat.c.
80573         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
80574         (Include): filenamecat.h, not path-concat.h.
80575         * modules/mkdir-p: Renamed from modules/makepath.
80576         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
80577         makepath.c.
80578         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
80579         (Include): mkdir-p.h, not makepath.h.
80580
80581 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80582
80583         Sync from coreutils.
80584         * m4/mkdir-p.m4: Renamed from makepath.m4.
80585         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
80586         Rename files from makepath.c to mkdir-p.c, and from
80587         makepath.h to mkdir-p.h.
80588         * m4/filenamecat.m4: Renamed from path-concat.m4.
80589         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
80590         Rename files from path-concat.c to filenamecat.c,
80591         and from path-concat.h to filenamecat.h.
80592         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
80593         "file name" in local variables or comments.
80594         * m4/rename.m4: Likewise.
80595
80596 2005-06-01  Bruno Haible  <bruno@clisp.org>
80597
80598         * modules/csharpexec: New file.
80599         * MODULES.html.sh (C#): New section.
80600
80601 2005-06-01  Bruno Haible  <bruno@clisp.org>
80602
80603         * m4/csharp.m4: New file, from GNU gettext.
80604         * m4/csharpexec.m4: New file, from GNU gettext.
80605
80606 2005-06-01  Bruno Haible  <bruno@clisp.org>
80607
80608         * lib/csharpexec.h: New file, from GNU gettext.
80609         * lib/csharpexec.c: New file, from GNU gettext.
80610         * lib/csharpexec.sh.in: New file, from GNU gettext.
80611
80612 2005-05-31  Derek Price  <derek@ximbiot.com>
80613             Paul Eggert  <eggert@cs.ucla.edu>
80614
80615         Sync from cvs.
80616         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80617
80618 2005-05-31  Derek Price  <derek@ximbiot.com>
80619             Paul Eggert  <eggert@cs.ucla.edu>
80620
80621         Sync from cvs.
80622         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80623
80624 2005-05-29  Derek Price  <derek@ximbiot.com>
80625
80626         * config/srclist.txt (glob_.h, glob.c): Add these files.
80627
80628 2005-05-29  Derek Price  <derek@ximbiot.com>
80629
80630         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
80631         * modules/glob: New file.
80632         * modules/getlogin_r: Add link to POSIX spec in description.
80633
80634 2005-05-29  Derek Price  <derek@ximbiot.com>
80635             Paul Eggert  <eggert@cs.ucla.edu>
80636
80637         * m4/glob.m4: New file.
80638
80639 2005-05-29  Derek Price  <derek@ximbiot.com>
80640             Paul Eggert  <eggert@cs.ucla.edu>
80641
80642         * lib/glob_.h, lib/glob.c: New files.
80643
80644 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80645
80646         * modules/fts (Files): Remove m4/inttypes-pri.m4.
80647         * modules/fts-lgpl (Depends-on): Remove gettext.
80648
80649 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80650
80651         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
80652         and don't require gt_INTTYPES_PRI.
80653
80654 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80655
80656         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
80657
80658         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
80659         the configuration hassle isn't worth it.
80660         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
80661         (LONGEST_MODIFIER, PRIuMAX): Remove.
80662
80663 2005-05-27  Bruno Haible  <bruno@clisp.org>
80664
80665         * lib/getlogin_r.h: Remove second include of <stddef.h>.
80666
80667 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
80668
80669         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
80670         _POSIX_PTHREAD_SEMANTICS for Solaris.
80671
80672 2005-05-25  Derek Price  <derek@ximbiot.com>
80673
80674         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
80675
80676 2005-05-25  Derek Price  <derek@ximbiot.com>
80677             Paul Eggert  <eggert@cs.ucla.edu>
80678
80679         * modules/getlogin_r, m4/getlogin_r.m4: New files.
80680         * lib/getlogin_r.c, getlogin_r.h: New files.
80681
80682 2005-05-25  Bruno Haible  <bruno@clisp.org>
80683             Derek Price  <derek@ximbiot.com>
80684
80685         * lib/getlogin_r.h: Simplify API documentation.
80686
80687 2005-05-23  Derek Price  <derek@ximbiot.com>
80688
80689         * modules/minmax (Files): Add m4/minmax.m4.
80690         (configure.ac): Add gl_MINMAX.
80691
80692 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80693
80694         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
80695         so that unistd-safer.h (GPL'ed code) need not be included.
80696
80697 2005-05-22  Bruno Haible  <bruno@clisp.org>
80698
80699         * m4/minmax.m4: New file.
80700         Based on a patch by Derek Price <derek@ximbiot.com>.
80701
80702 2005-05-22  Bruno Haible  <bruno@clisp.org>
80703
80704         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
80705         (INT64_MIN): Fix definition.
80706         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
80707
80708         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
80709         NEED_SIGNED_INT_TYPES.
80710
80711         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
80712         HAVE_SYSTEM_INTTYPES.
80713
80714 2005-05-22  Bruno Haible  <bruno@clisp.org>
80715
80716         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
80717         Also include <sys/param.h> if it defines MIN, MAX.
80718         Based on a patch by Derek Price <derek@ximbiot.com>.
80719
80720 2005-05-21  Jim Meyering  <jim@meyering.net>
80721
80722         * modules/fts (Files): Add m4/inttypes-pri.m4.
80723         (Depends-on): Add lstat and remove gettext.  Alphabetize.
80724
80725 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80726
80727         New fts module.
80728         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
80729         (setup_dir, free_dir): New functions.
80730         (enter_dir, leave_dir): Define trivial
80731         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
80732         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
80733         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
80734         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
80735         Move to fts-cycle.c.
80736         (fts_open): Use setup_dir.
80737         (fts_close): Use free_dir.
80738         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
80739         This adds a label and some gotos, but the alternatives were messier.
80740         Check for memory allocation failure when entering a dir.
80741         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
80742         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
80743         (FTS): New member fts_cycle, that is a union that contains the
80744         old active_dir_ht and cycle_state.  All uses changed to mention
80745         fts_cycle.ht and fts_cycle.state.
80746         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
80747         fts.c, with the following changes:
80748         (setup_dir, free_dir): New functions.
80749         (enter_dir): Now returns bool.  Return true if successful, false
80750         if memory exhausted.  All callers changed.
80751         Do not bother partly cleaning up on
80752         memory allocation failure; that is free_dir's job.
80753         However, free ad if hash_insert fails, to avoid memory leak.
80754         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
80755         fts->fts_options to see which union member to use.
80756
80757 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80758
80759         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
80760         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
80761
80762 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80763
80764         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
80765
80766 2005-05-20  Jim Meyering  <jim@meyering.net>
80767
80768         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
80769         Now a macro, to pacify GCC.
80770
80771 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
80772
80773         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
80774         of -1.
80775
80776 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
80777
80778         * lib/chown.c (rpl_chown): Return -1 on failure.
80779
80780 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
80781
80782         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
80783         Don't check for stddef.h.
80784         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
80785         don't use its results.
80786         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
80787         since we include them unconditionally.  Don't require
80788         AM_STDBOOL_H, since stdbool is a prerequisite.
80789         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
80790         since we assume C89 or better.
80791         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
80792         as we don't use their results.
80793         Don't check for fchdir, memmove, memset, strrchr, as we use
80794         them unconditionally.
80795         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
80796         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
80797
80798 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
80799
80800         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
80801         Include <stddef.h> unconditionally, since we assume C89 now.
80802         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
80803         * lib/fts.c: Include fts_.h first, to check interface.
80804         Do not include intprops.h; no longer needed.
80805         Include cycle-check.h and hash.h, since fts_.h no longer does.
80806         Remove unnecessary casts of closedir to void.
80807         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
80808         decide whether to decrement nlinks.
80809         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
80810         (FTS): Use struct hash_table * instead of Hash_table, so that
80811         we no longer need to include hash.h here.
80812
80813 2005-05-18  Jim Meyering  <jim@meyering.net>
80814
80815         * modules/dirfd (License): Change to LGPL.  Most of the code
80816         is already in the public domain.
80817
80818 2005-05-18  Jim Meyering  <jim@meyering.net>
80819
80820         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
80821         Reported by Yoann Vandoorselaere.
80822
80823 2005-05-17  Jim Meyering  <jim@meyering.net>
80824
80825         * m4/fts.m4: New file, from coreutils.
80826
80827 2005-05-17  Jim Meyering  <jim@meyering.net>
80828
80829         * lib/fts.c, lib/fts_.h: New files, from coreutils.
80830
80831 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80832
80833         Sync from coreutils.
80834         * m4/unlinkdir.m4: New file.
80835
80836 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80837
80838         Sync from coreutils.
80839         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
80840         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
80841         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
80842         White space changes only.
80843         * lib/makepath.c (make_path): Port to hosts where leading "//" is
80844         special.
80845         * lib/yesno.c: Include getline.h, not ctype.h.
80846         (yesno): Don't remove leading white space; POSIX doesn't allow it.
80847         Use getline to remove arbitrary restriction on response length.
80848
80849 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80850
80851         * config/srclist-update: Spell out "Street" in FSF postal
80852         mail address; this is the style the FSF seems to prefer.
80853
80854         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
80855         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
80856         this updates FSF postal mail address.
80857
80858         Sync from coreutils.
80859         * modules/unlinkdir: New file.
80860         * modules/yesno (Depends-on): Add getline.
80861         * MODULES.html.sh (File system functions): Add unlinkdir.
80862
80863 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80864
80865         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
80866         lib/strsep.h:
80867         Change the initial comment to refer to GPL, not LGPL.
80868         gnulib-tool will change it to LGPL as needed.
80869
80870         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
80871         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
80872         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
80873         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
80874         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
80875         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
80876         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
80877         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
80878         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
80879         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
80880         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
80881         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
80882         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
80883         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
80884         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
80885         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
80886         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
80887         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
80888         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
80889         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
80890         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
80891         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
80892         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
80893         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
80894         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
80895         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
80896         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
80897         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
80898         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
80899         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
80900         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
80901         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
80902         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
80903         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
80904         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
80905         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
80906         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
80907         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
80908         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
80909         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
80910         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
80911         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
80912         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
80913         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
80914         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
80915         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
80916         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
80917         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
80918         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
80919         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
80920         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
80921         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
80922         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
80923         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
80924         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
80925         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
80926         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
80927         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
80928         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
80929         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
80930         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
80931         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
80932         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
80933         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
80934         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
80935         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
80936         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
80937         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
80938         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
80939         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
80940         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
80941         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
80942         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
80943         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
80944         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
80945         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
80946         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
80947         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
80948         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
80949         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
80950         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
80951         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
80952         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
80953         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
80954         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
80955         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
80956         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
80957         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
80958         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
80959         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
80960         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
80961         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
80962         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
80963         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
80964         lib/yesno.c, lib/yesno.h:
80965         Update FSF postal mail address.
80966
80967 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80968
80969         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
80970         tests/test-memmem.c, tests/test-stpncpy.c:
80971         Update FSF postal mail address.
80972
80973 2005-05-13  Bruno Haible  <bruno@clisp.org>
80974
80975         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
80976         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
80977         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
80978         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
80979         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
80980         Add support for 64-bit integers in the MSVC compiler.
80981
80982 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80983
80984         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
80985
80986 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
80987
80988         * gnulib-tool (func_import): Sort and uniquify recommended includes.
80989
80990 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
80991
80992         * doc/getdate.texi (General date syntax): Don't say that date
80993         date --iso-8601=ns generates acceptable dates; it doesn't yet.
80994         Problem reported by Nic Ferrier.
80995
80996 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80997
80998         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
80999         specified in ai_socktype. Fix invalid ai_protocol
81000         check. ai_protocol is usually set to 0 or depending on
81001         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81002         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81003         ai_socktype / ai_protocol in the returned addrinfo structure.
81004
81005 2005-05-10  Simon Josefsson  <jas@extundo.com>
81006
81007         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81008         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81009
81010 2005-05-10  Karl Berry  <karl@gnu.org>
81011
81012         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81013         (from http://www.gnu.org/licenses).
81014         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81015         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81016         fdl.texi suffices.
81017
81018 2005-05-10  Karl Berry  <karl@gnu.org>
81019
81020         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81021         (COPYING.DOC): remove.
81022
81023         * config/srclist-update: new FSF address.
81024
81025 2005-05-10  Derek Price  <derek@ximbiot.com>
81026
81027         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81028         possible.
81029
81030 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81031             Bruno Haible  <bruno@clisp.org>
81032
81033         * modules/inet_ntop: New file.
81034         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81035         inet_ntop.
81036
81037 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81038             Bruno Haible  <bruno@clisp.org>
81039
81040         * m4/inet_ntop.m4: New file.
81041
81042 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81043             Bruno Haible  <bruno@clisp.org>
81044
81045         * lib/inet_ntop.h: New file.
81046         * lib/inet_ntop.c: New file, from glibc with modifications.
81047
81048 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81049
81050         * modules/time_r (License): Change to LGPL.
81051         * modules/extensions (License): Change to LGPL.  Actually,
81052         the license is more permissive than that, but currently gnulib-tool
81053         doesn't know how to handle more-permissive licenses.
81054
81055         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81056         Problem reported by Dave Love.
81057
81058 2005-05-08  Jim Meyering  <jim@meyering.net>
81059
81060         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81061         blank.
81062
81063 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81064
81065         * modules/argmatch (Depends-on): Add stdbool.
81066         * modules/backupfile (Depends-on): Likewise.
81067         * modules/chdir-long (Depends-on): Likewise.
81068         * modules/closeout (Depends-on): Likewise.
81069         * modules/cycle-check (Depends-on): Likewise.
81070         * modules/dirname (Depends-on): Likewise.
81071         * modules/fnmatch (Depends-on): Likewise.
81072         * modules/fsusage (Depends-on): Likewise.
81073         * modules/fwriteerror (Depends-on): Likewise.
81074         * modules/getcwd (Depends-on): Likewise.
81075         * modules/getloadavg (Depends-on): Likewise.
81076         * modules/hard-locale (Depends-on): Likewise.
81077         * modules/makepath (Depends-on): Likewise.
81078         * modules/mountlist (Depends-on): Likewise.
81079         * modules/nanosleep (Depends-on): Likewise.
81080         * modules/posixtm (Depends-on): Likewise.
81081         * modules/quotearg (Depends-on): Likewise.
81082         * modules/readtokens (Depends-on): Likewise.
81083         * modules/readtokens0 (Depends-on): Likewise.
81084         * modules/readutmp (Depends-on): Likewise.
81085         * modules/save-cwd (Depends-on): Likewise.
81086         * modules/strftime (Depends-on): Likewise.
81087         * modules/userspec (Depends-on): Likewise.
81088         * modules/utimecmp (Depends-on): Likewise.
81089         * modules/xgetcwd (Depends-on): Likewise.
81090         * modules/xnanosleep (Depends-on): Likewise.
81091         * modules/xstrtod (Depends-on): Likewise.
81092         * modules/yesno (Depends-on): Likewise.
81093
81094 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81095
81096         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81097         needless checks.
81098
81099 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81100
81101         Merge from coreutils.  Among other things,
81102         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81103         * lib/fd-safer.c: New file.
81104         * lib/fcntl-safer.h, open-safer.c: Remove.
81105         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81106         * lib/dup-safer.c: Include unistd-safer.h first.
81107         Don't include errno.h.
81108         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81109         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81110         * lib/file-type.c: Rely on file-type.h change.
81111         * lib/getloadavg.c: Include unistd-safer.h.
81112         (getloadavg): Use safer open.
81113         * lib/getusershell.c: Include "stdio-safer.h".
81114         (getusershell): Use safer fopen.
81115         * lib/long-options.c (long_options): Use NULL rather than 0.
81116         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81117         'free'.
81118         * lib/modechange.c: Likewise.
81119         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81120         (MODE_DONE): New constant.
81121         (struct mode_change): Remove 'next' member.
81122         (make_node_op_equals): New function; like the old one of the
81123         same name, except it allocates an array.
81124         (mode_compile, mode_create_from_ref): Use it.
81125         (mode_compile): Allocate result as an array, not a linked list.
81126         Parse octal string ourself, so that we catch mistakes like "+0".
81127         (mode_adjust): Arg is an array, not a linked list.
81128         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81129         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81130         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81131         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81132         Remove.  This is now stat-macros.h's job.
81133         (talloc): Remove.  All callers replaced by xalloc, so that
81134         our invokers don't have to worry about reporting memory failures.
81135         (make_node_op_equals): Remove.
81136         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81137         New constants.
81138         (struct mode_change): Moved here from modechange.h.
81139         (mode_append_entry): Remove.
81140         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81141         apps to have incorrect behavior.  Use simpler algorithm for head
81142         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81143         Detect more invalid usages rather than having somewhat-random behavior.
81144         Don't insert an "a=" action, as that leads to incorrect behavior.
81145         (mode_compile, mode_create_from_ref): Return NULL on error instead
81146         of an enum, since now there's only one way to have an error.  All
81147         callers changed.
81148         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81149         at the correct time.  Simplify calculation of "+u" and its ilk.
81150         Don't mishandle "+X".
81151         (mode_free): Remove "register" and localize decls.
81152         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81153         (struct mode_change): Move to modechange.c; callers don't
81154         need to see this stuff.
81155         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81156         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81157         (mode_change, mode_adjust): Reflect the new signatures noted above.
81158         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81159         that might redefine system include files.
81160         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81161         (my_usleep): Use NULL rather than (void *) 0.
81162         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81163         Use siginterrupt to specify that system calls should be interrupted.
81164         (rpl_nanosleep): Move initialization of suspended closer to call of
81165         my_usleep.
81166         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81167         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81168         (desirable_utmp_entry): New function.
81169         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81170         using x2nrealloc, to simplify logic.
81171         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81172         size calculation.  Do not assume utmp file is a regular file.
81173         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81174         (READ_UTMP_CHECK_PIDS): New constant.
81175         * lib/save-cwd.c: Include unistd-safer.h.
81176         (save_cwd): Use fd_safer.
81177         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81178         [!_LIBC] Include "stat-macros.h" instead.
81179         * lib/unistd-safer.h (fd_safer): New decl.
81180
81181 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81182
81183         * modules/getloadavg (Depends-on): Add unistd-safer.
81184         * modules/getusershell (Depends-on): Add stdio-safer.
81185         * modules/lstat (Depends-on): Remove xalloc.
81186         * modules/mkstemp (Depends-on): Add stat-macros.
81187         * modules/modechange (Depends-on): Remove xstrtol.
81188         Add stat-macros, xalloc.
81189         * modules/save-cwd (Depends-on): Add unistd-safer.
81190         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81191         * modules/unistd-safer (Files): Add lib/fd-safer.c
81192         (Makefile.am): Remove lib_SOURCES.
81193
81194         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81195         Remove fcntl-safer; unistd-safer supersedes it.
81196
81197 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81198
81199         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81200         AC_HEADER_STAT.
81201         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81202         (gl_PREREQ_CHOWN): Remove.
81203         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81204         it.  Don't require AC_HEADER_STAT.
81205         (gl_PREREQ_LSTAT): Remove.
81206         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81207         Don't require AC_HEADER_STAT.
81208         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81209         (gl_PREREQ_RMDIR): Remove.
81210         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81211         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81212         the stat-macros module a prerequisite.
81213         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81214         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81215         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81216         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81217         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81218         variable names.
81219         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81220         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81221         variable prefixes.
81222         * m4/fcntl-safer.m4: Remove.
81223         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81224         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81225         Invoke gl_PREREQ_FD_SAFER.
81226         (gl_PREREQ_FD_SAFER): New macro.
81227         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81228         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81229         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81230         Remove duplicate call to AC_LIBOBJ(readutmp).
81231         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81232
81233         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81234         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81235
81236 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81237
81238         * MODULES.html.sh (Misc): Add byteswap.
81239
81240 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81241
81242         * modules/getcwd (Depends-on): Add extensions.
81243         * modules/openat (Depends-on): Likewise.
81244
81245 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81246
81247         * modules/byteswap: New file.
81248
81249 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81250
81251         * m4/byteswap.m4: New file.
81252
81253 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81254
81255         * lib/byteswap_.h: New file.
81256
81257 2005-04-25  Karl Berry  <karl@gnu.org>
81258
81259         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81260
81261 2005-04-25  Albert Chin  <china@thewrittenword.com>
81262
81263         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81264         Toolkit C bug.
81265
81266 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81267
81268         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81269         (func_ln_if_changed): Remove forcibly for no error message
81270         in case file does not exist.
81271
81272 2005-04-19  Simon Josefsson  <jas@extundo.com>
81273
81274         * gnulib-tool (Options): Make --symlink mean --symbolic.
81275
81276 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81277
81278         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81279
81280 2005-04-16  Simon Josefsson  <jas@extundo.com>
81281
81282         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81283
81284 2005-04-15  Simon Josefsson  <jas@extundo.com>
81285
81286         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81287
81288 2005-04-15  Simon Josefsson  <jas@extundo.com>
81289
81290         * gnulib-tool: Rename --symlink to --symbolic.
81291
81292 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81293
81294         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81295         symbolic links to files instead of copying/moving.  Add --aux-dir,
81296         specifying directory relative --dir where auxiliary build tools
81297         are placed.
81298
81299 2005-04-14  Bruno Haible  <bruno@clisp.org>
81300
81301         * modules/allocsa (License): Change to LGPL.
81302         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81303
81304 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81305
81306         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81307         that "UTC +1 second" continues to work.  Problem reported
81308         by Dmitry V. Levin.
81309         (relunit_snumber): New rule.
81310         (relunit): Use it.
81311
81312 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81313
81314         * lib/getdate.y (universal_time_zone_table): New constant.
81315         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81316         universal_time_zone_table.
81317         (lookup_zone): Prefer universal_time_zone_table to
81318         local_time_zone_table, so that "GMT" time stamps are allowed in
81319         London during the summer.  Problem reported by Ian Abbott.
81320
81321 2005-04-12  Jim Meyering  <jim@meyering.net>
81322
81323         * lib/human.c (humblock): Set *options even when returning due to
81324         xstrtoumax conversion failure.  Thanks to a used-uninitialized
81325         warning from gcc-4.
81326
81327 2005-04-09  Jim Meyering  <jim@meyering.net>
81328
81329         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
81330         -Wuninitialized: initialize tm0.tm_year.
81331
81332 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81333
81334         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81335         count, since there's no maximum.  All uses changed.
81336         Add member dsts_seen.
81337         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81338         not being INT_MAX.
81339         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81340         Use pc_rels_seen to decide whther a date is absolute.
81341
81342         * lib/getdate.y (number): Don't overwrite year.
81343         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81344         check.
81345
81346 2005-04-02  Simon Josefsson  <jas@extundo.com>
81347
81348         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81349         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81350
81351 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81352
81353         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
81354         where no absolute path name can be longer than PATH_MAX.
81355
81356 2005-03-27  Jim Meyering  <jim@meyering.net>
81357
81358         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
81359
81360 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
81361
81362         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
81363         "one's complement" -> "ones' complement" in comment, as per Knuth.
81364         "value of type" -> "type or expression" in comment.
81365         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
81366
81367 2005-03-26  Jim Meyering  <jim@meyering.net>
81368
81369         Comment nits.
81370         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
81371         Correct typos: s/or/of/.
81372
81373 2005-03-26  Jim Meyering  <jim@meyering.net>
81374
81375         * modules/check-include-files: Move to ../ and rename to...
81376         * check-module: ...this.
81377
81378 2005-03-25  Jim Meyering  <jim@meyering.net>
81379
81380         * modules/xvasprintf (Files): Add xalloc.h.
81381
81382 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
81383
81384         * modules/gettext (Files): config/config.rpath ->
81385         build-aux/config.rpath
81386         * modules/iconv (Files): Likewise.
81387         Problem reported by Oskar Liljeblad.
81388
81389 2005-03-23  Jim Meyering  <jim@meyering.net>
81390
81391         * modules/check-include-files: New script to check for
81392         missing dependencies, multiple includes, etc.
81393
81394         * modules/c-strtold (Depends-on): Add xalloc.
81395         * modules/c-strtod (Depends-on): Add xalloc.
81396         * modules/hash (Depends-on): Add xalloc.
81397         (Files): Remove lib/xalloc.h.
81398
81399         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
81400         * modules/userspec (Files): Add lib/inttostr.h.
81401
81402 2005-03-23  Jim Meyering  <jim@meyering.net>
81403
81404         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
81405
81406 2005-03-22  Jim Meyering  <jim@meyering.net>
81407
81408         * modules/stat-macros: New module.
81409         * modules/canonicalize, modules/euidaccess, modules/file-type,
81410         * modules/filemode, modules/lchown, modules/makepath,
81411         * modules/rmdir, modules/stat: Depend on new stat-macros module
81412         rather than listing lib/stat-macros.h manually.
81413         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
81414
81415 2005-03-22  Jim Meyering  <jim@meyering.net>
81416
81417         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
81418
81419 2005-03-22  Bruno Haible  <bruno@clisp.org>
81420
81421         * config/srclist.txt: Replace target directory 'config' with
81422         'build-aux'.
81423         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
81424         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
81425         ../build-aux/.
81426
81427 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
81428
81429         * modules/chdir-long (Depends-on): Add mempcpy.
81430
81431         * modules/acl, modules/backupfile, modules/c-strtod,
81432         modules/c-strtold, modules/canon-host, modules/canonicalize,
81433         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
81434         modules/exclude, modules/exitfail, modules/file-type,
81435         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
81436         modules/getdate, modules/getline, modules/getpagesize,
81437         modules/getpass, modules/getugroups, modules/group-member,
81438         modules/hard-locale, modules/hash, modules/human, modules/idcache,
81439         modules/inttostr, modules/long-options, modules/makepath,
81440         modules/md5, modules/memcasecmp, modules/memcoll,
81441         modules/modechange, modules/mountlist, modules/path-concat,
81442         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
81443         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
81444         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
81445         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
81446         modules/strftime, modules/strndup, modules/strverscmp,
81447         modules/timespec, modules/unlocked-io, modules/userspec,
81448         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
81449         modules/yesno:
81450         Remove lib_SOURCES line from Makefile.am section, as this is now
81451         done automatically by the corresponding Autoconf macro.
81452
81453 2005-03-21  Jim Meyering  <jim@meyering.net>
81454
81455         Changes imported from coreutils.
81456
81457         * lib/cycle-check.c: Don't include xalloc.h.
81458
81459         * lib/path-concat.c: Don't include assert.h.
81460         (path_concat): Remove assertion that would have triggered
81461         for ABASE starting with more than one slash.
81462         Reported by Andreas Schwab.
81463
81464         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
81465         properly when ABASE is an absolute file name.
81466         Correct the description of this function.
81467         Include <assert.h>.
81468         Add an assertion and a test driver.
81469         This fixes a bug introduced on 2004-07-02.
81470         Andreas Schwab reported the resulting failure of cp --parents:
81471         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
81472
81473 2005-03-21  Jim Meyering  <jim@meyering.net>
81474
81475         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
81476         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
81477
81478 2005-03-21  Jim Meyering  <jim@meyering.net>
81479         and  Paul Eggert  <eggert@cs.ucla.edu>
81480
81481         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
81482         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
81483         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
81484         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
81485         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
81486         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
81487         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
81488         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
81489         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
81490         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
81491         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
81492         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
81493         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
81494         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
81495         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
81496         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
81497         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
81498         for these modules.
81499
81500 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
81501
81502         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
81503         (which shouldn't happen), generate nothing instead of returning 0
81504         immediately, so that nstrftime (NULL, ...) doesn't return 0.
81505
81506 2005-03-16  Bruno Haible  <bruno@clisp.org>
81507
81508         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
81509         HAVE_LONGLONG_64BIT.
81510
81511 2005-03-16  Bruno Haible  <bruno@clisp.org>
81512
81513         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
81514         HAVE_LONGLONG_64BIT.
81515
81516 2005-03-16  Bruno Haible  <bruno@clisp.org>
81517
81518         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
81519         HAVE_LONGLONG_64BIT.
81520
81521 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81522
81523         * lib/strftime.c (my_strftime): Prepend space to format so that we can
81524         reliably distinguish strftime failure from empty output on POSIX
81525         hosts.
81526
81527 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81528
81529         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
81530         (iconv_string): Don't guess a size-zero buffer, as that might cause
81531         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
81532         result would be 'too large', where 'too large' is (heuristically)
81533         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
81534         overflow concerns.  This will prevent some unwanted malloc failures
81535         when the inputs are very large.
81536
81537 2005-03-15  Karl Berry  <karl@gnu.org>
81538
81539         * config/srclist.txt (config.rpath): from gettext.
81540         * config/config.rpath: update.
81541
81542 2005-03-15  Bruno Haible  <bruno@clisp.org>
81543
81544         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
81545         to 'negate'.
81546
81547         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
81548         variable.
81549
81550         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
81551         results.
81552
81553 2005-03-14  Simon Josefsson  <jas@extundo.com>
81554
81555         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
81556         <fx@gnu.org>.
81557
81558 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
81559
81560         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
81561         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
81562         intprops.h.
81563         * lib/strtol.c: Likewise.
81564
81565 2005-03-14  Jim Meyering  <jim@meyering.net>
81566
81567         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
81568         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
81569         to be nonzero so that we (and caller) can detect the difference
81570         between a valid zero-length expansion and an error return, even
81571         when the underlying strftime fails before writing anything into
81572         that location.
81573
81574 2005-03-14  Bruno Haible  <bruno@clisp.org>
81575
81576         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
81577         Update from GNU gettext 0.14.3.
81578
81579 2005-03-10  Jim Meyering  <jim@meyering.net>
81580
81581         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
81582
81583 2005-03-10  Jim Meyering  <jim@meyering.net>
81584
81585         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
81586         so that this module works on systems without fchdir.
81587
81588 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
81589
81590         Factor int-properties macros into a single file, except for
81591         glibc-related files.
81592         * lib/intprops.h: New file.
81593         * lib/getloadavg.c: Include it instead of limits.h.
81594         (INT_STRLEN_BOUND): Remove.
81595         * lib/human.c: Include intprops.h.
81596         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
81597         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
81598         302/1000.
81599         * lib/inttostr.h: Include intprops.h instead of limits.h.
81600         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
81601         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
81602         for consistency with intprops.h.
81603         (time_t_is_integer, twos_complement_arithmetic): Use them.
81604         * lib/sig2str.h: Include <signal.h>, intprops.h.
81605         (INT_STRLEN_BOUND): Remove.
81606         * lib/strftime.c (TYPE_SIGNED): Remove.
81607         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
81608         * lib/strtol.c: Adjust comments to match intprops.h.
81609         * lib/userspec.c: Include intprops.h.
81610         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
81611         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
81612         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
81613         instead of rolling our own expressions.
81614         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
81615
81616         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
81617         instead of int.
81618         (my_strftime): Do not mishandle years close to INT_MAX, by doing
81619         the right thing even if adding 1900 would overflow.  Similarly
81620         for tm_mon + 1 and tm_yday + 1.
81621         Make %Y always equivalent to %C%y, and similarly for %G and %g.
81622         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
81623         (DO_SIGNED_NUMBER): New macro.
81624         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
81625
81626 2005-03-07  Bruno Haible  <bruno@clisp.org>
81627
81628         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
81629
81630 2005-03-07  Bruno Haible  <bruno@clisp.org>
81631
81632         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
81633
81634 2005-03-04  Derek R. Price  <derek@ximbiot.com>
81635
81636         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
81637         (func_import): Only replace files via --import when they have actually
81638         changed.
81639
81640 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81641
81642         * m4/mmap-anon.m4: New file.
81643         * m4/pagealign_alloc.m4: New file.
81644
81645 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81646             Bruno Haible  <bruno@clisp.org>
81647
81648         * modules/pagealign_alloc: New file.
81649         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
81650
81651 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81652             Bruno Haible  <bruno@clisp.org>
81653
81654         * lib/pagealign_alloc.h: New file.
81655         * lib/pagealign_alloc.c: New file.
81656
81657 2005-03-03  Bruno Haible  <bruno@clisp.org>
81658
81659         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
81660         Use an all-permissive copyright notice, recommended by RMS.
81661
81662 2005-03-02  Bruno Haible  <bruno@clisp.org>
81663
81664         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
81665         of AIX, the replacement has to be done only after <string.h> is
81666         included, therefore not in config.h. stpncpy.h does the replacement,
81667         and stpncpy.c uses it.
81668
81669 2005-03-02  Bruno Haible  <bruno@clisp.org>
81670
81671         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
81672         stpncpy.c uses it.
81673
81674 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81675
81676         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
81677         The workaround isn't strictly needed for POSIX conformance, and
81678         it's too much of a pain to configure and maintain.  We'll ask
81679         people to fix their kernels instead.
81680         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
81681         (NANOSLEEP_BUG_WORKAROUND): Remove.
81682         (xnanosleep): Remove the workaround.
81683
81684 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81685
81686         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
81687         Reported by Derek Price.
81688         (Include): Add "timespec.h".
81689
81690         * modules/xnanosleep (Depends-on): Remove gethrxtime.
81691
81692 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81693
81694         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
81695         to detect nanosleep bug.
81696
81697 2005-03-01  Bruno Haible  <bruno@clisp.org>
81698
81699         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
81700
81701 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81702
81703         * modules/gethrxtime: New file.
81704         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
81705         (Depends-on): Add gethrxtime.
81706         (configure.ac): Add gl_XNANOSLEEP.
81707         (Makefile.am): Remove lib_SOURCES line.
81708
81709 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81710
81711         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
81712         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
81713
81714 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81715
81716         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
81717         * lib/timespec.h (gettime): Return void, since it always
81718         succeeds now.  All uses changed.
81719         * lib/gettime.c (gettime): Likewise.
81720         [HAVE_NANOTIME]: Prefer nanotime.
81721         Assume gettimeofday succeeds, as POSIX requires.
81722         Assime time () succeeds, since other code already does.
81723         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
81724         (timespec_subtract): Remove.
81725         (NANOSLEEP_BUG_WORKAROUND): New constant.
81726         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
81727         things considerably.  Use it only on GNU/Linux hosts, since the
81728         workaround shouldn't be needed elsewhere.
81729
81730 2005-02-24  Bruno Haible  <bruno@clisp.org>
81731
81732         * modules/gettext (Files): Add m4/glibc2.m4.
81733
81734 2005-02-24  Bruno Haible  <bruno@clisp.org>
81735
81736         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
81737         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
81738         * m4/progtest.m4:
81739         Update from GNU gettext 0.14.2.
81740         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
81741
81742 2005-02-24  Bruno Haible  <bruno@clisp.org>
81743
81744         * lib/localcharset.c: Update from GNU gettext 0.14.2.
81745         * lib/config.charset: Update from GNU gettext 0.14.2.
81746
81747 2005-02-24  Bruno Haible  <bruno@clisp.org>
81748
81749         * lib/gettext.h: Update from GNU gettext 0.14.2.
81750
81751 2005-02-23  Simon Josefsson  <jas@extundo.com>
81752
81753         * m4/iconvme.m4: New file.
81754
81755 2005-02-23  Jim Meyering  <jim@meyering.net>
81756
81757         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
81758         change.
81759         Thanks to Bruno Haible for catching it.
81760
81761 2005-02-22  Simon Josefsson  <jas@extundo.com>
81762
81763         * modules/iconvme: New file.
81764
81765         * MODULES.html.sh: Add iconvme.
81766
81767 2005-02-22  Simon Josefsson  <jas@extundo.com>
81768
81769         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
81770
81771 2005-02-22  Simon Josefsson  <jas@extundo.com>
81772
81773         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
81774
81775 2005-02-22  Jim Meyering  <jim@meyering.net>
81776
81777         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
81778         s/ifndef/ifdef/.
81779
81780 2005-02-20  Neil Conway  <neilc@samurai.com>
81781
81782         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
81783         returned by OSX/Darwin if the specified buffer is not large
81784         enough for the hostname.
81785
81786 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81787
81788         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
81789         pass it to _help, otherwise the latter coredumps trying to
81790         dereference state.root_argp.
81791
81792 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81793
81794         * modules/chdir-long (Depends-on): Add memrchr.
81795         * modules/memrchr (Files): Add lib/memrchr.h.
81796         (Include): "memrchr.h".
81797
81798 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81799
81800         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
81801
81802 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81803
81804         * lib/memrchr.h: New file.
81805         * lib/chdir-long.c: Include it.
81806         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
81807         Don't bother including stddef.h.
81808
81809 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
81810
81811         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
81812         inclusion.
81813         Include <sys/types.h>, for dev_t.
81814         (ME_DUMMY, ME_REMOTE): Move from here....
81815         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
81816         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
81817         Dmitry V. Levin.
81818         Include mountlist.h first, to test the interface.
81819
81820 2005-01-29  Bruno Haible  <bruno@clisp.org>
81821
81822         * lib/progname.c (program_name): Initialize.
81823         Needed when linking statically on MacOS X.
81824
81825 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81826
81827         Sync from coreutils.
81828         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
81829         (Depends-on): Add c-strtod.
81830         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
81831
81832 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81833
81834         Sync from coreutils.
81835         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
81836
81837         Remove files that are specific to coreutils.
81838         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
81839
81840 2005-01-28  Bruno Haible  <bruno@clisp.org>
81841
81842         * modules/javacomp: New file.
81843         * MODULES.html.sh (Java): Add javacomp.
81844
81845 2005-01-28  Bruno Haible  <bruno@clisp.org>
81846
81847         * m4/javacomp.m4: New file, from GNU gettext.
81848
81849 2005-01-28  Bruno Haible  <bruno@clisp.org>
81850
81851         * lib/javacomp.sh.in: New file, from GNU gettext.
81852         * lib/javacomp.h: New file, from GNU gettext.
81853         * lib/javacomp.c: New file, from GNU gettext.
81854
81855 2005-01-26  Simon Josefsson  <jas@extundo.com>
81856
81857         * lib/gai_strerror.c: Use GPL in header.
81858
81859 2005-01-26  Bruno Haible  <bruno@clisp.org>
81860
81861         * modules/javaexec: New file.
81862         * MODULES.html.sh (Java): Add javaexec.
81863
81864 2005-01-26  Bruno Haible  <bruno@clisp.org>
81865
81866         * m4/javaexec.m4: New file, from GNU gettext.
81867
81868 2005-01-26  Bruno Haible  <bruno@clisp.org>
81869
81870         * lib/javaexec.sh.in: New file, from GNU gettext.
81871         * lib/javaexec.h: New file, from GNU gettext.
81872         * lib/javaexec.c: New file, from GNU gettext.
81873
81874 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81875
81876         * modules/lchown (Depends-on): Remove lchown.h
81877
81878 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81879
81880         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
81881         must be defined if the header file was not found, in order
81882         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
81883
81884 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81885
81886         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
81887         initializers for struct pentry_state.
81888         (__argp_error): Check return value of __asprintf
81889         (__argp_failure): Translate error message
81890
81891         * lib/argp-parse.c: Removed braces around the expansion of N_()
81892
81893 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81894
81895         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
81896         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
81897         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
81898         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
81899         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
81900         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
81901         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
81902         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
81903         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
81904         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
81905         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
81906         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
81907         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
81908         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
81909         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
81910         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
81911         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
81912         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
81913         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
81914         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
81915         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
81916         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
81917         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
81918         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
81919         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
81920         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
81921         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
81922         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
81923         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
81924         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
81925         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
81926         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
81927         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
81928         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
81929         xstrtol.m4, xstrtoumax.m4, yesno.m4:
81930         Use an all-permissive copyright notice, recommended by RMS.
81931
81932 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
81933
81934         * modules/chdir-long (Depends-on): Remove mempcpy.
81935
81936 2005-01-21  Jim Meyering  <jim@meyering.net>
81937
81938         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
81939         same value as for Solaris 9.
81940
81941         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
81942         component length.  This included changing the parameter to be
81943         of type `char *' rather than `char const *'.
81944         * lib/chdir-long.h (chdir_long): Update prototype.
81945
81946         * lib/openat.c (fdopendir, fstatat): New functions.
81947         * lib/openat.h: Include headers required for use of DIR and struct
81948         stat.
81949         [AT_SYMLINK_NOFOLLOW]: Define.
81950         (fdopendir, fstatat): Add prototypes.
81951
81952 2005-01-21  Bruno Haible  <bruno@clisp.org>
81953
81954         * modules/classpath: New file.
81955         * MODULES.html.sh (Java): Add classpath.
81956
81957 2005-01-21  Bruno Haible  <bruno@clisp.org>
81958
81959         * lib/classpath.h: New file, from GNU gettext.
81960         * lib/classpath.c: New file, from GNU gettext.
81961
81962 2005-01-20  Simon Josefsson  <jas@extundo.com>
81963
81964         * modules/version-etc-fsf: New file.
81965
81966 2005-01-20  Simon Josefsson  <jas@extundo.com>
81967
81968         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
81969         * lib/version-etc.c: Remove version_etc_copyright.
81970         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
81971         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
81972
81973 2005-01-20  Simon Josefsson  <jas@extundo.com>
81974
81975         * lib/base64.h (isbase64): Add.
81976
81977         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
81978         using a unsigned prototype, don't inline.
81979         (base64_decode): Use it.
81980
81981 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81982
81983         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
81984         it.
81985
81986 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81987
81988         * lib/save-cwd.c (save_cwd): Remove code to support the case
81989         where fchdir is missing or flaky.
81990
81991 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81992
81993         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
81994
81995 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
81996
81997         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
81998         AC_LIBSOURCES now does this.
81999         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82000         with new ullong_max module.
82001
82002 2005-01-19  Bruno Haible  <bruno@clisp.org>
82003
82004         * modules/sh-quote: New file.
82005         * MODULES.html.sh (Executing programs): Add sh-quote.
82006
82007 2005-01-19  Bruno Haible  <bruno@clisp.org>
82008
82009         * lib/sh-quote.h: New file, from GNU gettext.
82010         * lib/sh-quote.c: New file, from GNU gettext.
82011
82012 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82013
82014         Merge from coreutils.
82015         * m4/ullong_max.m4: New file.
82016         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82017         (gl_MACROS): Assume localeconv exists.
82018
82019 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82020
82021         Merge changes from coreutils, as described below in several
82022         changelogs dated today.
82023
82024         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82025         (O_DIRECTORY): Remove; not needed here, since "." must be
82026         a directory.  All uses removed.
82027         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82028         universal on Suns, and we also need to test for IRIX.
82029         Revamp code to use 'if' rather than '#if'.
82030         Avoid unnecessary comparison of cwd->desc to 0.
82031
82032         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82033         for known valid error numbers rather than observed invalid ones.
82034
82035 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82036
82037         * modules/ullong_max: New file.
82038
82039         * modules/chdir-long, modules/openat: New files.
82040         * modules/save-cwd (Depends-on): Depend on chdir-long.
82041         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82042
82043 2005-01-18  Jim Meyering  <jim@meyering.net>
82044
82045         Merge from coreutils.
82046         * m4/chdir-long.m4, m4/openat.m4: New files.
82047         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82048         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82049         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82050         is sane and DOES follow symlinks.  Besides, testing 20 different
82051         systems found no broken chown implementations.
82052         Prompted by a change in rsync's copy of this macro.
82053         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82054
82055         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82056
82057         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82058         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82059         NULL-means-set-to-current-time semantics.
82060         Remove temporary file immediately, rather than waiting
82061         for configure's at-exit trap code to do it.
82062
82063 2005-01-18  Jim Meyering  <jim@meyering.net>
82064
82065         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82066
82067         * lib/utimens.c (futimens): Account for the fact that futimes
82068         can also fail with errno == ENOSYS or errno == ENOENT.
82069         Patch from Dmitry V. Levin.
82070
82071         Change the name of the robust chdir function from chdir to chdir_long.
82072         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82073         (restore_cwd): Use chdir_long, not chdir.
82074         * lib/chdir-long.c: Renamed from chdir.c.
82075         * lib/chdir-long.h: Renamed from chdir.h.
82076         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82077         Hurd.
82078
82079 2005-01-18  Bruno Haible  <bruno@clisp.org>
82080
82081         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82082         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82083         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82084         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82085         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82086         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82087         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82088         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82089         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82090         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82091         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82092         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82093         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82094         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82095         Use an all-permissive copyright notice, recommended by RMS.
82096
82097 2005-01-18  Bob Proulx  <bob@proulx.com>
82098
82099         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82100         simplify offsetof() macro construct to avoid compile failure with
82101         native HP-UX 11.0 ANSI C compiler.
82102
82103 2005-01-17  Bruno Haible  <bruno@clisp.org>
82104
82105         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82106         redundant because stpncpy.m4 takes care of it.
82107
82108 2005-01-17  Bruno Haible  <bruno@clisp.org>
82109
82110         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82111
82112 2005-01-17  Bruno Haible  <bruno@clisp.org>
82113
82114         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82115         used.
82116
82117 2005-01-17  Bruno Haible  <bruno@clisp.org>
82118
82119         * lib/fwriteerror.h (fwriteerror): Change specification to include
82120         fclose.
82121         * lib/fwriteerror.c: Include <stdbool.h>.
82122         (fwriteerror): At the end, close the file stream. Record whether
82123         stdout was already closed.
82124
82125 2005-01-17  Bruno Haible  <bruno@clisp.org>
82126
82127         * lib/execute.c (environ): Declare if needed.
82128         * lib/pipe.c (environ): Likewise.
82129         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82130
82131 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82132
82133         * modules/argp: Depend on vsnprintf
82134
82135 2005-01-10  Jim Meyering  <jim@meyering.net>
82136
82137         * modules/closeout (Depends-on): Add atexit.
82138
82139 2005-01-06  Bruno Haible  <bruno@clisp.org>
82140
82141         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82142
82143 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82144
82145         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82146         definitions to be after all include files, to avoid collisions.
82147         Problem reported by Bob Proulx.
82148
82149 2005-01-04  Jim Meyering  <jim@meyering.net>
82150
82151         Changes imported from coreutils.
82152         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82153         as the mkstemp template, use a temporary directory and an
82154         8.3-friendly template to avoid trouble on systems like DJGPP.
82155         Reported by Juan M. Guerrero via Stepan Kasal.
82156         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82157         close. Remove the temporary directory right away, rather than waiting
82158         for configure's at-exit trap code to do it.
82159         Suggestion from Stepan Kasal.
82160
82161 2005-01-01  Simon Josefsson  <jas@extundo.com>
82162
82163         * gnulib-tool: Print #include directives when --import'ing.
82164
82165 2004-12-28  Simon Josefsson  <jas@extundo.com>
82166
82167         * tests/test-base64.c: Include required header files.  Remove
82168         unused variables.
82169
82170 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82171
82172         * modules/error (Depends-on): Remove gettext.
82173
82174 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82175
82176         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82177         not needed.  This removes a dependency on the gettext module.
82178         [defined _LIBC]: Do not include <libintl.h>; not needed.
82179
82180 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82181
82182         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82183         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82184
82185 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82186
82187         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82188         HAVE_DECL_STRTOLD.
82189
82190 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82191
82192         * modules/getdate (Depends-on): Remove alloca-opt.
82193
82194 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82195
82196         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82197
82198 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82199
82200         * lib/argp-parse.c: Include <stddef.h>.
82201         (alignof, alignto): New macros.
82202         (parser_init): Don't assume that void * is aligned sufficiently
82203         for struct option.
82204
82205         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82206         need to extend the stack.
82207         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82208         large.
82209
82210 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82211
82212         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82213
82214 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82215
82216         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82217         (2004-10-24) change.  Apparently this was a false alarm.
82218
82219         * modules/getdate: Depend on alloca-opt, not alloca.
82220
82221 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82222
82223         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82224         Remove now-obsolete comment about AIX.
82225         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82226         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82227         (YYMAXDEPTH): New macro.
82228
82229 2004-12-18  Simon Josefsson  <jas@extundo.com>
82230
82231         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82232
82233 2004-12-18  Bruno Haible  <bruno@clisp.org>
82234
82235         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82236
82237 2004-12-18  Bruno Haible  <bruno@clisp.org>
82238
82239         * lib/fatal-signal.c (fatal_signals): Make non-const.
82240         (init_fatal_signals): New function.
82241         (uninstall_handlers, install_handlers): Ignore signals that were set to
82242         SIG_IGN.
82243         (at_fatal_signal): Call init_fatal_signals.
82244         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82245         SIG_IGN.
82246         Reported by Paul Eggert.
82247
82248 2004-12-18  Bruno Haible  <bruno@clisp.org>
82249
82250         * doc/alloca.texi: New file.
82251         * doc/alloca-opt.texi: New file.
82252
82253 2004-12-17  Jim Meyering  <jim@meyering.net>
82254
82255         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82256         Otherwise, install-sh could exit with improper exit status when
82257         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82258
82259 2004-12-16  Simon Josefsson  <jas@extundo.com>
82260
82261         * tests/test-base64.c: Add license.
82262
82263 2004-12-15  Stepan Kasal  <address@hidden>
82264
82265         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82266
82267 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82268
82269         * modules/getcwd (Files): Add m4/d-ino.m4.
82270         Suggested by Mark D. Baushke.
82271
82272 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82273
82274         * lib/getdate.y (textint): New member "negative".
82275         (time_zone_hhmm): New function.
82276         Expect 14 shift-reduce conflicts, not 13.
82277         (o_colon_minutes): New rule.
82278         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82279         (yylex): Set the "negative" member of signed numbers.
82280
82281 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82282
82283         * doc/getdate.texi (Time of day items, Time zone items):
82284         Describe new formats +00:00, UTC+00:00.
82285
82286 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82287
82288         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82289         spurious "-l"s.  Problem reported by Stepan Kasal.
82290
82291 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82292
82293         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82294         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82295
82296 2004-12-04  Simon Josefsson  <jas@extundo.com>
82297
82298         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82299         Vandoorselaere <yoann@prelude-ids.org>.
82300
82301 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82302
82303         Changes imported from coreutils.
82304         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82305         exist.
82306         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82307
82308 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82309
82310         Changes imported from coreutils.
82311         * lib/hard-locale.c: Assume <locale.h> exists.
82312         Include "strdup.h".
82313         (GLIBC_VERSION): New macro.
82314         (hard_locale): Assume setlocale exists.
82315         Rewrite to avoid #ifdef.
82316         Use strdup rather than malloc + strcpy.
82317         * lib/human.c: Assume <locale.h> exists.
82318         (human_readable): Assume localeconv exists.
82319
82320 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82321
82322         * modules/hard-locale (Depends-on): Add strdup.
82323
82324 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82325
82326         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
82327         convert T2, not T.  (Imported from libc.)
82328
82329 2004-11-30  Simon Josefsson  <jas@extundo.com>
82330
82331         * modules/restrict (License): Change to LGPL.
82332
82333 2004-11-30  Simon Josefsson  <jas@extundo.com>
82334
82335         * m4/restrict.m4: Add copyright and copying conditions.
82336
82337 2004-11-30  Simon Josefsson  <jas@extundo.com>
82338
82339         * m4/base64.m4: New file.
82340
82341 2004-11-30  Simon Josefsson  <jas@extundo.com>
82342
82343         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82344         base64.
82345
82346         * tests/test-base64.c: New file.
82347
82348         * modules/base64: New file.
82349
82350 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82351
82352         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82353         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
82354
82355         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
82356
82357 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82358
82359         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
82360         (__getcwd.c): Don't restore errno; glibc doesn't.
82361         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
82362         first, falling back to our code only if its results look suspicious.
82363         Ensure that the resulting buffer is only as large as necessary.
82364
82365         * lib/readutmp.c: Include readutmp.h first.
82366         Include <errno.h>, since readutmp.h no longer does that.
82367         * lib/readutmp.h: Don't include <errno.h>,
82368         <sys/param.h>, <time.h>; not needed to establish interface.
82369         (errno): Remove decl.
82370         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
82371         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
82372         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
82373
82374 2004-11-28  Simon Josefsson  <jas@extundo.com>
82375
82376         * lib/base64.h, base64.c: New file.
82377
82378 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
82379
82380         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
82381
82382 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
82383
82384         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
82385         (Depends-on): Remove pathmax, same.  Add mempcpy.
82386         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
82387         (Makefile.am): Append getcwd.h to lib_SOURCES.
82388         (Include): Add getcwd.h.
82389         (Maintainer): Change from Jim Meyering to "all, glibc",
82390         since getdate now uses intended-for-glibc code.
82391         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
82392         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
82393
82394 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82395
82396         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
82397         HP's ANSI C compiler.
82398         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
82399         Declaring int functions causes warnings on some modern systems and
82400         shouldn't be needed to compile on ancient ones.
82401         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
82402         defined.
82403
82404         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
82405         with the following changes.
82406         (__set_errno): Parenthesize properly.
82407         Include <stdbool.h>.
82408         (MIN, MAX, MATCHING_INO): New macros.
82409         (__getcwd): Define with prototype, not K&R form.
82410         Use heuristics to allocate default buffer on stack if possible.
82411         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
82412         behavior, and to avoid the PATH_MAX limit when computing
82413         ../../../../...
82414         Use MATCHING_INO to compare inode number to file.
82415         Check for arithmetic overflow in size calculations.
82416         Fix bug in reallocation of dot array that caused getcwd to fail
82417         on directories nested deeper than 75.
82418         Be more careful about saving errno on error.
82419         Do not use realloc; use only free+malloc, as this is a bit
82420         more flexible and avoids a needless copy operation.
82421         Do not inspect st_dev and st_ino for symbolic links; POSIX
82422         doesn't specify the latter.
82423         Check for closedir errors.
82424         Avoid needless casts.
82425         Use "#ifdef weak_alias" around weak_alias, to be like other
82426         glibc code.
82427         The following changes to getcwd.c have effect only when used in
82428         gnulib; they have no effect inside glibc proper.
82429         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
82430         as alloca isn't used.
82431         (alloca, __alloca): Likewise.
82432         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
82433         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82434         unconditionally, as gnulib assumes C89 or better.
82435         Do not include <sys/param.h>.
82436         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
82437         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
82438         better.
82439         (NULL) [!defined NULL]: Remove; we assume C89 or better.
82440         Include <dirent.h> in a way that is compatible with modern Autoconf.
82441         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
82442         New macros, if not already defined.
82443         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
82444         Use "_LIBC", not "defined _LIBC", for consistency.
82445         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
82446         a mempcpy module.
82447         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
82448         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
82449         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
82450         credit only to Jim Meyering and adjust the copyright dates.
82451         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
82452         <stdlib.h>, <unistd.h>, "pathmax.h".
82453         Instead, include "xgetcwd.h" (first) and "getcwd.h".
82454         (INITIAL_BUFFER_SIZE): Remove.
82455         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
82456
82457 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82458
82459         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
82460         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
82461         Use the _ONCE methods, for efficiency.
82462         Check for fcntl.h.  In test program, include <errno.h>
82463         and <fcntl.h> if available.  Remove old K&R cruft from
82464         test program.  Check for common errors in GNU/Linux,
82465         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
82466         don't do AC_LIBOBJ, as that's getcwd.m4's job.
82467         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
82468         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
82469         name accordingly.
82470         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
82471         accommodate new getcwd.c.
82472         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
82473         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
82474         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
82475         that's all we need now.
82476
82477 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82478
82479         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
82480         argp-parse.c depends on getopt internals, that means we should
82481         always use our getopt, to be on the safe side.
82482         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
82483         order not to spoil the result of an eventual previous invocation
82484         of gl_GETOPT_SUBSTITUTE.
82485
82486 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82487
82488         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
82489         redefinition warnings. To avoid them, include the defines
82490         in `#if !defined __need_getopt ... #endif'. The only place
82491         where __getopt_argv_const is used is in definitions
82492         of getopt_long and getopt_long_only below, which are as well
82493         protected by `#ifndef __need_getopt'.
82494         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
82495         __need_getopt after including <stdio.h> and <unistd.h> These
82496         headers might have defined it.
82497
82498 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82499
82500         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
82501
82502 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82503
82504         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
82505         (futimens): New function, which uses futimes if available.
82506         (futimens, utimens): Support timespec==NULL, with same semantics
82507         as utime and utimens.
82508         * lib/utimens.h (futimens): New decl.
82509
82510 2004-11-23  Jim Meyering  <jim@meyering.net>
82511
82512         * lib/getopt_.h: Remove trailing blanks.
82513
82514 2004-11-23  Jim Meyering  <jim@meyering.net>
82515
82516         * lib/__fpending.c: Add comment.
82517
82518 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
82519
82520         * modules/canonicalize (Depends-on): Add xreadlink.
82521         Problem reported by James Youngman.
82522
82523 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
82524
82525         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
82526         New macros.
82527         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
82528         optopt): Use them instead of invoking ## directly; otherwise, the
82529         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
82530
82531 2004-11-19  Bruno Haible  <bruno@clisp.org>
82532
82533         * lib/strtok_r.c: Move comments from here...
82534         * lib/strtok_r.h: ... to here.
82535
82536 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82537
82538         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
82539         implementations that mishandle size_t overflow.
82540
82541 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82542
82543         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
82544         might fail.  Problem reported by Yoann Vandoorselaere.
82545         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
82546         implementations that mishandle size_t overflow.
82547
82548 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82549
82550         * modules/canon-host (Depends-on): Add strdup.
82551
82552 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82553
82554         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
82555
82556 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82557
82558         * lib/canon-host.c: Include "strdup.h".
82559         (canon_host): Use getaddrinfo if available, so that IPv6 works.
82560         Use strdup instead of malloc/strcpy to duplicate strings.
82561
82562         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
82563         (human_space_before_unit): New constant.
82564         * lib/human.c (human_readable): Support it.
82565
82566         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
82567         (xgetcwd): Set errno correctly when failing.
82568         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
82569         the failure is actually due to a PATH_MAX problem.
82570
82571         Further getopt changes to make it more likely that glibc will
82572         buy the changes back.
82573         * lib/getopt.c (POSIXLY_CORRECT): New constant.
82574         (getopt): Use it, so to preserve glibc semantic
82575         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
82576         when compiling for libc.
82577         * lib/getopt_.h (__getopt_argv_const): Bring it back.
82578         (getopt_long, getopt_long_only): Use it.
82579
82580         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82581         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
82582         (getopt): Argv is now char * const *, as per standard.
82583         (_getopt_internal_r, _getopt_internal): Argv is now char **,
82584         not char *__getopt_argv_const *.
82585         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82586         _getopt_long_only_r): Likewise.
82587         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
82588         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82589         _getopt_long_r, _getopt_long_only_r): Likewise.
82590         * lib/getopt_.h (__getopt_argv_const): Remove.
82591         (getopt): Argv is now char * const *, as per standard.
82592
82593         * lib/getdate.y (tORDINAL): New token.
82594         (day, relunit): Allow it for relative times.
82595         (relative_time_table): Use tORDINAL for ordinals.
82596
82597 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82598
82599         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
82600         Document that "second" isn't allowed as an ordinal number.
82601
82602 2004-11-16  Jim Meyering  <jim@meyering.net>
82603
82604         * modules/closeout (Depends-on): Add fpending.
82605
82606 2004-11-15  Jim Meyering  <jim@meyering.net>
82607
82608         * lib/closeout.c: Include "__fpending.h" once again.
82609         Include <stdbool.h>.
82610         (close_stdout): Don't fail just because stdout was closed initially,
82611         since some programs don't write to stdout in the normal course of
82612         operation (other than --version and --help), and we don't want this
82613         function to make e.g. `touch file >&-' fail.
82614         But do fail if it was closed and someone has tried to write to it.
82615         E.g., `printf foo >&-' must fail.
82616
82617 2004-11-13  Jim Meyering  <jim@meyering.net>
82618
82619         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
82620
82621 2004-11-12  Simon Josefsson  <jas@extundo.com>
82622
82623         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
82624         small doc fix is still pending.
82625
82626 2004-11-11  Simon Josefsson  <jas@extundo.com>
82627
82628         * modules/strtok_r: New file.
82629
82630         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82631         strtok_r.
82632
82633 2004-11-11  Simon Josefsson  <jas@extundo.com>
82634
82635         * m4/strtok_r.m4: New file.
82636
82637         * m4/getopt.m4: Replace opterr.
82638
82639 2004-11-11  Simon Josefsson  <jas@extundo.com>
82640
82641         * lib/strtok_r.h, strtok_r.c: New file.
82642
82643 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82644
82645         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
82646         of replacing opterr, getopt, etc.  This should handle the
82647         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
82648
82649 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82650
82651         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
82652         we can stop lying to compilers about the constness of argv when we
82653         are compiled outside glibc.
82654         (getopt, getopt_long, getopt_long_only): Use it.
82655         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82656         _getopt_internal, getopt): Likewise.
82657         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82658         _getopt_long_only_r): Likewise.
82659         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82660         _getopt_long_r, _getopt_long_only_r): Likewise.
82661
82662         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
82663         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
82664         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
82665         the other external symbols.
82666         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
82667         declaration, since the above renaming now works around collisions.
82668
82669 2004-11-11  Jim Meyering  <jim@meyering.net>
82670
82671         * lib/linebreak.c: Remove trailing blanks.
82672         * lib/alloca_.h: Likewise.
82673         * lib/acosl.c: Likewise.
82674         * lib/euidaccess.c: Likewise.
82675         * lib/allocsa.h: Likewise.
82676
82677 2004-11-10  Simon Josefsson  <jas@extundo.com>
82678
82679         * m4/getaddrinfo.m4: New file.
82680
82681 2004-11-10  Simon Josefsson  <jas@extundo.com>
82682
82683         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
82684
82685 2004-11-10  Simon Josefsson  <jas@extundo.com>
82686
82687         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82688         getaddrinfo.
82689
82690         * modules/getaddrinfo: New file.
82691
82692 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82693
82694         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
82695
82696 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82697
82698         * lib/mktime.c (SHR): New macro, which is a portable
82699         substitute for >> that should work even on Crays.
82700         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
82701         Problem reported by Mark D. Baushke in
82702         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
82703         * lib/getdate.y (SHR): Likewise.
82704         (tm_diff): Use it.
82705         * lib/strftime.c (SHR): Likewise.
82706         (tm_diff): Use it.
82707         * lib/quotearg.c (struct quoting_options): Use unsigned int for
82708         quote_these_too, so that right shifts are well defined.  All uses
82709         changed.
82710
82711 2004-11-10  Jim Meyering  <jim@meyering.net>
82712
82713         Ensure that no close failure goes unreported.
82714         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
82715         return early when it seems there's nothing to flush.
82716         Don't include __fpending.h.
82717
82718 2004-11-10  Jim Meyering  <jim@meyering.net>
82719
82720         * modules/closeout (Depends-on): Remove fpending.
82721
82722 2004-11-10  Jim Meyering  <jim@meyering.net>
82723
82724         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
82725
82726 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82727
82728         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
82729         gl_FUNC_STRFTIME.
82730         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
82731         and AC_REQUIRE when possible, to avoid duplicate checks.
82732         Check for <wchar.h>.
82733
82734 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82735
82736         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
82737
82738 2004-11-09  Bruno Haible  <bruno@clisp.org>
82739
82740         * m4/sockpfaf.m4: New file.
82741
82742 2004-11-05  Bruno Haible  <bruno@clisp.org>
82743
82744         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
82745         Reported by Mark D. Baushke <mdb@cvshome.org>.
82746
82747 2004-11-04  Bruno Haible  <bruno@clisp.org>
82748
82749         2004-09-11  Bruno Haible  <bruno@clisp.org>
82750                 * allocsa.valgrind: New file.
82751         2004-02-06  Bruno Haible  <bruno@clisp.org>
82752                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
82753                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
82754                 Reported by Christopher Seip <chris.seip@hp.com>.
82755
82756 2004-11-04  Bruno Haible  <bruno@clisp.org>
82757
82758         * modules/allocsa (Files): Add lib/allocsa.valgrind.
82759         (Makefile.am): Distribute it.
82760
82761 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
82762
82763         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
82764         with errno == ERANGE if the buffer is too small.
82765         Problem reported by Mark D. Baushke.
82766
82767 2004-11-03  Albert Chin  <china@thewrittenword.com>
82768             Paul Eggert  <eggert@cs.ucla.edu>
82769
82770         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
82771         equivalent, substitute $ac_type for equivalent type rather than
82772         blindly using uint32_t *always* which won't work if uint32_t is not
82773         available.  Define _UINT32_T to work around typedef of uint32_t if
82774         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
82775         2.5.1.
82776
82777 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82778
82779         * m4/jm-macros.m4: Sync from coreutils.
82780         (gl_MACROS): Check for mbrlen, for pathchk.
82781         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
82782
82783 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82784
82785         * lib/xreadlink.c (MAXSIZE): New macro.
82786         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
82787         size does not exceed MAXSIZE.  Avoid cast.
82788         As suggested by Mark D. Baushke in
82789         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
82790         if readlink fails with buffer size just under MAXSIZE, try again
82791         with MAXSIZE.
82792
82793 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82794
82795         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
82796
82797 2004-11-02  Derek R. Price  <derek@ximbiot.com>
82798         and  Paul Eggert  <eggert@cs.ucla.edu>
82799
82800         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
82801         (get_date): Overparenthesize to avoid GCC warning.
82802
82803 2004-11-02  Bruno Haible  <bruno@clisp.org>
82804
82805         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
82806         returns void.
82807
82808 2004-11-02  Bruno Haible  <bruno@clisp.org>
82809
82810         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
82811         function returns void.
82812
82813 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82814
82815         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
82816         fflush_unlocked, flockfile, funlockfile, funlockfile,
82817         fputs_unlocked, putc_unlocked.
82818
82819 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82820
82821         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82822         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
82823         already declared.
82824
82825 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82826
82827         * modules/getdate (Files): Add doc/getdate.texi.
82828         (Depends-on): Add setenv, xalloc.
82829
82830 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82831
82832         * lib/getdate.y: Add support for TZ="foo" within a date string.
82833         Fix some bugs near time_t boundaries.  Reject dates with
82834         out-of-range components, e.g., "Sept 31".
82835         Include <stdlib.h>, "setenv.h", "xalloc.h".
82836         (ISDIGIT_LOCALE): Remove; unused.
82837         Note that the TZ and time functions used here are not reentrant.
82838         (mktime_ok, get_tz): New functions.
82839         (TZBUFSIZE): New constant.
82840         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
82841         This requires that we sometimes generate our own TZ="XXX..." setting.
82842
82843 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82844
82845         * doc/getdate.texi: New file, from coreutils with modifications for
82846         the new TZ parsing.
82847
82848 2004-10-27  Derek R. Price  <derek@ximbiot.com>
82849
82850         * lib/mktime.c (not_equal_tm): Remove redundant check.
82851
82852 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82853
82854         * modules/regex (lib_SOURCES): Add regex.c.
82855         Reported by James Youngman in
82856         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
82857
82858 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82859
82860         * lib/getdate.y: Use Bison 1.875 features, and some minor
82861         code cleanups.  This change does not affect semantics.
82862         Don't include <stdlib.h>; no longer needed.
82863         Don't include unlocked-io.h; only the "#if TEST" code uses
82864         stdio, and performance isn't crucial there.
82865         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
82866         Bison 1.875 features as described below.
82867         All uses of "PC." replaced by "pc->".
82868         (YYSTYPE): Add a forward declaration.
82869         (yylex, yyerror): Use full prototypes in forward decls.
82870         Use "%pure-parser" rather than obsolescent "%pure_parser".
82871         Use %parse-param and %lex-param instead of obsolescent
82872         YYPARSE_PARAM and YYLEX_PARAM.
82873         (meridian_table, month_and_day_table, time_units_table,
82874         relative_time_table, time_zone_table, military_table,
82875         lookup_zone, lookup_word, get_date):
82876         Use NULL instead of 0 where appropriate.
82877         (to_hour): Avoid abort (), to avoid a dependency on
82878         stdlib.h.
82879         (yyerror, yylex): Now accepts parser_control * arg.
82880         (main) [TEST]: Use '\0' rather than 0 for char.
82881
82882 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82883
82884         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
82885
82886 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82887
82888         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
82889         It's now the caller's responsibility to handle the case where
82890         !HAVE_GETPAGESIZE && !defined getpagesize.
82891
82892         * lib/mktime.c (leapyear): Arg is long int, not int.
82893
82894 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
82895
82896         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
82897
82898 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
82899
82900         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
82901         missing.  Problem reported by James Youngman.
82902
82903 2004-10-16  Simon Josefsson  <jas@extundo.com>
82904
82905         * gnulib-tool: Fix comments.  Fix parse problem.
82906         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
82907
82908 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
82909
82910         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
82911         implementation of getopt_long.  Problem reported by Alexander Taler in:
82912         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
82913
82914 2004-10-15  Bruno Haible  <bruno@clisp.org>
82915
82916         * gnulib-tool: Untabify. Initialize supplied_libname.
82917         (func_usage): More homogenous output.
82918         (func_modules_transitive_closure, func_modules_to_filelist,
82919         func_emit_lib_Makefile_am): New functions.
82920         (func_import): New function, extracted from big case statement. Use
82921         func_get_license, func_modules_transitive_closure,
82922         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
82923         opt_lgpl. Don't use test -a, as it's not portable.
82924         (func_create_testdir): Use func_modules_transitive_closure,
82925         func_modules_to_filelist, func_emit_lib_Makefile_am.
82926
82927 2004-10-15  Bruno Haible  <bruno@clisp.org>
82928
82929         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
82930
82931 2004-10-15  Bruno Haible  <bruno@clisp.org>
82932
82933         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
82934         the portions belonging to each module.
82935         Suggested by Derek Robert Price <derek@ximbiot.com>.
82936
82937 2004-10-12  Simon Josefsson  <jas@extundo.com>
82938
82939         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82940         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
82941         to real functions.
82942
82943 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82944
82945         * modules/vsnprintf: New file.
82946
82947 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82948
82949         * m4/vsnprintf.m4: New file.
82950
82951 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82952
82953         * lib/vsnprintf.h: New file.
82954         * lib/vsnprintf.c: New file.
82955
82956 2004-10-11  Bruno Haible  <bruno@clisp.org>
82957
82958         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
82959         vsnprintf.
82960
82961 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
82962
82963         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
82964
82965 2004-10-07  Bruno Haible  <bruno@clisp.org>
82966
82967         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
82968         fits into the provided buffer.
82969
82970 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
82971
82972         * lib/diacrit.c, diacrit.h: Add GPL notice.
82973
82974         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
82975         notice.
82976         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
82977         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
82978         This avoids a potential constant-folding bug.
82979
82980 2004-10-05  Bruno Haible  <bruno@clisp.org>
82981
82982         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
82983         for the declaration of strsep.
82984
82985 2004-10-05  Bruno Haible  <bruno@clisp.org>
82986
82987         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
82988
82989 2004-10-04  Simon Josefsson  <jas@extundo.com>
82990
82991         * modules/memmem: New file.
82992         * tests/test-memmem.c: New file.
82993         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
82994
82995 2004-10-04  Simon Josefsson  <jas@extundo.com>
82996
82997         * m4/memmem.m4: New file.
82998
82999 2004-10-04  Simon Josefsson  <jas@extundo.com>
83000
83001         * lib/memmem.h: New file.
83002         * lib/memmem.c: New file, taken from glibc.
83003
83004 2004-10-04  Simon Josefsson  <jas@extundo.com>
83005
83006         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83007         '#ifdef USE_UNLOCKED_IO'.
83008
83009 2004-10-04  Simon Josefsson  <jas@extundo.com>
83010
83011         * config/srclist.txt: Add memmem from glibc.
83012
83013 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83014
83015         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83016
83017         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83018         modules/exclude, modules/getdate, modules/getline,
83019         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83020         modules/getusershell, modules/linebuffer, modules/md5,
83021         modules/mountlist, modules/posixtm, modules/readtokens,
83022         modules/readutmp, modules/regex, modules/sha1,
83023         modules/version-etc, modules/yesno:
83024         Remove dependency on unlocked-io.
83025
83026 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83027
83028         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83029
83030         * m4/unlocked-io.m4: Add copyright notice.
83031         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83032
83033 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83034
83035         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83036         * lib/xmalloc.c (xmemdup): Likewise.
83037         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83038         XFREE): Remove these long-obsolescent macros.
83039         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83040         * lib/xstrdup.c: Remove.
83041
83042         * lib/regex.c (re_comp): Cast gettext return value to char *,
83043         Problem reported by Martin Neitzel via Mark D. Baushke.
83044
83045 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83046
83047         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83048         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83049         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83050         regex.c, sha1.c, version-etc.c, yesno.c:
83051         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83052         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83053         the includer's responsibility.
83054
83055         Sync from coreutils.
83056
83057         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83058         points to the start of a string, as the C Standard says the
83059         resulting behavior is undefined.
83060
83061         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83062         simple -> simple_backups, numbered_existing ->
83063         numbered_existing_backups, numbered -> numbered_backups
83064         to avoid shadowing problems.  All uses changed.
83065         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83066         * lib/backupfile.c (check_extension, numbered_backup):
83067         Rename locals to avoid shadowing 'basename'.
83068         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83069         once.
83070
83071         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83072         * lib/.cvsignore: Add getopt.h.
83073
83074 2004-10-04  Bruno Haible  <bruno@clisp.org>
83075
83076         * modules/README: New file.
83077         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83078         not a module.
83079
83080 2004-10-02  Jim Meyering  <jim@meyering.net>
83081
83082         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83083
83084 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83085
83086         * modules/strsep: New file.
83087
83088 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83089
83090         * m4/strsep.m4: New file.
83091
83092 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83093
83094         * lib/strsep.h: New file.
83095         * lib/strsep.c: New file.
83096
83097 2004-10-01  Simon Josefsson  <jas@extundo.com>
83098
83099         * lib/snprintf.c (snprintf): Handle size==0.
83100
83101 2004-10-01  Simon Josefsson  <jas@extundo.com>
83102             Bruno Haible  <bruno@clisp.org>
83103
83104         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83105         (snprintf): Declare 'args'.
83106
83107 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83108
83109         * lib/snprintf.c: Remove comments as to why each header is needed.
83110
83111 2004-10-01  Bruno Haible  <bruno@clisp.org>
83112
83113         * MODULES.html.sh: Add strsep.
83114
83115 2004-09-30  Simon Josefsson  <jas@extundo.com>
83116
83117         * modules/snprintf: New file.
83118
83119 2004-09-30  Simon Josefsson  <jas@extundo.com>
83120
83121         * m4/snprintf.m4: New file.
83122
83123 2004-09-30  Simon Josefsson  <jas@extundo.com>
83124
83125         * lib/snprintf.h, lib/snprintf.c: New files.
83126
83127 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83128
83129         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83130         (hol_entry_help): Never translate an empty string.
83131         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83132         * lib/argp.h (OPTION_NO_TRANS): New option.
83133
83134 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83135
83136         * modules/argp (Maintainer): Replace Simon Josefsson
83137         by Sergey Poznyakoff.
83138
83139 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83140
83141         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83142         changes merged back into glibc.
83143
83144 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83145
83146         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83147
83148 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83149
83150         * lib/xvasprintf.c: Include xalloc.h.
83151         (xvasprintf): Use xalloc_die, not xmalloc_die.
83152
83153 2004-09-29  Bruno Haible  <bruno@clisp.org>
83154
83155         * modules/alloca-opt: New file, derived from modules/alloca.
83156         * modules/allocsa: Depend on alloca-opt instead of alloca.
83157         * modules/setenv: Likewise.
83158         * modules/vasnprintf: Likewise.
83159         * MODULES.html.sh: Add alloca-opt.
83160
83161 2004-09-28  Simon Josefsson  <jas@extundo.com>
83162
83163         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83164         LGPL, and to replace license template from GPL to LGPL.
83165
83166 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83167
83168         * modules/dummy: Change license to LGPL.
83169
83170 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83171
83172         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83173
83174 2004-09-24  Simon Josefsson  <jas@extundo.com>
83175
83176         * modules/minmax (License): Change from GPL to LGPL.
83177
83178 2004-09-23  Simon Josefsson  <jas@extundo.com>
83179
83180         * gnulib-tool (--import): Typo.
83181
83182 2004-09-23  Simon Josefsson  <jas@extundo.com>
83183
83184         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83185
83186 2004-09-22  Bruno Haible  <bruno@clisp.org>
83187
83188         * modules/*: Add 'License' field.
83189         * gnulib-tool: Accept --extract-license option.
83190         (func_get_license): New function.
83191
83192 2004-09-21  Bruno Haible  <bruno@clisp.org>
83193
83194         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83195         Reported by Simon Josefsson.
83196
83197 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83198
83199         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83200         gl_AC_TYPE_LONG_LONG.
83201
83202 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83203
83204         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83205
83206 2004-09-18  Simon Josefsson  <jas@extundo.com>
83207         and  Paul Eggert  <eggert@cs.ucla.edu>
83208
83209         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83210         calls with autoreconf.  Define GL_LIB.
83211
83212 2004-09-14  Karl Berry  <karl@gnu.org>
83213
83214         * config/srclist.txt: unsync setenv.c, sigh.
83215
83216 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83217
83218         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83219         Problem reported by Bruno Haible in:
83220         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83221
83222 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83223
83224         * config/srclist.txt: Comment out argp-pvh.c.
83225
83226 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83227
83228         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83229         in case some system header has #define'd it.  Problem reported by
83230         Soeren D. Schulze in
83231         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83232
83233 2004-09-09  Karl Berry  <karl@gnu.org>
83234
83235         * regex.[ch]: delete from the root.  These were supposed to be
83236                 synced with emacs cvs, but this has not happened for about
83237                 a year, and anyway nothing else uses emacs regex.[ch].
83238                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83239                 lib/regex[.ch] is untouched.
83240
83241 2004-09-09  Bruno Haible  <bruno@clisp.org>
83242
83243         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83244
83245 2004-09-09  Bruno Haible  <bruno@clisp.org>
83246
83247         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83248         modifications.
83249         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83250
83251 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83252
83253         * modules/xvasprintf: New file.
83254         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83255
83256 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83257
83258         * lib/xvasprintf.h: New file.
83259         * lib/xvasprintf.c: New file.
83260         * lib/xasprintf.c: New file.
83261
83262 2004-09-08  Bruno Haible  <bruno@clisp.org>
83263
83264         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83265
83266 2004-09-08  Bruno Haible  <bruno@clisp.org>
83267
83268         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83269         length is > INT_MAX.
83270         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83271         more.
83272
83273 2004-09-08  Bruno Haible  <bruno@clisp.org>
83274
83275         * lib/stdint_.h: New file, taken from GNU clisp.
83276
83277 2004-09-08  Bruno Haible  <bruno@clisp.org>
83278             Oskar Liljeblad  <oskar@osk.mine.nu>
83279
83280         * modules/stdint: New file.
83281         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83282
83283 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83284
83285         Import from coreutils.
83286         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83287         strings on unbounded length.  alloca's performance benefits aren't
83288         that important here.
83289         (V_STRDUP): Remove.
83290         (parse_with_separator): New function, with most of the internals
83291         of the old parse_user_spec.  Allow user to omit both user and group,
83292         for compatibility with FreeBSD.
83293         Clone only the user name, not the entire spec.
83294         Do not set *uid, *gid unless entirely successful.
83295         Avoid memory leak in some failing cases.
83296         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83297         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83298         (parse_user_spec): Rewrite to use parse_with_separator.
83299
83300 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83301
83302         * modules/userspec: Don't depend on alloca.
83303
83304 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83305
83306         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83307
83308 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83309
83310         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83311         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83312         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83313
83314 2004-08-16  Simon Josefsson  <jas@extundo.com>
83315
83316         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83317         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83318         Add --dry-run for --import.
83319         Let user provided command line parameters override configure.ac
83320         settings.
83321
83322 2004-08-12  Simon Josefsson  <jas@extundo.com>
83323
83324         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
83325         as discussed with Paul Eggert in threads rooted at
83326         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
83327         and
83328         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
83329         Before, the test was empty, and relied on ELIDE_CODE in source
83330         code.)
83331         (gl_PREREQ_GETOPT): New macro.
83332         (gl_GETOPT): Use them.
83333
83334 2004-08-12  Simon Josefsson  <jas@extundo.com>
83335
83336         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83337         * lib/getopt_.h: Renamed from getopt.h.
83338
83339 2004-08-12  Simon Josefsson  <jas@extundo.com>
83340
83341         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83342         Change default library name from libfoo to libgnu.
83343         Now, if you have a configure.ac that says:
83344                 gl_SOURCE_BASE(gl)
83345                 gl_M4_BASE(gl/m4)
83346                 gl_MODULES(error getopt etcetera)
83347                 gl_INIT
83348         you can import all you need by running:
83349                 ../gnulib/gnulib-tool --import
83350
83351         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83352         (Makefile.am): Rewrite, use logic from argz.
83353         (Include): Use <getopt.h> instead of "getopt.h".
83354
83355 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83356
83357         * modules/argp (Files): Add m4/unlocked-io.m4.
83358         (Depends-on): Add extensions.
83359
83360 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83361
83362         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
83363         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
83364         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
83365         Check for program_invocation_name, program_invocation_short_name,
83366         flockfile, funlockfile, features.h, _getopt_long_only_r.
83367
83368 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83369
83370         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
83371         its complicated substitute.
83372         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
83373         and program_invocation_name.
83374         (__argp_basename) [!_LIBC]: Remove; the only use was
83375         replaced by its body.
83376         (__argp_short_program_name): Change condition from
83377         !defined __argp_short_program_name to
83378         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
83379         to match argp-namefrob.h.
83380         (__argp_failure): Don't assume strerror_r returns char *.
83381         * lib/argp-parse.c (N_): Define unconditionally.
83382         (argp_default_options): Fill out initializers with 0 to avoid
83383         gcc warnings.
83384
83385 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83386
83387         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
83388         getopt1.c.
83389
83390 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83391
83392         Merge from coreutils.
83393
83394         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
83395
83396         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
83397         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
83398
83399 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83400
83401         Merge from coreutils.
83402
83403         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
83404         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
83405         for Reliant Unix 5.43.
83406
83407         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
83408         (union fooround): Use uintmax_t, not long int.
83409         The rest is a merge from libc:
83410         [defined _LIBC]: Include <shlib-compat.h>.
83411         (_obstack) [defined _LIBC]: Remove after 2.3.4.
83412
83413         * lib/settime.c (settime): Recode to avoid warning with
83414         Sun Forte C 6U2.
83415
83416         * lib/strverscmp.c: Convert to UTF-8.
83417
83418 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83419
83420         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83421         m4/uintmax_t.m4.
83422
83423 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83424
83425         * modules/xalloc-die: New file.
83426         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
83427
83428         * modules/md5 (Files): Add m4/uint32_t.m4.
83429         * modules/sha1: Renamed from modules/sha.
83430         (Files):
83431         Rename lib/sha.h to lib/sha1.h.
83432         Rename lib/sha.c to lib/sha1.c.
83433         Rename m4/sha.m4 to m4/sha1.m4.
83434         (lib_SOURCES): Likewise.
83435         (configure.ac): Rename gl_SHA to gl_SHA1.
83436         (Include): sha.h -> sha1.h.
83437
83438 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83439
83440         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
83441         * m4/sha1.m4: Renamed from sha.m4.
83442         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
83443
83444 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83445
83446         * lib/obstack.h (obstack_empty_p):
83447         Don't assume that chunk->contents is suitably aligned.
83448         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
83449         Likewise. Problem reported by Benno in
83450         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
83451
83452         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
83453         readable.  This could be improved further but it'd take some work.
83454
83455 2004-08-08  Simon Josefsson  <jas@extundo.com>
83456
83457         * modules/xgethostname (Depends-on): Remove exit and error (not
83458         used).
83459
83460         * modules/getpass-gnu: Add getpass.h.
83461         (Depends-on): Add stdbool.
83462         * modules/getpass: Add getpass.h.
83463
83464 2004-08-08  Simon Josefsson  <jas@extundo.com>
83465
83466         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
83467         Check getpass declaration.
83468
83469 2004-08-08  Simon Josefsson  <jas@extundo.com>
83470
83471         * lib/xgethostname.c: Don't include error.h (not used).
83472
83473         * lib/getpass.h: Add.
83474         * lib/getpass.c: Include getpass.h first.
83475
83476 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
83477
83478         * lib/xalloc-die.c: New file.
83479         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
83480         All uses removed.
83481         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
83482         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
83483         xalloc-die.c.
83484         (_, N_, xalloc_die): Move to xalloc-die.c.
83485         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
83486         so that we needn't mess with xalloc_msg_memory_exhausted.
83487
83488         * lib/sha1.h: Renamed from sha.h.
83489         (SHA1_H): Renamed from _SHA_H.
83490         (sha1_ctx): Renamed from sha_ctx.
83491         (sha1_init_ctx): Renamed from sha_init_ctx.
83492         (sha1_process_block): Renamed from sha_process_block.
83493         (sha1_process_bytes): Renamed from sha_process_bytes.
83494         (sha1_finish_ctx): Renamed from sha_finish_ctx.
83495         (sha1_read_ctx): Renamed from sha_read_ctx.
83496         (sha1_stream): Renamed from sha_stream.
83497         (sha1_buffer): Renamed from sha_buffer.
83498         * lib/sha1.c: Likewise; renamed from sha.c.
83499         Do not include <sys/types.h>.
83500         Include <stddef.h> rather than <stdlib.h>.
83501
83502 2004-08-08  Bruno Haible  <bruno@clisp.org>
83503
83504         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
83505         FILESYSTEM_PREFIX_LEN.
83506         * lib/progreloc.c: Likewise.
83507         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
83508
83509 2004-08-06  Simon Josefsson  <jas@extundo.com>
83510
83511         * modules/progname (Depends-on): Don't depend on stdbool.
83512
83513 2004-08-06  Simon Josefsson  <jas@extundo.com>
83514
83515         * modules/getsubopt: New file.
83516         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83517         getsubopt.
83518
83519 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83520
83521         More merge from coreutils.
83522
83523         * m4/utimens.m4, m4/utimecmp.m4: New files.
83524         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
83525         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
83526         prereq.m4, sha.m4: Import changes from coreutils.
83527
83528 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83529
83530         More merge from coreutils.
83531         * modules/raise, modules/readtokens0, modules/utimens:
83532         * modules/utimecmp, module/xnanosleep: New files.
83533         * modules/strftime: Add lib/strftime.h.
83534         Change include from <time.h> to "strftime.h".
83535         * modules/yesno: Add lib/yesno.h.
83536         * modules/backupfile: Remove lib/addext.c.
83537         * modules/euidaccess: Add stat-macros.h.
83538         * modules/canonicalize, modules/euidaccess,
83539         modules/filemode, modules/lchown, modules/makepath,
83540         modules/rmdir, modules/stat: Likewise.
83541
83542 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83543
83544         Merge from tar.
83545         * lib/argp-help.c (make_hol, hol_append): Don't assume that
83546         SIZE_MAX is a valid preprocessor constant.
83547         (__argp_basename): Change from "#ifndef _LIBC"
83548         to "#ifndef __argp_short_program_name", so that
83549         we don't compile these functions for tar.
83550
83551         More merges from coreutils.
83552         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
83553         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
83554         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
83555         * lib/addext.c: Remove; no longer needed.
83556         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
83557         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
83558         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
83559         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
83560         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
83561         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
83562         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
83563         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
83564         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
83565         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83566         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
83567         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
83568         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
83569         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
83570         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
83571         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
83572         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
83573         Import changes from coreutils.
83574
83575 2004-08-05  Simon Josefsson  <jas@extundo.com>
83576
83577         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
83578
83579 2004-08-05  Simon Josefsson  <jas@extundo.com>
83580
83581         * m4/getsubopt.m4: New file.
83582
83583 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83584
83585         Merge from coreutils.
83586
83587         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
83588         * m4/getcwd-path-max.m4: New files.
83589
83590         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
83591         FILESYSTEM_PREFIX_LEN ->
83592         FILE_SYSTEM_PREFIX_LEN.
83593         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
83594         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
83595         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
83596         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
83597
83598         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
83599         prerequisite modules now handle the DOS stuff.
83600         Don't check for unistd.h.
83601
83602 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83603
83604         Merge from coreutils.
83605
83606         * lib/.gdb-history: Remove; this doesn't belong here.
83607
83608         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
83609         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
83610         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
83611         * lib/getcwd.c: New files.
83612
83613         * lib/dirname.h: Include <stdbool.h>.
83614         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
83615         for consistency with POSIX terminology.  All uses changed.
83616         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
83617         (strip_trailing_slashes): Use bool for booleans.
83618         * lib/stripslash.c (strip_trailing_slashes): Likewise.
83619
83620         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
83621         sometimes returns a positive errno value even when it succeeds.
83622         (print_errno_message) [!LIBC]: Fall back on strerror if
83623         __strerror_r fails.
83624
83625         * lib/path-concat.c (mempcpy): Don't define if a system header defines
83626         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
83627         (longest_relative_suffix): New function.
83628         (path_concat): Use it.  Assume first argument is not NULL.
83629         Port to DOS.  Omit redundant separators.
83630         Report an error instead of returning NULL.
83631         Use mempcpy instead of memcpy.
83632         (xpath_concat): Remove: not declared or used.
83633
83634         * lib/same.h: Include <stdbool.h>
83635         (same_name): Return bool, not int.
83636         * lib/same.c (same_name): Likewise.
83637         (errno): Don't declare; we assume C89 or better now.
83638
83639         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
83640         if not already defined.
83641
83642         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
83643         * lib/dup-safer.c (errno): Likewise.
83644
83645 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83646
83647         Merge from coreutils.
83648         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
83649         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
83650         * modules/path-concat: Don't depend on strdup.
83651
83652 2004-08-03  Simon Josefsson  <jas@extundo.com>
83653
83654         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
83655         * lib/progname.h: Don't include stdbool.h.
83656
83657 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83658
83659         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
83660         * MODULES.html.sh (func_all_modules): Remove fatal.
83661
83662 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83663
83664         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
83665
83666 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83667
83668         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
83669         working.
83670
83671 2004-08-02  Simon Josefsson  <jas@extundo.com>
83672
83673         * lib/getsubopt.h: New file, with comments from Bruno Haible.
83674         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
83675         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
83676
83677 2004-08-01  Simon Josefsson  <jas@extundo.com>
83678
83679         * lib/xgetdomainname.c: Include stdlib.h, for free().
83680
83681 2004-07-19  Bruno Haible  <bruno@clisp.org>
83682
83683         * MODULES.html.sh (func_all_modules): Add dummy.
83684
83685 2004-07-16  Simon Josefsson  <jas@extundo.com>
83686
83687         * modules/dummy: New file.
83688
83689 2004-07-16  Simon Josefsson  <jas@extundo.com>
83690
83691         * lib/dummy.c: New file.
83692
83693 2004-07-16  Bruno Haible  <bruno@clisp.org>
83694
83695         * lib/backupfile.h: Add extern "C" for C++.
83696         * lib/closeout.h: Likewise.
83697         * lib/copy-file.h: Likewise.
83698         * lib/findprog.h: Likewise.
83699         * lib/full-write.h: Likewise.
83700         * lib/pathname.h: Likewise.
83701         * lib/progname.h: Likewise.
83702         * lib/stpcpy.h: Likewise.
83703         * lib/stpncpy.h: Likewise.
83704         * lib/strcase.h: Likewise.
83705         * lib/strstr.h: Likewise.
83706         * lib/xalloc.h: Likewise.
83707
83708         * lib/mbswidth.h: Add extern "C" for C++.
83709         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
83710
83711 2004-07-13  Robert Millan  <robertmh@gnu.org>
83712
83713         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
83714
83715 2004-07-09  Simon Josefsson  <jas@extundo.com>
83716
83717         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
83718         failed without this.)
83719
83720 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83721
83722         * modules/chown (Files): Add lib/fchown-stub.c, since
83723         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
83724
83725 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83726
83727         * lib/fchown-stub.c: New file.
83728
83729 2004-06-24  Jim Meyering  <jim@meyering.net>
83730
83731         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
83732
83733 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83734
83735         * modules/argz: Omit "#include".
83736
83737         * MODULES.html.sh (func_all_modules): Add calloc, to match
83738         2004-06-01 addition of calloc module.
83739
83740 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83741
83742         * m4/argz.m4: New file, which is autoupdated from libtool.
83743
83744 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83745
83746         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
83747         libtool.
83748
83749 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83750
83751         * config/srclist-update: Don't insist on "USA." before the
83752         close-comment, as libtool omits the period and puts the */ on a
83753         separate line.
83754         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
83755         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
83756
83757 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
83758
83759         * modules/argz: New file.
83760         * MODULES.html.sh (func_all_modules): Add argz.
83761
83762 2004-06-12  Jim Meyering  <jim@meyering.net>
83763         and  Paul Eggert  <eggert@cs.ucla.edu>
83764
83765         * modules/hash (Files): Add lib/xalloc.h.
83766         * modules/pipe (Depends-on): Add wait-process.
83767         * modules/stat (Depends-on): Add xalloc.
83768         * modules/userspec (Files): Add lib/userspec.h.
83769         * modules/xstrto
83770
83771         Upgrade from gettext-0.13.
83772         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
83773         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
83774         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
83775
83776 2004-06-10  Jim Meyering  <jim@meyering.net>
83777
83778         * lib/calloc.c: New file.
83779
83780 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
83781
83782         * lib/getdate.y (yylex): Allow space between sign and number.
83783         Problem reported by Dan Jacobson.
83784
83785 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
83786
83787         Merge from coreutils CVS.
83788
83789         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
83790         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
83791         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
83792         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
83793         xstrtol.m4: Fix copyright date and/or serial number.
83794
83795         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
83796         See if we need an fchown replacement.
83797         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
83798         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
83799         and use the replacement function if we detect either defect.
83800
83801         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
83802         gl_UTIMECMP.
83803
83804 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
83805         and  Jim Meyering  <jim@meyering.net>
83806
83807         Merge from coreutils CVS.
83808
83809         * lib/stat-macros.h: New file, with contents from file-type.h
83810         and coreutils' system.h.
83811         * lib/file-type.c: Include "stat-macros.h".
83812         * lib/file-type.h (file_type): Move all macro definitions to new file,
83813         stat-macros.h.
83814
83815         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
83816         Wrap old code with this conditional.
83817         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
83818         function that does not dereference symlinks.
83819         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
83820
83821         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
83822         dependency problems.
83823         (xreadlink): Accept new arg SIZE, for efficiency.
83824         All decls and uses changed.
83825         * lib/xreadlink.h: Include <stddef.h>, for size_t.
83826
83827         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
83828         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
83829
83830         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
83831         sysexits.h.
83832
83833 2004-06-01  Jim Meyering  <jim@meyering.net>
83834
83835         * m4/calloc.m4: New file.
83836
83837 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
83838
83839         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
83840         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
83841         Also, fix a typo in a diagnostic.
83842
83843 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
83844
83845         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
83846         or AC_FUNC_REALLOC.
83847
83848 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
83849
83850         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
83851         macros to be defined.
83852         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
83853         the allocator returns NULL because the requested size is zero.
83854
83855 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83856
83857         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
83858         var.  Add comment explaining why libc still defines it.  This
83859         merges the following patch from glibc:
83860         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
83861
83862 2004-05-20  Andreas Schwab  <schwab@suse.de>
83863
83864         * m4/free.m4: Replace free if it not known to work, not the other
83865         way round.
83866
83867 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
83868
83869         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
83870         present in glibc since revision 1.1 of this file.
83871         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
83872         obstack_alignment_mask, obstack_alloc, obstack_base,
83873         obstack_blank, obstack_blank_fast, obstack_chunk_size,
83874         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
83875         obstack_grow0, obstack_init, obstack_int_grow,
83876         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
83877         obstack_next_free, obstack_object_size, obstack_ptr_grow,
83878         obstack_ptr_grow_fast, obstack_room): Remove declarations of
83879         nonexistent functions.
83880
83881 2004-05-18  Karl Berry  <karl@gnu.org>
83882
83883         * config/srclist.txt: break link for vasnprintf.c.
83884
83885 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83886
83887         Port obstack to the AS/400, where pointers are 16 bytes wide and
83888         you cannot cast an integer to a valid pointer.  This patch is
83889         currently waiting to be integrated into glibc; see
83890         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
83891
83892         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
83893         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
83894         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
83895         (struct obstack): temp member is now a union of a pointer and
83896         an integer, instead of an integer.  All integer uses changed.
83897         This does not affect the physical layout of struct obstack,
83898         except on hosts (like the AS/400) where the size or alignment of
83899         void * is greater than that of ptrdiff_t.
83900         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
83901         __STDC__)]: Store temporary in pointer member of union, not
83902         integer member.
83903         * lib/obstack.c: Include <stddef.h>, for offsetof.
83904         (struct fooalign): Remove; it doesn't need a name.
83905         (union fooround): Change double to long double, and add void *.
83906         (DEFAULT_ALIGNMENT): Use offsetof to compute.
83907         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
83908         not a macro.  Hence the values are always int; so remove all
83909         casts-to-int in uses.
83910
83911 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83912
83913         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
83914         we can get this patch merged into glibc.
83915
83916 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83917             Paul Eggert  <eggert@cs.ucla.edu>
83918
83919         * m4/argp: Depend on alloca.
83920
83921 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83922             Paul Eggert  <eggert@cs.ucla.edu>
83923
83924         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
83925         freecoding.
83926
83927 2004-05-17  Bruno Haible  <bruno@clisp.org>
83928
83929         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
83930         precision that consists of a '.' followed by an empty digit string.
83931         Patch by Tor Lillqvist <tml@iki.fi>.
83932
83933 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83934
83935         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
83936         for backward compatibility with older code.  We need our own
83937         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
83938         it under some other name, and our alloca.h will define it.
83939
83940 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83941             Derek Price  <derek@ximbiot.com>
83942
83943         * lib/alloca.c: Include <alloca.h>, to get our interface.
83944         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
83945         include <alloca.h> first.  Use C89 prototype for alloca; this
83946         requires including <stddef.h> for size_t.  Use extern "C" if C++.
83947         Use #elif for simplicity, since we can assume C89 now.
83948         Don't try to source the system alloca.h since it will not be found
83949         and to prevent recursively including its replacement.
83950         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
83951         * lib/regex.c: Likewise.
83952
83953 2004-05-16  Derek Price  <derek@ximbiot.com>
83954             Paul Eggert  <eggert@cs.ucla.edu>
83955
83956         getline cleanup.  This changes the getndelim2 API: both order of
83957         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
83958         no delimiter).
83959
83960         * lib/getline.c: Don't include stddef.h or stdio.h, since our
83961         interface does that.
83962         (getline): Always use getdelim, so that we don't have two
83963         copies of this code.
83964         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
83965         if available.
83966         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
83967         (GETNDELIM2_MAXIMUM): New macro.
83968         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
83969         instead of the old practice of delim2==0.  All callers changed.
83970         Return -1 on overflow, instead of returning junk.
83971         Do not set *linesize unless allocation succeeds.
83972         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
83973         that we include sys/types.h.
83974         * lib/getnline.h: Likewise.
83975         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
83976         (getndelim2): Reorder arguments.
83977         * lib/getnline.c (getnline, getndelim):
83978         Don't discard the NMAX argument.
83979         (getnline): Invoke getndelim, to avoid code duplication.
83980         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
83981         of (size_t) -1 by callers of the getnline family.
83982
83983 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83984
83985         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
83986         Check for gettimeofday.
83987         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
83988         Check for settimeofday, stime.
83989
83990 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83991
83992         * lib/nanosleep.c (suspended): Change its type from int to
83993         sig_atomic_t volatile.
83994         (first_call): Make it private to rpl_nanosleep, and have it
83995         be zero initially as that's a bit faster.
83996         (my_usleep): Round up fractional times instead of truncating them,
83997         as this is the usual meaning for 'sleep'.
83998
83999         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84000         doesn't work.
84001         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84002         (ENOSYS): Define if not defined.
84003         (settime): Fall back on stime if it exists and settimeofday fails.
84004         But don't bother with fallbacks if a method fails with errno == EPERM.
84005
84006 2004-05-11  Jim Meyering  <jim@meyering.net>
84007
84008         Prior to this change, the save_cwd caller required read access to the
84009         current directory on most systems (ones with the fchdir function).
84010
84011         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84012         fails, try write-only, and finally, resort to using xgetcwd.
84013
84014 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84015
84016         * lib/obstack.c, obstack.h: Import changes from libc.
84017
84018 2004-04-28  Bruno Haible  <bruno@clisp.org>
84019
84020         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84021         also implicitly appends .exe to executables.
84022         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84023         accepts Windows pathnames.
84024         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84025         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84026         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84027         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84028         Reported by Derek Robert Price <derek@ximbiot.com>.
84029
84030 2004-04-21  Karl Berry  <karl@gnu.org>
84031
84032         * config/srclist.txt (localcharset.c): break sync.
84033
84034 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84035
84036         * m4/host-os.m4: Add a copyright notice.
84037
84038 2004-04-20  Jim Meyering  <jim@meyering.net>
84039
84040         Change UTILS_ to gl_ in AC_DEFINE'd names.
84041         Change utils_- and jm_-prefixed variables, too.
84042         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84043         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84044         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84045
84046         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84047         Don't emit trailing blanks.
84048         Also rename jm_-prefixed variables to have gl_ prefix.
84049
84050         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84051         Also rename jm_-prefixed variables to have gl_ prefix.
84052
84053         * m4/jm-macros.m4: Reflect the renamings.
84054         * m4/prereq.m4: Likewise.
84055
84056 2004-04-20  Jim Meyering  <jim@meyering.net>
84057
84058         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84059         memory.
84060
84061 2004-04-20  Jim Meyering  <jim@meyering.net>
84062             Bruno Haible  <bruno@clisp.org>
84063
84064         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84065         memory when realloc fails.
84066
84067 2004-04-19  Jim Meyering  <jim@meyering.net>
84068
84069         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84070         now that readutmp.c may call `free (0)'.
84071
84072 2004-04-19  Bruno Haible  <bruno@clisp.org>
84073
84074         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84075         * m4/inttypes_h.m4: Likewise.
84076         * m4/stdint_h.m4: Likewise.
84077         * m4/intmax_t.m4: Likewise.
84078         * m4/uintmax_t.m4: Likewise.
84079
84080 2004-04-18  Jim Meyering  <jim@meyering.net>
84081
84082         * m4/prereq.m4: Don't forbid jm_ prefix.
84083
84084         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84085         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84086         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84087         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84088         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84089         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84090         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84091         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84092         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84093         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84094         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84095         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84096         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84097         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84098         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84099         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84100         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84101         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84102         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84103
84104 2004-04-18  Jim Meyering  <jim@meyering.net>
84105
84106         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84107         failure, don't leak memory and do call END_UTMP_ENT.
84108
84109 2004-04-16  Jim Meyering  <jim@meyering.net>
84110
84111         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84112         coreutils' stat program.
84113         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84114
84115 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84116
84117         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84118         C89.
84119         (CHAR_BIT): Remove, since we assume C89.
84120         Include <stdint.h> if available, as per current Autoconf CVS advice.
84121
84122 2004-03-31  Jim Meyering  <jim@meyering.net>
84123
84124         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84125         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84126         * m4/xalloc.m4: Likewise.
84127
84128 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84129
84130         Merge from coreutils.
84131
84132         * m4/inttostr.m4: New file.
84133         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84134         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84135         Require gl_CLOCK_TIME.
84136         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84137
84138 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84139
84140         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84141         not bool, to be more consistent with Unix conventions.
84142         Suggested by Bruno Haible.
84143
84144         Merge from coreutils.
84145
84146         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84147         * lib/umaxtostr.c: New files.
84148
84149         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84150         the usual <time.h> dance.
84151         (get_date): Change signature to support fractional time stamps.
84152         All callers changed.
84153         * lib/getdate.y: Include "getdate.h" first, as we can now
84154         assume C89 and don't need to worry about 'const'.
84155         Similarly, include "unlocked-io.h" near start, not in middle.
84156         Include <limits.h>.
84157         (textint.value): Use long int rather than int.
84158         (textint.digits): Use size_t rather than int.
84159         (BILLION, LOG10_BILLION): New constants.
84160         (parser_control): New member rel_ns.  Members day_ordinal,
84161         time_zone, month, day, hour, minutes, rel_year, rel_month,
84162         rel_day, rel_hour, rel_minutes, rel_seconds
84163         are now long int, not int.  Member seconds is now struct timespec,
84164         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84165         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84166         not int.
84167         (%union.intval): Now long int, not int.
84168         New member timespec.
84169         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84170         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84171         (spec): Now is a timespec or an item list.
84172         (timespec, items): New nonterminals.
84173         (time, rel, relunit, number, get_date):
84174         Add support for fractional seconds.
84175         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84176         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84177         (to_hour): First arg is now long int, not int.
84178         (to_year): Returns long int, not int.
84179         Don't treat year -70 like 70.
84180         (tm_diff): Returns long int, not int.
84181         (lookup_word): Use bool instead of int when appropriate.
84182         (yylex): Use size_t for count, not int.
84183         Detect overflow when parsing large integer constants.
84184         Add support for fractions.
84185         (get_date): Make pointers 'const' if possible.
84186         Use more-portable code to detect integer overflow.
84187         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84188         Don't use ctime; it's not reliable if the year has >4 digits.
84189
84190         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84191         This is for compatibility with BSD.
84192
84193         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84194         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84195         From coreutils' system.h.
84196
84197         * lib/userspec.c: Don't include "posixver.h".
84198         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84199         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84200         compatible extension.  Simplify code by removing a boolean int
84201         that was always nonzero if a string was nonnull.
84202
84203 2004-03-30  Jim Meyering  <jim@meyering.net>
84204
84205         Merge from coreutils.
84206
84207         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84208         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84209         on some systems one must include <grp.h> before it.
84210         Reported by Christian Krackowizer.
84211
84212 2004-03-30  Jim Meyering  <jim@meyering.net>
84213
84214         Merge from coreutils.
84215
84216         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84217
84218         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84219         an empty input stream.
84220
84221         * lib/readtokens.c: Include <stdbool.h>.
84222         (readtoken): Use `size_t' rather than int/long.
84223         All callers adjusted.
84224         Use `bool' rather than `int' where appropriate.
84225         Use memset rather than an explicit loop.
84226         Use x2nrealloc rather than xrealloc.
84227         Allow the use of `\0' as a delimiter.
84228         (readtokens): Likewise.
84229         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84230
84231 2004-03-30  Jim Meyering  <jim@meyering.net>
84232
84233         * m4/realloc.m4: Remove file, since now it does no more than
84234         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84235         the `configure.ac' section of module/realloc.
84236         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84237
84238 2004-03-30  Bruno Haible  <bruno@clisp.org>
84239
84240         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84241         nonnull.
84242
84243 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84244
84245         Merge changes to getloadavg.c from coreutils and Emacs.
84246
84247         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84248         Define to an expression, not to the empty string.
84249         Include cloexec.h and xalloc.h.
84250         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84251         Use set_cloexec_flag rather than rolling our own.
84252         * lib/cloexec.c, lib/cloexec.h: New files.
84253
84254 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84255
84256         * m4/cloexec.m4: New file.
84257
84258 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84259
84260         * lib/getopt.h: Sync with libc CVS.
84261
84262 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84263             Bruno Haible  <bruno@clisp.org>
84264
84265         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84266         mbswidth.
84267
84268 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84269             Bruno Haible  <bruno@clisp.org>
84270
84271         * lib/mbswidth.h: Include <wchar.h> only if
84272         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84273         <wchar.h>.
84274         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84275
84276 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84277
84278         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84279         Sync with libc CVS.
84280         * lib/getopt_int.h: New file, also synced from libc.
84281
84282 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84283
84284         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84285         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84286         Bring back getopt.c, getopt.h, getopt1.c.
84287
84288 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84289
84290         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84291         All uses changed.  Check for sa_sigaction member; this fixes
84292         a bug first reported by Jason Andrade in
84293         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84294
84295 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84296
84297         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84298         '#if' expressions.  Unlike the code it replaces, it does not
84299         depend on (defined _SC_PAGESIZE).  However, it does depend on
84300         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84301         first reported by Jason Andrade in
84302         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84303
84304 2004-02-25  Simon Josefsson  <jas@extundo.com>
84305
84306         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84307
84308 2004-02-25  Simon Josefsson  <jas@extundo.com>
84309
84310         * lib/strdup.h: New file.
84311         * lib/strdup.c: Include it.
84312         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84313         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84314
84315 2004-02-23  Karl Berry  <karl@gnu.org>
84316
84317         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84318         (from fencepost.gnu.org:/gd/gnuorg).
84319
84320 2004-02-23  Karl Berry  <karl@gnu.org>
84321
84322         * config/srclistvars.sh (GNUORG) [karl]: redefine.
84323         * config/srclist.txt: add maintain/standards documents.
84324
84325 2004-02-18  Bruno Haible  <bruno@clisp.org>
84326
84327         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
84328         Reported by Derek Robert Price <derek@ximbiot.com>.
84329
84330 2004-02-16  Karl Berry  <karl@gnu.org>
84331
84332         * config/mkinstalldirs, install-sh: update from automake.
84333
84334 2004-02-06  Karl Berry  <karl@gnu.org>
84335
84336         * m4/po.m4: update from gettext 0.14.1.
84337
84338 2004-02-06  Karl Berry  <karl@gnu.org>
84339
84340         * lib/config.charset: update from gettext 0.14.1.
84341
84342 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84343
84344         Add comments and code, prompted by suggestions from Bruno Haible
84345         for sh-quote.
84346         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84347         describing the enum quoting_style values.
84348         * lib/quotearg.c (quotearg_alloc): New function.
84349         (quotearg_buffer_restyled): Treat lone { and } as special.
84350         Treat = as special.  Work around bug with older shells
84351         that "see" a '\' that is really the 2nd byte of a multibyte char.
84352         Quote empty string with shell_quoting_style.
84353
84354 2004-02-03  Bruno Haible  <bruno@clisp.org>
84355
84356         * m4/pipe.m4: New file, from GNU gettext.
84357
84358 2004-02-03  Bruno Haible  <bruno@clisp.org>
84359
84360         * lib/pipe.h: New file, from GNU gettext.
84361         * lib/pipe.c: New file, from GNU gettext.
84362
84363 2004-01-27  Bruno Haible  <bruno@clisp.org>
84364
84365         * m4/execute.m4: New file, from GNU gettext.
84366
84367 2004-01-27  Bruno Haible  <bruno@clisp.org>
84368
84369         * lib/execute.h: New file, from GNU gettext.
84370         * lib/execute.c: New file, from GNU gettext.
84371         * lib/w32spawn.h: New file, from GNU gettext.
84372
84373 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84374
84375         Merge from diffutils.
84376
84377         * lib/file-type.c (file_type): Add typed memory objects.
84378         * lib/file-type.h (S_TYPEISTMO): New macro.
84379
84380         * lib/c-stack.h (c_stack_action): Remove argv argument.
84381         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
84382         (die): Don't calculate message unless segv_action returns.
84383         (get_stack_location, min_address_from_argv, max_address_from_argv,
84384         volatile stack_base, volatile_stack_size): Remove.
84385         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
84386         that every segmentation violation is a stack overflow.  (Ouch!)
84387         See Debian bug 136249 (still outstanding) for more info about why
84388         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
84389
84390 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84391
84392         Exit-status fix from coreutils.
84393
84394         Use exit_failure consistently in place of EXIT_FAILURE,
84395         so that program exit statuses are consistent on failure.
84396
84397         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
84398         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
84399         * lib/argmatch.h: Comment fix to match the above.
84400         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
84401         Now a macro referring to exit_failure, instead of a separate
84402         variable.  Include "exitfail.h" to get it.
84403         * lib/xstrtol.h: Include "exitfail.h".
84404         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
84405
84406         * lib/long-options.c (parse_long_options): Use prototype
84407         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
84408         for clarity.
84409
84410 2004-01-21  Jim Meyering  <jim@meyering.net>
84411
84412         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
84413         so as not to conflict with a different-sized __mktime_internal
84414         function in GNU libc.
84415         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
84416         Problem building statically-linked `ls' reported by Michael Brunnbauer.
84417
84418 2004-01-20  Karl Berry  <karl@gnu.org>
84419
84420         * config/config.guess: update from config.
84421
84422         * config/srclistvars.sh: GNUWWWLICENSES for karl.
84423
84424 2004-01-20  Bruno Haible  <bruno@clisp.org>
84425
84426         Safer stack allocation.
84427         * lib/setenv.c: Include allocsa.h.
84428         (alloca): Remove fallback definition.
84429         (freea): Remove macro.
84430         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
84431         instead of freea.
84432
84433 2004-01-20  Bruno Haible  <bruno@clisp.org>
84434
84435         * m4/eealloc.m4: New file, from GNU gettext.
84436
84437 2004-01-20  Bruno Haible  <bruno@clisp.org>
84438
84439         * m4/allocsa.m4: New file, from GNU gettext.
84440
84441 2004-01-20  Bruno Haible  <bruno@clisp.org>
84442
84443         * lib/xallocsa.h: New file, from GNU gettext.
84444         * lib/xallocsa.c: New file, from GNU gettext.
84445
84446 2004-01-20  Bruno Haible  <bruno@clisp.org>
84447
84448         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
84449
84450 2004-01-20  Bruno Haible  <bruno@clisp.org>
84451
84452         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
84453         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
84454         specially.
84455
84456 2004-01-20  Bruno Haible  <bruno@clisp.org>
84457
84458         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
84459         patch.
84460
84461 2004-01-20  Bruno Haible  <bruno@clisp.org>
84462
84463         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
84464
84465 2004-01-20  Bruno Haible  <bruno@clisp.org>
84466
84467         * lib/eealloc.h: New file.
84468
84469 2004-01-20  Bruno Haible  <bruno@clisp.org>
84470
84471         * lib/binary-io.h: Avoid warnings on Cygwin.
84472
84473 2004-01-20  Bruno Haible  <bruno@clisp.org>
84474
84475         * lib/allocsa.h: New file, from GNU gettext.
84476         * lib/allocsa.c: New file, from GNU gettext.
84477
84478 2004-01-18  Karl Berry  <karl@gnu.org>
84479
84480         * doc/gpl.texi, doc/lgpl.texi: new files.
84481
84482 2004-01-18  Karl Berry  <karl@gnu.org>
84483
84484         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
84485         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
84486
84487 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84488
84489         Merge from coreutils.
84490
84491         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
84492         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
84493         (gl_DEFAULT_POSIX2_VERSION): Move
84494         the documentation from 'configure' into 'config.hin',
84495         so that 'configure --help' isn't burdened by it and
84496         we don't have to worry about its formatting there.
84497         Reword the documentation so that it's more succinct
84498         and can be run together into a single paragraph.
84499         * m4/same.m4 (gl_SAME): Check for pathconf.
84500
84501 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84502
84503         Merge from coreutils.
84504
84505         * lib/posixver.c: Include posixver.h.
84506
84507         * lib/same.c: Include <stdbool.h>, <limits.h>.
84508         (_POSIX_NAME_MAX): Define if not defined.
84509         (MIN): New macro.
84510         (same_name): If file names are silently truncated, report
84511         that the file names are the same if they are the same after
84512         the silent truncation.
84513
84514         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
84515         conversion function.
84516         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
84517         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
84518         longer needed.
84519
84520 2004-01-15  Jim Meyering  <jim@meyering.net>
84521
84522         Merge from coreutils.
84523
84524         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
84525         if no library is required.
84526         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
84527         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
84528         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
84529         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
84530         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
84531         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
84532         value, $ac_cv_search_crypt, if it's "none required".
84533         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
84534         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
84535         not gl_FUNC_GETLOADAVG.
84536         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
84537         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
84538
84539 2004-01-15  Jim Meyering  <jim@meyering.net>
84540
84541         Merge from coreutils.
84542
84543         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
84544         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
84545         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
84546
84547         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
84548         optional configure-time default.
84549
84550         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84551
84552         * lib/xreadlink.c (xreadlink): Correct outdated comment.
84553
84554 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
84555
84556         Merge from coreutils.
84557
84558         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
84559         value, $ac_cv_search_nanosleep, if it's "none required".
84560
84561 2004-01-14  Paul Eggert  <eggert@twinsun.com>
84562
84563         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
84564         with like-named macro in fnmatch.c.
84565         (EXT): Use an internal constant instead.
84566
84567         Merge fnmatch patches from glibc.
84568         * lib/fnmatch.c (mbsinit): Remove define.
84569         Add libc_hidden_ver (__fnmatch, fnmatch).
84570         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
84571         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
84572
84573 2004-01-14  Karl Berry  <karl@gnu.org>
84574
84575         * config/install-sh: update from automake.
84576
84577 2004-01-13  Karl Berry  <karl@gnu.org>
84578
84579         * config/install-sh: update from automake.
84580
84581 2004-01-09  Karl Berry  <karl@gnu.org>
84582
84583         * config/install-sh: update from automake.
84584
84585 2004-01-05  Karl Berry  <karl@gnu.org>
84586
84587         * config/config.{sub,guess}: update from config.
84588
84589 2003-12-31  Karl Berry  <karl@gnu.org>
84590
84591         * config/depcomp: update from automake.
84592
84593 2003-12-14  Karl Berry  <karl@gnu.org>
84594
84595         * lib/config.charset: update from gettext-runtime.
84596
84597 2003-12-03  Paul Eggert  <eggert@twinsun.com>
84598
84599         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
84600         Bug reported by Alfred M. Szmidt.
84601
84602 2003-12-03  Bruno Haible  <bruno@clisp.org>
84603
84604         * m4/gettext.m4: Upgrade from gettext-0.13.
84605         * m4/po.m4: Upgrade from gettext-0.13.
84606         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
84607         * m4/intmax.m4: New file, from gettext-0.13.
84608         * m4/printf-posix.m4: New file, from gettext-0.13.
84609
84610 2003-11-29  Karl Berry  <karl@gnu.org>
84611
84612         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
84613
84614 2003-11-25  Paul Eggert  <eggert@twinsun.com>
84615             Bruno Haible  <bruno@clisp.org>
84616
84617         * lib/printf-parse.h: Don't include sys/types.h.
84618         (ARG_NONE): New macro.
84619         (char_directive): Change type of *arg_index fields to size_t.
84620         * lib/printf-parse.c: Don't include sys/types.h.
84621         (SSIZE_MAX): Remove macro.
84622         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
84623         Remove unnecessary overflow check.
84624         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
84625         fields.
84626
84627 2003-11-25  Bruno Haible  <bruno@clisp.org>
84628
84629         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
84630
84631 2003-11-25  Bruno Haible  <bruno@clisp.org>
84632
84633         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
84634         gt_TYPE_SSIZE_T.
84635
84636 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84637
84638         * modules/alloca: Remove dependency on xalloc.
84639
84640 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84641
84642         * lib/alloca.c: Remove dependency on xalloc module.
84643         (xalloc_die): Remove.
84644         (memory_full) [!defined emacs]: New macro.
84645         [!defined emacs]: Don't include xalloc.h.
84646         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
84647         address arithmetic overflows.  Change datatypes a bit to avoid
84648         unnecessary casts.
84649
84650 2003-11-22  Jim Meyering  <jim@meyering.net>
84651
84652         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
84653         s/size/size_t/.
84654
84655 2003-11-21  Karl Berry  <karl@gnu.org>
84656
84657         * config/config.{sub,guess}: update from config.
84658
84659 2003-11-18  Karl Berry  <karl@gnu.org>
84660
84661         * config/config.{sub,guess}: update from config.
84662
84663         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
84664
84665 2003-11-17  Paul Eggert  <eggert@twinsun.com>
84666
84667         * README: Mention that S+T cannot overflow if S is the size of
84668         an existing object and T is sufficiently small.
84669
84670 2003-11-17  Jim Meyering  <jim@meyering.net>
84671
84672         On systems without utime and without a utimes function capable of
84673         dealing with a NULL struct utimbuf* argument, this utime replacement
84674         could -- in unusual circumstances -- leak a file descriptor.
84675         * lib/utime.c: Include <unistd.h> and <errno.h>.
84676         (utime_null): Be sure to close `fd' and to preserve errno.
84677         Reported by Geoff Collyer via Arnold Robbins.
84678
84679 2003-11-17  Bruno Haible  <bruno@clisp.org>
84680
84681         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
84682         (Depends-on): Add xsize.
84683
84684 2003-11-17  Bruno Haible  <bruno@clisp.org>
84685
84686         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
84687
84688 2003-11-17  Bruno Haible  <bruno@clisp.org>
84689
84690         * lib/vasnprintf.c (alloca): Remove fallback definition.
84691         (freea): Remove definition.
84692         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
84693         Reported by Paul Eggert.
84694
84695 2003-11-16  Paul Eggert  <eggert@twinsun.com>
84696             Bruno Haible  <bruno@clisp.org>
84697
84698         Protect against address arithmetic overflow.
84699         * lib/printf-args.h: Include stddef.h.
84700         (arguments): Change type of field 'count' to size_t.
84701         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
84702         'unsigned int' where appropriate.
84703         * lib/printf-parse.h: Include sys/types.h.
84704         (char_directive): Change type of *arg_index fields to ssize_t.
84705         (char_directives): Change type of fields 'count', max_*_length to
84706         size_t.
84707         * lib/printf-parse.c: Include sys/types.h and xsize.h.
84708         (SSIZE_MAX): Define fallback value.
84709         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
84710         instead of 'int' where appropriate. Check a_allocated, d_allocated
84711         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
84712         * lib/vasnprintf.c: Include xsize.h.
84713         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
84714         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
84715         overflow. Avoid wraparound when converting a width or precision from
84716         decimal to binary.
84717
84718 2003-11-16  Bruno Haible  <bruno@clisp.org>
84719
84720         Update from GNU gettext.
84721         * lib/printf-parse.c: Generalize to it can be compiled for wide
84722         strings.
84723         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
84724         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
84725         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
84726         SNPRINTF): New macros.
84727         Don't include <alloca.h> if the file is used inside libintl.
84728         (local_wcslen): New function, for Solaris 2.5.1.
84729         (VASNPRINTF): Use it instead of wcslen.
84730
84731 2003-11-16  Bruno Haible  <bruno@clisp.org>
84732
84733         * lib/xsize.h (xmax): New function.
84734         (xsum, xsum3, xsum4): Declare as "pure" functions.
84735
84736 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84737
84738         * modules/xalloc (Files): Undo latest change, since xalloc.h
84739         no longer needs SIZE_MAX or PTRDIFF_MAX.
84740
84741 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84742
84743         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
84744         gl_PTRDIFF_MAX.
84745
84746 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84747
84748         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
84749         "return", to pacify some unknown compiler.  Problem reported
84750         by Joerg Schilling.
84751
84752 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84753
84754         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
84755         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
84756         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
84757         heuristic is just as accurate as far as we know, and it removes a
84758         dependency on size_max.m4 and ptrdiff_max.m4.
84759
84760 2003-11-11  Bruno Haible  <bruno@clisp.org>
84761
84762         * modules/xsize (Files): Add m4/size_max.m4.
84763         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
84764
84765 2003-11-11  Bruno Haible  <bruno@clisp.org>
84766
84767         * m4/size_max.m4: New file.
84768         * m4/ptrdiff_max.m4: New file.
84769         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
84770         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
84771         (gl_XALLOC): Invoke it.
84772
84773 2003-11-11  Bruno Haible  <bruno@clisp.org>
84774
84775         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
84776         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
84777         defined.
84778
84779 2003-11-10  Paul Eggert  <eggert@twinsun.com>
84780
84781         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
84782         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
84783         rejected some allocations of exactly SIZE_MAX - 2 bytes.
84784         From Bruno Haible.
84785         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
84786         not (size_t) -1, since it's defined here.
84787
84788 2003-11-09  Karl Berry  <karl@gnu.org>
84789
84790         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
84791
84792 2003-11-06  Paul Eggert  <eggert@twinsun.com>
84793
84794         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
84795         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
84796         Reject sizes of exactly SIZE_MAX bytes.
84797         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
84798         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
84799
84800 2003-11-05  Bruno Haible  <bruno@clisp.org>
84801
84802         * lib/xsize.h: Include limits.h, to avoid a possible collision with
84803         SIZE_MAX defined in <limits.h> on Solaris.
84804
84805 2003-11-04  Jim Meyering  <jim@meyering.net>
84806
84807         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
84808         variable names, rather than @VAR@.
84809         * modules/poll: Likewise.
84810
84811 2003-11-04  Bruno Haible  <bruno@clisp.org>
84812
84813         * modules/xsize: New file.
84814         * modules/linebreak: Depend on xsize.
84815         * MODULES.html.sh (func_all_modules): Add xsize.
84816
84817 2003-11-04  Bruno Haible  <bruno@clisp.org>
84818
84819         * m4/xsize.m4: New file.
84820
84821 2003-11-04  Bruno Haible  <bruno@clisp.org>
84822
84823         * lib/xsize.h: New file.
84824         * lib/linebreak.c: Include xsize.h.
84825         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
84826         argument for overflow.
84827         Suggested by Paul Eggert.
84828
84829 2003-11-03  Karl Berry  <karl@gnu.org>
84830
84831         * config/config.{guess,sub}: update from config.
84832
84833 2003-11-03  Jim Meyering  <jim@meyering.net>
84834
84835         * modules/userspec (lib_SOURCES): Add userspec.h.
84836         (Include): Add "userspec.h".
84837         Improve description.
84838
84839 2003-11-03  Jim Meyering  <jim@meyering.net>
84840
84841         * lib/userspec.c: Include "userspec.h".
84842         * lib/userspec.h: New file.
84843
84844 2003-11-03  Bruno Haible  <bruno@clisp.org>
84845
84846         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
84847
84848 2003-11-03  Bruno Haible  <bruno@clisp.org>
84849
84850         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
84851         available, to avoid (extremely rare) race condition.
84852         Suggested by Paul Eggert.
84853
84854 2003-11-02  Karl Berry  <karl@gnu.org>
84855
84856         * config/srclist.txt (vasprintf.c): sync broken, sigh.
84857
84858 2003-10-31  Paul Eggert  <eggert@twinsun.com>
84859
84860         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
84861         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
84862         (read_filesystem_list): Set and use me_type_malloced.
84863         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
84864         whatever the type happens to be), for brevity and consistency.
84865         Check for size calculation overflow on Alphas running OSF/1.
84866
84867 2003-10-31  Jim Meyering  <jim@meyering.net>
84868
84869         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
84870
84871         * lib/linebuffer.c: Include <string.h> for declaration of memset.
84872
84873 2003-10-30  Paul Eggert  <eggert@twinsun.com>
84874             Bruno Haible  <bruno@clisp.org>
84875
84876         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
84877         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
84878
84879 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84880
84881         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
84882         netbsd*-gnu*.  Suggested by Robert Millan.
84883
84884 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84885
84886         * modules/group-member: Depend on stdbool.
84887
84888 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84889
84890         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
84891
84892 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84893
84894         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
84895         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
84896         after the 'gnu' in these cases.  This fixes some bugs in the
84897         previous change, and is based on suggestions by Robert Millan.
84898
84899 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84900
84901         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
84902         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
84903         no longer needed.
84904         * lib/quotearg.c (quotearg_n_options): Use it.
84905         * lib/group-member.c: Include <stdbool.h>.
84906         (free_group_info): Arg is now const *; don't free arg.
84907         (get_group_info): Now returns bool and accepts struct group_info *,
84908         rather than returning a malloc'ed struct group_info *.
84909         All uses changed.  Check for overflow in internal size calculation.
84910
84911         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
84912         rather than xmalloc/xrealloc.
84913         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
84914         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
84915         conformance bug: the old code used a pointer after freeing the
84916         storage that it addressed.
84917         * lib/hash.c (hash_initialize): Simplify the code by using
84918         xalloc_oversized rather than doing it by hand.
84919         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
84920         the buffer preserved.  Use free and xmalloc instead.
84921         * lib/quotearg.c (quotearg_n_options): Likewise.
84922         Use a simpler test for size overflow.  Don't use xalloc_oversized
84923         because unsigned int might be wider than size_t (!); this suggests
84924         that we should switch from unsigned int to size_t for slot numbers.
84925
84926 2003-10-28  Paul Eggert  <eggert@twinsun.com>
84927
84928         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
84929         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
84930         NetBSD kernels.  Requested by Richard Stallman.
84931
84932 2003-10-27  Paul Eggert  <eggert@twinsun.com>
84933
84934         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
84935         to allocate the returned structure.  Do not allocate a subarray,
84936         as x2nrealloc will do that.
84937         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
84938         instead of xnrealloc.
84939         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
84940
84941 2003-10-27  Bruno Haible  <bruno@clisp.org>
84942
84943         * lib/stdbool_.h: Better support for BeOS.
84944
84945 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84946
84947         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
84948         now uses inline.
84949
84950 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84951
84952         * lib/xalloc.h (xalloc_oversized): New static inline function, for
84953         callers that want to do their own size-overflow checking.  Include
84954         <stdbool.h>, since xalloc_oversized returns bool.
84955         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
84956         to use xalloc_oversized.
84957
84958         Add two functions x2realloc, x2nrealloc, for programs that grow
84959         arrays dynamically by doubling their sizes.
84960         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
84961         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
84962         New functions.
84963
84964         Port to C99 semantics for 'inline' of external functions.
84965         Bug reported by Bruno Haible.
84966         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
84967         with the old contents of xnmalloc.
84968         (xnmalloc, xmalloc): Use it.
84969         (xnrealloc_inline): New static inline function,
84970         with the old contents of xnrealloc.
84971         (xnrealloc, xrealloc): Use it.
84972
84973         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
84974         that.
84975
84976 2003-10-26  Karl Berry  <karl@gnu.org>
84977
84978         * config/srclist.txt (COPYING.DOC): no longer available from
84979         /gd/gnuorg; don't know where the ultimate source is.
84980
84981 2003-10-25  Paul Eggert  <eggert@twinsun.com>
84982
84983         Fix several address-calculation bugs in the hash modules,
84984         plus some minor code cleanup.
84985
84986         * lib/hash.h: Include <stdbool.h>, for bool.
84987         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
84988         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
84989         hash_get_n_entries, hash_get_max_bucket_length,
84990         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
84991         hash_rehash): Use size_t rather than unsigned.
84992         * lib/hash.c (struct hash_table, hash_get_n_buckets,
84993         hash_get_n_buckets_used, hash_get_n_entries,
84994         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
84995         hash_get_entries, hash_do_for_each, hash_string, is_prime,
84996         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
84997         Likewise.
84998         (SIZE_MAX): Define if not defined.
84999         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85000         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85001         hash_print):
85002         Use const * when possible.
85003         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85004         (check_tuning): Fix bug: if tuning parameters were very close to
85005         0 or 1, rounding errors could have caused subscript violations.
85006         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85007         (hash_initialize): Add 'fail:' label
85008         to free table and return NULL, and use it to simplify code.
85009         Use calloc rather than clearing the storage ourself.
85010         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85011         buffer size calculations.
85012         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85013         Include <stddef.h>, for size_t.
85014         * lib/hash-pjw.c (hash_pjw): Likewise.
85015         Switch to method described by Bruno Haible.
85016         Include <limits.h>, for CHAR_BIT.
85017         (SIZE_BITS): New macro.
85018
85019 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85020
85021         * m4/getline.m4 (AM_FUNC_GETLINE):
85022         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85023         hosts.  Problem reported by Derek Robert Price in
85024         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85025         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85026         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85027
85028 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85029
85030         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85031         ceiling the allocation at NMAX bytes rather than silently
85032         discarding input bytes before NMAX is reached.  This makes
85033         a difference only if NMAX exceeds SIZE_MAX / 2.
85034
85035         * lib/obstack.c: Merge from glibc.
85036         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85037         Add libc_hidden_def (_obstack_newchunk).
85038         (_obstack_free) [! defined _LIBC]: Remove.
85039         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85040         a clone of the function body.
85041         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85042         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85043
85044         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85045         glibc.
85046         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85047         arg to memcpy.
85048
85049         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85050         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85051         Don't use lvalue casts, as GCC plans to remove support for them
85052         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85053         was also present in the non-GCC version, indicating that this
85054         code had always been buggy and had never been widely used.
85055         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85056         Use the fast variant of each macro, rather than copying the
85057         definiens of the fast variant; that way, we'll be more likely to
85058         catch future bugs in the fast variants.
85059
85060 2003-10-20  Bruno Haible  <bruno@clisp.org>
85061
85062         * modules/wait-process: New file.
85063         * MODULES.html.sh (func_all_modules): Add wait-process.
85064
85065 2003-10-20  Bruno Haible  <bruno@clisp.org>
85066
85067         * m4/wait-process.m4: New file.
85068
85069 2003-10-20  Bruno Haible  <bruno@clisp.org>
85070
85071         * lib/wait-process.h: New file, from GNU gettext.
85072         * lib/wait-process.c: New file, from GNU gettext.
85073
85074 2003-10-19  Jim Meyering  <jim@meyering.net>
85075
85076         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85077         HPUX 10.20.
85078
85079 2003-10-18  Karl Berry  <karl@gnu.org>
85080
85081         * config/config.guess: update from config.
85082
85083 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85084
85085         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85086         (getgroups): First arg is int, not size_t.
85087         Don't let 'free' mangle errno.
85088
85089 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85090
85091         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85092
85093 2003-10-16  Karl Berry  <karl@gnu.org>
85094
85095         * config/config.{guess,sub}: update from config.
85096
85097 2003-10-16  Jim Meyering  <jim@meyering.net>
85098
85099         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85100         memcpy.
85101
85102 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85103
85104         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85105         (SIZE_MAX): Remove.
85106         (new_exclude, add_exclude_file): Initial size no longer needs to
85107         be a power of 2.
85108         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85109         our own address arithmetic overflow checking.
85110
85111         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85112         (fnmatch): Do not alloca more than 2000 wide characters;
85113         instead, use malloc for large buffers.
85114         Check for address arithmetic overflow, and return -1
85115         with errno set to ENOMEM in that case.
85116         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85117         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85118         instead, return -1.  Check for address arithmetic overflow.
85119
85120 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85121
85122         Handle invalid suffixes and overflow independently, so that
85123         callers can treat them independently as needed.  Fix some bugs in
85124         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85125         suffix for a human-readable blocksize.  The major caller-visible
85126         change is the addition of a new
85127         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85128         that both overflow and suffix chars were found.
85129
85130         * lib/human.c (humblock): Don't check separately for invalid suffix
85131         char; that is xstrtoumax's job (now that its bug is fixed).
85132         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85133         INTMAX_MAX]: New macros.
85134         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85135         TYPE_MAXIMUM): New macros.
85136         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85137         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85138         if overflow occurs, as it's what __strtol does and it's more useful
85139         in practice.
85140         (__xstrtol): If __strtol reports some error other than ERANGE,
85141         reflect it to the caller as LONGINT_INVALID.  If it reports
85142         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85143         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85144         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85145         value.
85146         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85147         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85148         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85149         [defined UINTMAX_MAX]: New macros.
85150
85151 2003-10-14  Bruno Haible  <bruno@clisp.org>
85152
85153         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85154
85155 2003-10-14  Bruno Haible  <bruno@clisp.org>
85156
85157         * m4/sig_atomic_t: New file, from GNU gettext.
85158         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85159
85160 2003-10-14  Bruno Haible  <bruno@clisp.org>
85161
85162         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85163         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85164         Also use volatile where needed.
85165
85166 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85167
85168         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85169         Change maintainer from Bruno Haible to 'all'.
85170
85171 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85172
85173         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85174
85175 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85176
85177         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85178         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85179         and define in terms of the other primitives.
85180         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85181         (SIZE_MAX): Define if not already defined.
85182         (array_size_overflow): New function.
85183         (xalloc_die): Abort instead of exiting if 'error' returns.
85184         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85185         (xmalloc, xrealloc): Use them.
85186         (xcalloc): Check for address arithmetic overflow.
85187         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85188         a bit faster than strcpy.
85189
85190 2003-10-10  Simon Josefsson  <jas@extundo.com>
85191
85192         * modules/argp (Depends-on): Add restrict and strcase.
85193
85194 2003-10-10  Simon Josefsson  <jas@extundo.com>
85195
85196         * m4/argp.m4: Add AC_C_INLINE.
85197
85198 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85199
85200         Merge getpass from libc, plus a few fixes.
85201
85202         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85203         Include <stdbool.h>.
85204         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85205         __fsetlocking to empty.
85206         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85207         do include <bits/libc-lock.h>.
85208         Do not include <fcntl.h>; not needed.
85209         [_LIBC]: Include <wchar.h>.
85210         (NOTCANCEL_MODE): New macro.
85211         (flockfile, funlockfile) [_LIBC]: New macros.
85212         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85213         [!_LIBC]: New macros.
85214         (call_fclose): New function.
85215         (getpass): Use it.  Save tty stream separately; this simplifies the
85216         code and makes it more reliable if stdin happens to equal stdout.
85217         Invoke __fsetlocking on tty.
85218         Handle thread cancellation if needed.
85219         Namespace cleanup (use __tcgetattr, __getline).
85220         Use bool for Booleans.
85221         [USE_IN_LIBIO]: Handle wide streams.
85222         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85223         stream might go where.
85224
85225         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85226         doesn't have to include <stdio.h> before us.
85227         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85228         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85229         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85230         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85231         if not declared, so that we can use getpass.c code from libc without
85232         rewriting it.
85233         (flockfile, ftrylockfile, funlockfile): New macros.
85234
85235 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85236
85237         * modules/getpass: Depend on stdbool.
85238
85239 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85240
85241         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85242
85243 2003-10-07  Karl Berry  <karl@gnu.org>
85244
85245         * config/config.{guess,sub}: update from config.
85246
85247 2003-10-06  Jim Meyering  <jim@meyering.net>
85248             Bruno Haible  <bruno@clisp.org>
85249
85250         This lets translators provide better translations for the
85251         "Written by ..." part of --version output.
85252         * lib/version-etc.h: Include stdarg.h.
85253         (version_etc_copyright): Declare as readonly.
85254         (version_etc): Make this function variadic with a NULL-terminated list
85255         of author name strings.
85256         (version_etc_va): New declaration.
85257         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85258         (version_etc_copyright): Declare as readonly.
85259         (version_etc_va): New function. Provide a different translatable string
85260         for each possible number of authors < 10. Abbreviate when there are 10
85261         authors or more.
85262         (version_etc): Make this function variadic. Call version_etc_va.
85263         Suggestion from Gary V. Vaughan.
85264
85265         * lib/long-options.h (parse_long_options): Change prototype: the
85266         authors string is moved to the end and becomes variadic.
85267         * lib/long-options.c: Include stdarg.h.
85268         (parse_long_options): Make this function variadic, too.
85269         Call version_etc_va, not version_etc.
85270
85271 2003-10-06  Bruno Haible  <bruno@clisp.org>
85272
85273         * modules/version-etc-2: Remove file.
85274         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85275
85276 2003-10-06  Bruno Haible  <bruno@clisp.org>
85277
85278         * modules/fatal-signal: New file.
85279         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85280
85281 2003-10-06  Bruno Haible  <bruno@clisp.org>
85282
85283         * m4/fatal-signal.m4: New file.
85284         * m4/signalblocking.m4: New file, from GNU gettext.
85285
85286 2003-10-06  Bruno Haible  <bruno@clisp.org>
85287
85288         * lib/version-etc-2.h: Remove file.
85289         * lib/version-etc-2.c: Remove file.
85290
85291 2003-10-06  Bruno Haible  <bruno@clisp.org>
85292
85293         * lib/fatal-signal.h: New file, from GNU gettext.
85294         * lib/fatal-signal.c: New file, from GNU gettext.
85295
85296 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85297
85298         * README: Rework advice for preventing empty .o files.
85299         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85300         not <sys/types.h>.
85301
85302 2003-10-04  Karl Berry  <karl@gnu.org>
85303
85304         * lib/argp*: update from libc.
85305
85306 2003-10-04  Karl Berry  <karl@gnu.org>
85307
85308         * config/config.{guess,sub}: update from config.
85309
85310 2003-10-02  Bruno Haible  <bruno@clisp.org>
85311
85312         * modules/lchown (Include): Add lchown.h.
85313         * modules/time_r (Include): Use "..." syntax.
85314         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85315
85316 2003-10-01  Simon Josefsson  <jas@extundo.com>
85317
85318         * MODULES.html.sh (func_all_modules): Move gethostname from section
85319         'based on' to section 'lacking' POSIX:2001.
85320
85321 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
85322
85323         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
85324         to output mode on the same stream.
85325
85326 2003-09-29  Paul Eggert  <eggert@twinsun.com>
85327
85328         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
85329         Fix arg typo in previous patch.
85330
85331 2003-09-28  Jim Meyering  <jim@meyering.net>
85332
85333         * lib/error.c: Correct cpp indentation.
85334
85335 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85336
85337         * modules/free: New file.
85338
85339 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85340
85341         * m4/free.m4: New file.
85342
85343 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85344
85345         * lib/minmax.h (MIN, MAX)
85346         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85347         Omit the special code that used __typeof__, since we worry that
85348         it could be more trouble than it's worth.  See:
85349         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85350         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85351
85352         * lib/free.c: New file.
85353
85354 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
85355
85356         Trivial fixes to Makefile.am parts of module listings.
85357         * modules/strstr: Append strstr.h to lib_SOURCES.
85358         * modules/strcase: Likewise, for strcase.h.
85359
85360 2003-09-27  Karl Berry  <karl@gnu.org>
85361
85362         * config/mkinstalldirs: update from automake.
85363
85364 2003-09-26  Paul Eggert  <eggert@twinsun.com>
85365
85366         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
85367         (error_tail): Do not loop, reallocating temporary buffer, since
85368         the output cannot contain more wide characters than the input
85369         contains bytes, the size must be big enough already.  This avoids
85370         one potential size overflow calculation.  Check for size overflow
85371         when calculating temporary buffer size.  Free temporary buffer
85372         when done, if it was allocated with malloc; this plugs a memory
85373         leak.  Remove casts from void * to pointers, that are no longer
85374         needed now that we're assuming C89 or better.
85375
85376         Merge error changes from glibc.
85377
85378         * lib/error.c, error.h: Update copyright notice header to match glibc.
85379         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
85380         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
85381         Disable cancellation while printing error.
85382         * lib/error.h: Prepend __ to parameter names.
85383
85384 2003-09-26  Jim Meyering  <jim@meyering.net>
85385
85386         * lib/error.c (error_tail): Move some declarations
85387         into inner scope where the local variables are used.
85388
85389 2003-09-26  Bruno Haible  <bruno@clisp.org>
85390
85391         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
85392         stpncpy().
85393         Don't define stpncpy through config.h; it's now done through stpncpy.h.
85394
85395 2003-09-26  Bruno Haible  <bruno@clisp.org>
85396
85397         * lib/stpncpy.h (gnu_stpncpy): New declaration.
85398         (stpncpy): Define as alias for gnu_stpncpy.
85399         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
85400
85401 2003-09-25  Simon Josefsson  <jas@extundo.com>
85402
85403         * lib/xgetdomainname.h: New file.
85404         * lib/xgetdomainname.c: New file.
85405
85406 2003-09-25  Simon Josefsson  <jas@extundo.com>
85407             Bruno Haible  <bruno@clisp.org>
85408
85409         * modules/getdomainname: New file.
85410         * modules/xgetdomainname: New file.
85411         * MODULES.html.sh (func_all_modules): Add getdomainname,
85412         xgetdomainname.
85413
85414 2003-09-25  Simon Josefsson  <jas@extundo.com>
85415             Bruno Haible  <bruno@clisp.org>
85416
85417         * m4/getdomainname.m4: New file.
85418
85419 2003-09-25  Simon Josefsson  <jas@extundo.com>
85420             Bruno Haible  <bruno@clisp.org>
85421
85422         * lib/getdomainname.h: New file.
85423         * lib/getdomainname.c: New file.
85424
85425 2003-09-25  Karl Berry  <karl@gnu.org>
85426
85427         * lib/argp-fmtstream.c, argp-help.c: update from libc.
85428
85429 2003-09-25  Karl Berry  <karl@gnu.org>
85430
85431         * config/install-sh: update from automake.
85432
85433 2003-09-25  Bruno Haible  <bruno@clisp.org>
85434
85435         * modules/version-etc-2: New file, from modules/version-etc with
85436         modifications.
85437         * MODULES.html.sh (func_all_modules): Add version-etc-2.
85438
85439 2003-09-25  Bruno Haible  <bruno@clisp.org>
85440
85441         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
85442         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
85443
85444 2003-09-24  Simon Josefsson  <jas@extundo.com>
85445
85446         * modules/xgethostname: Add xgethostname.h.
85447
85448 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85449
85450         * lib/linebuffer.c (freebuffer): Don't free the argument, just
85451         the buffer associated with the argument.  Bug reported by
85452         Simon Josefsson.
85453
85454 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85455
85456         * README: Document assumptions that 'int' is at least 32 bits
85457         wide, that integer arithmetic is 2's complement without overflow,
85458         that there are no holes in integer values, that adding sizes of
85459         two nonoverlapping objects can't overflow, and that all-bits-zero
85460         yields scalar zero.  Fix spelling and capitalization typos.
85461
85462 2003-09-19  Karl Berry  <karl@gnu.org>
85463
85464         * lib/argp.h: update from libc.
85465
85466 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85467
85468         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
85469         to avoid spurious warnings like "AC_RUN_IFELSE was called before
85470         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
85471
85472 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85473
85474         * gnulib-tool: Use "test -h", not "test -L", for portability
85475         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
85476         (tags_regexp): Remove, since \| doesn't conform to POSIX.
85477         (sed_extract_prog): Issue s commands one-by-one, rather than
85478         using \| in one s command.
85479
85480 2003-09-16  Paul Eggert  <eggert@twinsun.com>
85481
85482         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
85483         input error, instead of returning NULL the next time we are called
85484         (and therefore losing track of errno).
85485
85486 2003-09-16  Bruno Haible  <bruno@clisp.org>
85487
85488         * gnulib-tool (func_create_testdir): Warn about duplicated
85489         dependencies.
85490
85491 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85492
85493         * modules/argmatch, modules/fatal, modules/obstack,
85494         modules/xalloc, modules/xgethostname: Sort dependencies by
85495         importance, not alphabetically.
85496
85497 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85498
85499         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
85500         fails, so that the caller gets the proper errno.
85501
85502         * lib/readutmp.c (read_utmp): Likewise.
85503         Check for fstat error.  Close stream and free storage
85504         when failing.
85505
85506 2003-09-14  Karl Berry  <karl@gnu.org>
85507
85508         * config/srclist.txt (strdup.c): disable for c89 changes.
85509
85510 2003-09-14  Jim Meyering  <jim@meyering.net>
85511
85512         * lib/getloadavg.c: Correct cpp indentation.
85513         * lib/strdup.c: Likewise.
85514         * lib/vasnprintf.c: Likewise.
85515
85516 2003-09-14  Bruno Haible  <bruno@clisp.org>
85517
85518         * modules/fwriteerror: New file.
85519         * MODULES.html.sh (func_all_modules): Add fwriteerror.
85520
85521 2003-09-14  Bruno Haible  <bruno@clisp.org>
85522
85523         * lib/fwriteerror.h: New file.
85524         * lib/fwriteerror.c: New file.
85525
85526 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85527
85528         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
85529         modules/xgethostname, modules/xalloc: Depend on exit.
85530
85531 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85532
85533         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
85534
85535         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
85536         and AC_MINIX, too, so that their extensions are available.
85537
85538         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
85539         This macro has been superseded by gl_BACKUPFILE.
85540
85541         More patches to assume C89 or better.
85542
85543         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
85544
85545         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
85546         unconditionally.
85547         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
85548         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
85549         Include <string.h>, <stdlib.h> unconditionally.
85550         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
85551         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
85552         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
85553         headers or for string.h.
85554         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
85555         or strtoul.
85556
85557         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
85558         headers.
85559         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
85560         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85561         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
85562         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
85563         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85564         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
85565         memcpy, memset.
85566         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
85567         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
85568         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
85569         strtol.
85570         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
85571         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
85572         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
85573         strtoul.
85574
85575 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85576
85577         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
85578         * lib/obstack.c [!defined _LIBC]: Likewise.
85579         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
85580         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
85581         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
85582
85583         More changes to assume C89 or better.
85584
85585         * lib/error.c (error_tail): Assume vprintf.
85586
85587         * lib/argmatch.c (getenv): Remove decl.
85588         * lib/progreloc.c (get_full_program_name): Define via prototype.
85589         * lib/setenv.c (clearenv): Likewise.
85590         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
85591         needed.
85592         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
85593         (malloc, memcpy): Remove decls.
85594         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
85595         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
85596         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85597         (memcpy): Remove macro.
85598         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
85599         (__P): Remove.  All uses removed.
85600         (PTR): Remove.  All uses changed to void *.
85601         (CHAR_BIT, NULL): Remove.
85602         (spaces, zeros, memset_space, memset_zero)
85603         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
85604         Remove.
85605         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
85606         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
85607         Define with prototype.
85608         Remove now-unnecessary prototype decl.
85609         (extra_args_spec): Assume ANSI C.  All uses changed.
85610         (extra_args_spec_iso): Remove.
85611         (my_strftime, emacs_strftimeu): Define via prototype.
85612         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
85613         unconditionally.
85614         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
85615         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
85616         (strtoul, strtol): Remove decls.
85617         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
85618         LONG_MAX): Remove.
85619         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85620         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
85621         (LOCALE_PARAM_PROTO): New macro.
85622         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
85623         (INTERNAL (strtol), strtol): Define with a prototype.
85624         (PARAMS): Remove.  All uses removed.
85625         * lib/tempname.c: Include <string.h> unconditionally.
85626         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
85627         * lib/xgethostname.c (main): Define with a prototype.
85628         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
85629         Include <stdlib.h> unconditionally.
85630         (calloc, malloc, realloc, free): Remove decls.
85631         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
85632         Include <stdlib.h> unconditionally.  Sort include file names.
85633         (strtod): Remove.
85634         (xstrtod): Define with a prototype.
85635         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
85636         (strtol, strtoul): Remove decls.
85637
85638 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85639
85640         More patches to assume C89 or better.
85641         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
85642         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
85643         string.h, memchr, STDC_HEADERS.
85644
85645 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85646
85647         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
85648         Include <stdlib.h>, <string.h> unconditionally.
85649         Remove now-unnecessary cast to char *.
85650         * lib/strnlen.c: Include <string.h> unconditionally.
85651         * lib/yesno.c (yesno): Define with a prototype.
85652
85653 2003-09-11  Bruno Haible  <bruno@clisp.org>
85654
85655         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
85656
85657 2003-09-10  Jim Meyering  <jim@meyering.net>
85658
85659         * lib/error.c: Correct indentation of cpp directives.
85660
85661 2003-09-10  Bruno Haible  <bruno@clisp.org>
85662
85663         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
85664         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
85665         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
85666         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
85667         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
85668         <stdlib.h> and <string.h> checks.
85669         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
85670         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
85671
85672 2003-09-10  Bruno Haible  <bruno@clisp.org>
85673
85674         * lib/strcspn.c: Include <string.h> unconditionally.
85675         * lib/strpbrk.c: Include <string.h> unconditionally.
85676         * lib/strstr.c: Include <string.h> unconditionally.
85677         * lib/unicodeio.c: Include <string.h> unconditionally.
85678         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
85679         * lib/unsetenv.c: Likewise.
85680         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
85681         * lib/yesno.c: Include <stdlib.h> unconditionally.
85682         (rpmatch): Add prototype.
85683
85684 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85685
85686         More patches to assume C89 or better.
85687         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
85688         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
85689         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
85690         or for string.h.
85691         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
85692         stdlib.h.
85693         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
85694         C headers.
85695         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
85696         string.h.
85697         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
85698         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
85699         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
85700         or for string.h.
85701         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
85702         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
85703         C headers.
85704         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
85705         memcpy.
85706         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
85707         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
85708         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
85709         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
85710         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
85711         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
85712         string.h, free.
85713         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
85714         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
85715         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
85716         C headers, or for string.h.
85717         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
85718         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
85719         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
85720         headers, memory.h, stdlib.h, string.h, strings.h.
85721         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
85722         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
85723         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
85724         strchr.
85725         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
85726         headers, memory.h, string.h.
85727         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
85728         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
85729         free.
85730         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
85731         headers.
85732         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
85733         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
85734         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
85735         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
85736         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
85737
85738 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85739
85740         More K&R removal.
85741
85742         * lib/acosl.c (main): Use a prototype.
85743         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
85744         tanl.c: Likewise.
85745
85746         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
85747
85748         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
85749         (getopt, etopt_long, getopt_long_only, _getopt_internal)
85750         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
85751         with a prototype.
85752         * lib/getopt.c (const): Remove macro.
85753         Include <string.h> unconditionally.
85754         (my_index): Remove; all uses changed to strchr.
85755         (strlen): Remove decl.
85756         (exchange): Remove forward decl; no longer needed.
85757         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
85758         Define with prototype.
85759         * lib/getopt1.c (const): Remove macro.
85760         (getopt_long, getopt_long_only, main): Define with prototype.
85761
85762         * lib/getugroups.c: Include <string.h> unconditionally.
85763
85764         * lib/getusershell.c: Include <stdlib.h> unconditionally.
85765         (getusershell, setusershell, endusershell, readname, main):
85766         Define with prototypes.
85767
85768         * lib/group-member.c: Include group-member.h first.
85769         Include <stdlib.h> unconditionally.
85770
85771         * lib/hard-locale.c: Include hard-locale.h first.
85772         Include <stdlib.h>, <string.h> unconditionally.
85773
85774         * lib/hash.c (free, malloc): Remove decls.
85775         Include <stdlib.h> unconditionally.
85776
85777         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
85778         (getenv): Do not declare.
85779
85780         * lib/idcache.c: Include <string.h> unconditionally.
85781
85782         * lib/long-options.c: Include long-options.h first, to test interface.
85783         Include <stdlib.h> unconditionally.
85784
85785         * lib/makepath.c: Include makepath.h first, to test interface.
85786         Include <stdlib.h> and <string.h> unconditionally.
85787
85788         * lib/linebuffer.c: Include <stdlib.h>.
85789         (free): Remove decl.
85790
85791         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
85792         stddef.h. rpl_malloc returns void *, not char *.
85793         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
85794         prototype.
85795
85796         * lib/md5.h: Include <limits.h> unconditionally.
85797         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
85798         (__P): Remove; all uses removed.
85799         * lib/md5.c: Include "md5.h" first.
85800         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
85801         md5_buffer, md5_process_bytes, md5_process_block):
85802         Define with prototypes.
85803         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
85804         * lib/sha.c: Include "sha.h" first.
85805         Include <stdlib.h>, <string.h> unconditionally.
85806
85807         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
85808         * lib/memcmp.c (__ptr_t): Likewise.
85809         * lib/memrchr.c (__ptr_t): Likewise.
85810         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
85811         Include <string.h> unconditionally.
85812         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
85813         * lib/memchr.c: Include <stdlib.h> unconditionally.
85814         * lib/memchr.c (LONG_MAX): Remove.
85815         * lib/memrchr.c (LONG_MAX): Likewise.
85816         * lib/memchr.c (__memchr): Define via a prototype.
85817         * lib/memrchr.c (__memrchr): Likewise.
85818         * lib/memcmp.c (__P): Remove, and remove all uses.
85819         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
85820         Remove forward decls; no longer needed.
85821         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
85822         Use types required by C89 in prototype.
85823
85824         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
85825         * lib/savedir.c: Likewise.
85826         * lib/mkdir.c (free): Remove decl.
85827         * lib/rmdir.c (rmdir): Define with a prototype.
85828         * lib/savedir.c: Include savedir.h first, to test interface.
85829
85830         * lib/mktime.c (STDC_HEADERS): Remove.
85831         Include <stdlib.h>, <string.h> unconditionally.
85832
85833         * lib/modechange.c: Include <stdlib.h> unconditionally.
85834         (malloc): Remove decl.
85835
85836         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
85837         (free): Remove decl.
85838
85839         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
85840         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
85841         (This type really should be intptr_t, but that's a C99ism.)
85842         (_obstack_memcpy): Remove: all uses changed to memcpy.
85843         Include <string.h> unconditionally.
85844         (struct obstack): Assume __STDC__ for types of members
85845         chunkfun, freefun, extra_arg.
85846         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
85847         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
85848         obstack_begin, obstack_specify_allocation,
85849         obstack_specify_allocation_with_arg, obstack_chunkfun,
85850         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
85851         Remove unprototyped decls and the macros that use them.
85852         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
85853         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
85854         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
85855         (defined __STDC__ && __STDC__)]:
85856         Remove nonprototyped code.
85857         Include <stdlib.h> unconditionally.
85858         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
85859         _obstack_allocated_p, _obstack_free, obstack_free,
85860         _obstack_memory_used, print_and_abort):
85861         Define using prototypes.
85862         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
85863         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
85864         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
85865         obstack_next_free, obstack_object_size, obstack_room) [0]:
85866         Remove unused, unprototyped code.
85867
85868         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
85869
85870         * lib/physmem.c (physmem_total, physmem_available, main): Define
85871         with prototypes.
85872
85873         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
85874         (main): Define with a prototype.
85875
85876         * lib/posixver.c (getenv): Remove decl.
85877
85878         * lib/putenv.c (malloc): Returns void *, not char *.
85879         Include <string.h> unconditionally.
85880         (strchr, memcpy, NULL): Do not define.
85881
85882         * lib/readtokens.c: Include readtokens.h first, to test interface.
85883         Include <stdlib.h>, <string.h> unconditionally.
85884         (init_tokenbuffer): Define with a prototype.
85885
85886         * lib/regex.c (PARAMS): Remove.  All uses removed.
85887         All uses of _RE_ARGS removed, too.
85888         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85889         unconditionally.
85890         (bzero): Assume memset exists.
85891         (memcmp, memcpy, NULL): Remove.
85892         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
85893         char, or assignments to local vars of type signed char.
85894         (init_syntax_once, PREFIX(extract_number_and_incr),
85895         PREFIX(print_partial_compiled_pattern),
85896         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
85897         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
85898         PREFIX(regex_grow_registers), PREFIX(regex_compile),
85899         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
85900         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
85901         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
85902         wcs_compile_range, byte_compile_range, truncate_wchar,
85903         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
85904         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
85905         count_mbs_length, wcs_re_match_2_internal,
85906         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
85907         PREFIX(alt_match_null_string_p),
85908         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
85909         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
85910         regfree, PREFIX(extract_number)): Define with prototype.  Remove
85911         now-unnecessary declaration, if any.
85912         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
85913         regcomp, regexec):
85914         Remove now-unnecessary casts among pointer types.
85915         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
85916
85917         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
85918         (free): Remove decl.
85919
85920         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
85921
85922         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
85923         (free): Remove decl.
85924
85925         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
85926         * lib/xgetcwd.c: Likewise.
85927
85928         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
85929         (free): Remove decl.
85930
85931         * lib/strchrnul.c (strchrnul): Define with a prototype.
85932         Fix bug: c_in was not converted to char before searching.
85933
85934         The following changes are not K&R related:
85935
85936         * lib/group-member.h: Include <sys/types.h>, so that this file is
85937         self-contained.
85938         * lib/makepath.h: Likewise.
85939
85940         * lib/getusershell.c (readname, default_index, line_size, readname):
85941         Use size_t, not int, for sizes.
85942         (readname): If the size overflows, report an error instead of
85943         looping forever.
85944
85945 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85946
85947         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
85948         libc.
85949
85950 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85951
85952         * README: New section: portability guidelines.
85953
85954 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85955
85956         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
85957         C89 spec.
85958
85959 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85960
85961         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
85962
85963 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85964
85965         Assume C89 or better; remove K&R cruft.
85966         A few of these changes were first proposed by Derek Robert Price
85967         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
85968
85969         * lib/addext.c: Include <string.h> unconditionally.
85970         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
85971         Don't declare getenv or malloc.
85972
85973         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
85974         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
85975         (NULL): Remove.
85976         (find_stack_direction, alloca): Use prototypes.
85977
85978         * lib/atexit.c (atexit): Define using a prototype.
85979
85980         * lib/basename.c, dirname.c, stripslash.c:
85981         Include <string.h> unconditionally.
85982
85983         * lib/bcopy.c: Include <stddef.h>.
85984         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
85985
85986         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
85987
85988         * lib/error.h (error, error_at_line, error_print_progname)
85989         [! (defined (__STDC__) && __STDC__)]: Remove decls.
85990         * lib/error.c: Include error.h first, to check interface.
85991         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85992         (VA_START): Remove; all uses changeed to va_start.
85993         (exit, strerror): Remove decls.
85994         (error_print_progname): Prototype uncondionally.
85995         Don't include <errno.h>; no longer needed.
85996         (private_strerror): Remove.
85997         (error_tail): Always define.
85998         (error, error_at_line): Assume C89 or better; always use prototypes.
85999         * lib/fatal.c: Include "fatal.h" first, to test interface.
86000         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86001         (VA_START): Remove; all uses changed to va_start.
86002         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86003         this case.
86004         (exit): Remove decl.
86005         (fatal): Prototype unconditionally.  Assume va_start works.
86006         Abort at end, to pacify gcc.
86007
86008         * lib/euidaccess.c (main): Define with a prototype.
86009
86010         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86011
86012         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86013
86014         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86015         prototypes.
86016         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86017         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86018         (getenv): Remove decl.
86019         (fnmatch): Define using a prototype.
86020         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86021         (FCT): Define using a prototype.
86022
86023         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86024
86025         * lib/gethostname.c: Include <stddef.h>.
86026         (gethostname): Define with prototype.  Length is size_t, not int.
86027
86028 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86029
86030         Assume C89 or better; remove K&R cruft.
86031         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86032         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86033         string.h, getenv, malloc.
86034         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86035         headers.
86036         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86037         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86038         do not check for strerror.
86039         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86040         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86041         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86042         do not check for doprnt or vprintf.
86043         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86044         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86045
86046 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86047
86048         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86049         getversion.c should have been removed then, but was accidentally
86050         preserved.
86051
86052         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86053         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86054
86055 2003-09-08  Karl Berry  <karl@gnu.org>
86056
86057         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86058                 config, forget about prep.
86059
86060         * config/depcomp, missing: update from automake.
86061
86062 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86063
86064         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86065         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86066
86067 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86068
86069         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86070         copy_tm_result.  Bug reported by Simon Josefsson in
86071         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86072
86073 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86074
86075         * m4/time_r.m4: New file.
86076         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86077         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86078         is. Check for timegm declaration.
86079         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86080         Do not check for gmtime_r.
86081         Replace mktime if __mktime_internal does not exist and if mktime
86082         hasn't been replaced already.
86083
86084 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86085
86086         * lib/time_r.c, lib/time_r.h: New files.
86087
86088         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86089         __localtime_r.
86090         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86091         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86092
86093         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86094         __gmtime_r.
86095         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86096         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86097         Include <time_r.h>.
86098
86099         * lib/timegm.c: Switch to glibc implementation, with the following
86100         changes:
86101         [defined HAVE_CONFIG_H]: Include <config.h>.
86102         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86103         (__mktime_internal) [!defined _LIBC]: New decl.
86104         (__gmtime_r) [!defined _LIBC]: New macro and function.
86105         (timegm): Use a prototype, since gnulib assumes C89.
86106         Do not bother declaring tmp to be const, as it's not really usefu.
86107         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86108         (timegm): Declare only if HAVE_DECL_TIMEGM.
86109
86110 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86111
86112         * MODULES.html.sh (func_all_modules): Add time_r.
86113         * modules/time_r: New file.
86114         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86115         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86116
86117 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86118
86119         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86120         Bug reported by Lute Kamstra in
86121         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86122
86123         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86124         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86125         course with correspondingly smaller numbers for tomorrow and
86126         yesterday.  From Tadayoshi Funaba.  Originally installed into
86127         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86128         coreutils merge?).
86129
86130 2003-08-31  Simon Josefsson  <jas@extundo.com>
86131
86132         * modules/timegm: New file.
86133         * MODULES.html.sh (func_all_modules): Add timegm.
86134
86135 2003-08-31  Simon Josefsson  <jas@extundo.com>
86136
86137         * m4/timegm.m4: New file.
86138
86139 2003-08-31  Simon Josefsson  <jas@extundo.com>
86140
86141         * lib/timegm.h: New file.
86142         * lib/timegm.c: New file.  Based on
86143         wget-1.8.2/src/http.c:mktime_from_utc.
86144
86145 2003-08-31  Karl Berry  <karl@gnu.org>
86146
86147         * lib/argp.h: update from libc.
86148
86149 2003-08-28  Bruno Haible  <bruno@clisp.org>
86150
86151         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86152         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86153         followed by '#define fnmatch fnmatch_posix' gives an error.
86154
86155 2003-08-28  Bruno Haible  <bruno@clisp.org>
86156
86157         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86158         warning on QNX, which defines O_BINARY to 000000.
86159
86160 2003-08-27  Jim Meyering  <jim@meyering.net>
86161
86162         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86163         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86164         would fail after 32.  Reported by Danny Levinson.  Details here:
86165         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86166
86167 2003-08-24  Bruno Haible  <bruno@clisp.org>
86168
86169         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86170         MSVC7 <stdio.h> is included later.
86171
86172 2003-08-22  Simon Josefsson  <jas@extundo.com>
86173
86174         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86175
86176 2003-08-20  Karl Berry  <karl@gnu.org>
86177
86178         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86179
86180 2003-08-20  Bruno Haible  <bruno@clisp.org>
86181
86182         * modules/progname: New file.
86183         * MODULES.html.sh (func_all_modules): Add progname.
86184
86185 2003-08-20  Bruno Haible  <bruno@clisp.org>
86186
86187         * lib/progname.h: New file, from GNU gettext.
86188         * lib/progname.c: New file, from GNU gettext.
86189         * lib/progreloc.c: New file, from GNU gettext.
86190
86191 2003-08-19  Jim Meyering  <jim@meyering.net>
86192
86193         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86194         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86195
86196 2003-08-19  Bruno Haible  <bruno@clisp.org>
86197
86198         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86199         more.
86200
86201 2003-08-19  Bruno Haible  <bruno@clisp.org>
86202
86203         * lib/xstrdup.c: Assume <string.h> exists.
86204
86205 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86206
86207         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86208         in makefile rules.
86209
86210 2003-08-18  Jim Meyering  <jim@meyering.net>
86211
86212         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86213         * m4/lib-ld.m4: Likewise.
86214
86215 2003-08-18  Jim Meyering  <jim@meyering.net>
86216
86217         * lib/setenv.h: Indent nested cpp directive.
86218         * lib/vasnprintf.c: Remove trailing blanks.
86219
86220 2003-08-17  Simon Josefsson  <jas@extundo.com>
86221
86222         * modules/xstrndup: New file.
86223         * MODULES.html.sh (func_all_modules): Add xstrndup.
86224
86225 2003-08-17  Simon Josefsson  <jas@extundo.com>
86226
86227         * modules/argp: Fix autoconf macro name. Add more dependencies.
86228
86229 2003-08-17  Simon Josefsson  <jas@extundo.com>
86230
86231         * m4/xstrndup.m4: New file.
86232
86233 2003-08-17  Simon Josefsson  <jas@extundo.com>
86234
86235         * m4/argp.m4: New file.
86236
86237 2003-08-17  Simon Josefsson  <jas@extundo.com>
86238             Bruno Haible  <bruno@clisp.org>
86239
86240         * lib/xstrndup.h: New file.
86241         * lib/xstrndup.c: New file.
86242
86243 2003-08-17  Bruno Haible  <bruno@clisp.org>
86244
86245         * modules/strndup (Files, Include): Add lib/strndup.h.
86246
86247 2003-08-17  Bruno Haible  <bruno@clisp.org>
86248
86249         * modules/euidaccess (Files): Add lib/euidaccess.h.
86250
86251 2003-08-17  Bruno Haible  <bruno@clisp.org>
86252
86253         * lib/strndup.h: New file.
86254
86255 2003-08-17  Bruno Haible  <bruno@clisp.org>
86256
86257         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86258         like AC_GNU_SOURCE.
86259         * modules/extensions (configure.ac): Comment out the invocation of
86260         gl_USE_SYSTEM_EXTENSIONS.
86261
86262 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86263
86264         Merges from coreutils, etc.
86265         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86266         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86267         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86268         fixing a typo.
86269         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86270         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86271
86272 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86273
86274         Document merge from coreutils.
86275         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86276         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86277         * modules/utime: Add m4/utimes-null.m4.
86278
86279 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86280
86281         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86282         space, undoing this 2003-08-12 change:
86283         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86284
86285 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86286
86287         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86288         strtoul.c from libc, undoing this 2003-08-12 change:
86289         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86290
86291 2003-08-16  Jim Meyering  <jim@meyering.net>
86292
86293         Merges from coreutils.
86294         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86295         prefix.  Adjust cache variables similarly.  Create 500 rather than
86296         just 300 files, to exercise bug on Darwin6.5, too.
86297         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86298         $missing_dir.
86299         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86300         AM_SYS_POSIX_TERMIOS.
86301         Reported by mkc@mathdogs.com.
86302         Also change use of $am_cv_sys_posix_termios
86303         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86304         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86305         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86306         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86307         in /proc/mounts until it finds one with matching device number.  This
86308         is unnecessary when the FILE argument *is* a mount point.  No stat call
86309         is necessary in that case.  So, disable the statvfs-testing code on
86310         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86311         as RedHat bug# 84846.
86312         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86313         to 1MB, so as not to render systems with no stack size limit (e.g.,
86314         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86315         Include <unistd.h>.  On some systems,
86316         it is required for the definition of _SC_PAGESIZE.
86317
86318 2003-08-16  Jim Meyering  <jim@meyering.net>
86319
86320         Merge from coreutils.
86321         * lib/xstrtoimax.c: #else #if -> #elif.
86322         * lib/xstrtoumax.c: Likewise.
86323
86324 2003-08-16  Jim Meyering  <jim@meyering.net>
86325
86326         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
86327         * m4/utimes.m4: Removed.
86328         * m4/utimes-null.m4: Renamed from utimes.m4.
86329
86330         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86331         to 1MB, so as not to render systems with no stack size limit (e.g.,
86332         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86333         Include <unistd.h>.  On some systems,
86334         it is required for the definition of _SC_PAGESIZE.
86335
86336 2003-08-16  Jim Meyering  <jim@meyering.net>
86337         and Paul Eggert  <eggert@cs.ucla.edu>
86338
86339         Merges from coreutils, etc.
86340
86341         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86342         using the latest version from cvs.  This avoids problems with #line
86343         directives using a vendor (Sun) compiler.
86344         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86345         Don't set GETGROUPS_LIB here; now it's
86346         done via getgroups.m4's wrapper function.
86347         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86348         rather than just in sh-util/configure.in, so that the
86349         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86350         same.
86351         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86352         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86353         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
86354         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
86355         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
86356         Remove code that is now done by the newly-required macros.
86357         Append $(EXEEXT) to DF_PROG.
86358         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
86359         Do not invoke or require the following here,
86360         since prereq.m4 or some gnulib .m4 now does this for us:
86361         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
86362         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
86363         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
86364         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
86365         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
86366         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
86367         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
86368         AC_FUNC_OBSTACK.
86369         Do not replace the following functions, as this is now the job
86370         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
86371         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
86372         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
86373         atexit getpass, strdup, getpagesize.
86374         Replace 'raise'.
86375         Do not check for the following functions, as this is now the job
86376         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
86377         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
86378         setregid.
86379         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
86380         Check for sys/sysctl.h.
86381         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
86382         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
86383         of checking for ssize_t ourselves.
86384
86385         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
86386         Require every macro that gnulib/modules/* suggests for us.
86387         (jm_PREREQ_ADDEXT): New macro.
86388         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
86389         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
86390
86391         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
86392         (gl_PHYSMEM): Use it.
86393         Also check for `table' function.
86394         Check for new headers and functions.
86395         Add check for sys/sysmp.h.
86396         With suggestions from Kaveh Ghazi.
86397         Ignore headers that are present but cannot be compiled.  This
86398         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
86399         C 5.4.
86400
86401 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86402
86403         Document merge from coreutils.
86404         * modules/userspec: Depend on posixver.
86405         * modules/strftime: Depend on tzset.
86406
86407 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86408
86409         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
86410         rather than tab, after '#' in shell-script copyright notices.
86411         Suggested by Bruno Haible.
86412
86413 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86414
86415         * config/srclist-update: Use three spaces, rather than tab, after '#'
86416         in shell-script copyright notices.  Suggested by Bruno Haible.
86417         Remove unnecessary parenthesization in regular expression.
86418
86419 2003-08-15  Jim Meyering  <jim@meyering.net>
86420
86421         Merge from coreutils.
86422         * lib/xgethostname.c: Include <stdlib.h>.
86423         (xghostname): Don't exit for anything other than memory-related
86424         failure; just return NULL.
86425         * lib/userspec.c: Include "posixver.h".
86426         (parse_user_spec): Accept `.' as a separator only
86427         in pre-POSIX-200112 mode.
86428         * lib/strtoimax.c: Use #elif rather than #else #if.
86429         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
86430         Remove function, now that we can rely on a working tzset function.
86431         [!_LIBC]: Ensure that the required autoconf test has been run.
86432         [!defined _NL_CURRENT && HAVE_STRFTIME]:
86433         Use underlying_strftime for %r.
86434         * lib/sha.c: Merge in some clean-up and optimization changes from
86435         glibc.
86436         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
86437         Ensure that it is a multiple of 64.
86438         Rearrange loop exit tests so as to avoid performing an
86439         additional fread after encountering an error or EOF.
86440         * lib/realloc.c: Update copyright date.
86441
86442 2003-08-15  Jim Meyering  <jim@meyering.net>
86443         and Paul Eggert  <eggert@twinsun.com>
86444
86445         Merge from coreutils.
86446         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
86447         member but strut utmpx does not.  Needed for AIX 4.3.3.
86448         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
86449
86450 2003-08-15  Jim Meyering  <jim@meyering.net>
86451         and Paul Eggert  <eggert@cs.ucla.edu>
86452
86453         Merges from coreutils, etc.
86454         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
86455         Require gl_FUNC_TZSET_CLOBBER.
86456         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
86457         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
86458         members.
86459
86460 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86461
86462         Help the merge from coreutils.
86463         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
86464         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
86465         * m4/tzset.m4: Use it too.
86466
86467 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86468
86469         * modules/tzset: New file.
86470
86471 2003-08-14  Jim Meyering  <jim@meyering.net>
86472
86473         Merges from coreutils.
86474         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
86475         variable names, rather than @FNMATCH_H@.
86476         * modules/alloca: Likewise for $(ALLOCA_H).
86477
86478         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
86479         the three copies of the literal target, `fnmatch.h'.
86480         * modules/alloca (alloca.h): Likewise.
86481
86482 2003-08-14  Jim Meyering  <jim@meyering.net>
86483
86484         Merge from coreutils.
86485         * m4/tzset.m4: New file.
86486         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
86487         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
86488         otherwise, AIX 5.1 systems would end up using the latter.
86489         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
86490         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
86491         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
86492         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
86493
86494 2003-08-14  Jim Meyering  <jim@meyering.net>
86495
86496         Merge from coreutils.
86497         * lib/obstack.h: Whitespace changes.
86498         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
86499         and xcalloc return values.
86500         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
86501         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
86502         hang on OSF/1 5.1 for DIR on both local and remote file systems.
86503         Reported by (and fix confirmed by) Nelson H. F. Beebe.
86504         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86505         error from mntctl.
86506         Use mntctl's return value to drive the entry-processing loop, since
86507         we can't rely on the value of the vmt_length member in the last
86508         entry.  On some systems doing so could result in exhausting
86509         virtual memory.  Based in part on a patch from Mike Jetzer.
86510
86511 2003-08-14  Jim Meyering  <jim@meyering.net>
86512         and Paul Eggert  <eggert@twinsun.com>
86513
86514         Merges from coreutils, plus other fixes.
86515         * lib/physmem.c: Merge in portability changes from gcc/libiberty
86516         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
86517         for credits and details.  Thanks to Kaveh Ghazi for helping
86518         to keep these files in sync.
86519         (ARRAY_SIZE): Define it.
86520         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
86521         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
86522         (memcasecmp): Don't assume size_t fits in unsigned int.
86523         Remove casts and duplicate code.
86524         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
86525         (memcpy): Remove definition.
86526         Merge in some clean-up and optimization changes from glibc.
86527         [BLOCKSIZE]: Move definition to top of file.
86528         Ensure that it is a multiple of 64.
86529         Rearrange loop exit tests so as to avoid performing an
86530         additional fread after encountering an error or EOF.
86531         * lib/md5.h (md5_uintptr): Define.
86532         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
86533         return to the initial working directory.  Preserve errno
86534         for caller.
86535         * lib/idcache.c: Include "xalloc.h".
86536         (xmalloc, xrealloc): Remove decls.
86537         (getuser): Remove casts no longer required in C89.
86538         * lib/human.c: Include stdio.h, for sprintf.
86539         * lib/group-member.c: Include "xalloc.h".
86540         (xmalloc, xrealloc): Remove decls.
86541         (get_group_info): Remove casts no longer required in C89.
86542         * lib/getusershell.c (readname): Remove casts no longer required in
86543         C89.
86544         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
86545         * lib/getline.c: Whitespace fix, from coreutils.
86546
86547 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86548
86549         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
86550         Check for isascii.
86551
86552         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86553         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86554         Undo previous (whitespace-only) change.
86555
86556 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86557
86558         * lib/exclude.c: Include <ctype.h>
86559         (IN_CTYPE_DOMAIN): New macro.
86560         (is_space): New fn.
86561         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
86562         and empty lines.
86563
86564         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86565         Undo previous (whitespace-only) change.
86566
86567 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86568
86569         * config/srclist-update: Change update back to the old behavior,
86570         leaving whitespace alone.  Use one 'sed' command rather than a
86571         pipeline.
86572         (fixlicense): Now a variable, not a function.
86573         (remove_trailing_blanks): Remove.
86574         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
86575         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86576         Undo previous (whitespace-only) change.
86577
86578 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86579
86580         Merge from coreutils.
86581         * modules/euidaccess: Add lib_SOURCES, include for new
86582         file euidaccess.h
86583
86584 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86585
86586         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86587         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86588         Normalize leading white space and remove trailing white space.
86589
86590         Merge from coreutils
86591         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
86592
86593         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
86594         0.12.1.  These files are now being upgraded automatically by
86595         ../config/srclist-update.
86596
86597 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86598
86599         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86600         Normalize leading white space and remove trailing white space.
86601         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
86602         notice, as per ../config/srclist-update.
86603
86604         Merge from coreutils.
86605         * lib/euidaccess.h: New file.
86606         * lib/euidaccess.c: Include it.
86607         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
86608         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
86609         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
86610
86611 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86612
86613         * config/srclist-update: Add copyright notice.
86614         (remove_id_lines, remove_trailing_blanks): New constants.
86615         (fixfile): Use them to normalize spacing a bit in copied files.
86616         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86617         Normalize leading white space and remove trailing white space.
86618
86619         * config/texinfo.tex: Sync with texinfo.
86620
86621         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
86622         strtoul.c from libc, to merge coreutils whitespace changes.
86623
86624         * config/srclist.txt: Get the following m4 files from gettext:
86625         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
86626         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
86627         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
86628         wint_t.m4.
86629
86630 2003-08-12  Karl Berry  <karl@gnu.org>
86631
86632         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
86633         been made.
86634
86635 2003-08-11  Paul Eggert  <eggert@twinsun.com>
86636
86637         * modules/gnu-source, m4/gnu-source.m4:
86638         Remove; we're assuming Autoconf 2.54 or later now.
86639         Suggested by Bruno Haible.
86640         * MODULES.html.sh (func_all_modules): Remove gnu-source.
86641
86642 2003-08-11  Bruno Haible  <bruno@clisp.org>
86643
86644         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
86645
86646 2003-08-11  Bruno Haible  <bruno@clisp.org>
86647
86648         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
86649         (vasnprintf): Use it instead of wcslen.
86650
86651 2003-08-11  Bruno Haible  <bruno@clisp.org>
86652
86653         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
86654         value to ensure that _Bool promotes to int. Use #define for _Bool when
86655         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
86656
86657 2003-08-10  Karl Berry  <karl@gnu.org>
86658
86659         * lib/regex.h: update from libc (whitespace fix).
86660
86661 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86662
86663         Merge some files from coreutils.  These changes were
86664         originally made by Jim Meyering.
86665         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
86666         many older Unixes require this.
86667         * lib/alloca.c (alloca): Remove cast to argument of free;
86668         no longer needed in C89.
86669         * lib/alloca_.h, regex.h: Fix white space to match
86670         what GNU indent does.
86671
86672 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86673
86674         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
86675         apparently Emacs's Unicode mode got confused before my 2003-08-05
86676         checkin.
86677
86678 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86679
86680         * m4/extensions.m4: New file.
86681         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
86682         Require gl_USE_SYSTEM_EXTENSIONS.
86683         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
86684         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
86685
86686 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86687
86688         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
86689         * modules/extensions, modules/gnu-source: New files.
86690         * modules/timespec, modules/unlocked-io: Depend on extensions.
86691
86692 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86693
86694         * modules/restrict: New file.
86695         * MODULES.html.sh (func_all_modules): Add restrict.
86696         * modules/regex: Depend on restrict.
86697
86698 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86699
86700         * m4/restrict.m4: New file.
86701         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
86702
86703 2003-08-07  Bruno Haible  <bruno@clisp.org>
86704
86705         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
86706         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
86707
86708 2003-08-07  Bruno Haible  <bruno@clisp.org>
86709
86710         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
86711         makes the module 'getndelim2' compatible with the module 'getline'.
86712
86713 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86714
86715         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
86716         byte with "\201" to avoid glitches when editing that source file
86717         with multi-gnome-terminal.
86718
86719 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86720
86721         * lib/bumpalloc.h: Remove.
86722
86723 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86724
86725         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
86726         * modules/bumpalloc: Remove.
86727
86728 2003-08-04  Paul Eggert  <eggert@twinsun.com>
86729
86730         * lib/getloadavg.c: Change copyright notice and spacing to conform to
86731         GNU coding style.
86732
86733         Merge from coreutils.
86734         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
86735         1. From glibc.
86736         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
86737         from Karl Berry, implemented by Jim Meyering.
86738         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
86739         from Dmitry V. Levin.
86740         Remove anachronistic cast of xrealloc.
86741         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
86742         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
86743         type. Otherwise, it wouldn't compile with at least /bin/cc on
86744         ymp-cray-unicos9.0.2.X.
86745         Combine two mostly-identical uses of alloca into one.
86746         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
86747
86748 2003-08-04  Dave Love  <d.love@dl.ac.uk>
86749
86750         [From Emacs.]
86751
86752         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
86753         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
86754         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
86755         obsolete NLIST_NAME_UNION.
86756         [__GNU__]: Undef BSD and FSCALE.
86757         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
86758
86759 2003-08-03  Paul Eggert  <eggert@twinsun.com>
86760
86761         * lib/stdbool_.h (_Bool): Make it signed char, instead of
86762         an enum type, so that it's guaranteed to promote to int.  See:
86763         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
86764
86765 2003-08-03  Karl Berry  <karl@gnu.org>
86766
86767         * config/depcomp: update from automake.
86768
86769 2003-07-31  Paul Eggert  <eggert@twinsun.com>
86770
86771         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
86772         (strerror): Don't assume that a printable int fits in 14 bytes.
86773
86774 2003-07-31  Bruno Haible  <bruno@clisp.org>
86775
86776         * modules/getpass-gnu: New file.
86777         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
86778
86779 2003-07-31  Bruno Haible  <bruno@clisp.org>
86780
86781         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
86782
86783 2003-07-24  Karl Berry  <karl@gnu.org>
86784
86785         * config/missing: update from automake.
86786
86787 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
86788             Bruno Haible  <bruno@clisp.org>
86789
86790         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
86791         * lib/getline.c (getline, getdelim): Likewise.
86792         Remove _GNU_SOURCE define; now it's defined in config.h through
86793         m4/getline.m4.
86794
86795 2003-07-23  Karl Berry  <karl@gnu.org>
86796
86797         * config/config.sub: update from prep.
86798
86799 2003-07-22  Paul Eggert  <eggert@twinsun.com>
86800
86801         * modules/xalloc (Depends-on): Add exitfail.
86802         * modules/xmemcoll: Likewise.
86803
86804 2003-07-22  Paul Eggert  <eggert@twinsun.com>
86805
86806         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
86807         over-parenthesization in macros.
86808
86809         Sync with coreutils.
86810
86811         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
86812         required by C99.
86813
86814         Use `exit_failure' for xalloc and xmemcoll instead of their own
86815         private exit-failure variables.
86816         * lib/xalloc.h (xalloc_exit_failure): Remove.
86817         * lib/xmalloc.c: Likewise.  Include exitfail.h.
86818         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
86819         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
86820         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
86821         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
86822
86823 2003-07-20  Jim Meyering  <jim@meyering.net>
86824
86825         * modules/closeout (Depends-on): Add exitfail.
86826         Suggestion from Bruno Haible.
86827
86828 2003-07-19  Karl Berry  <karl@gnu.org>
86829
86830         * config/config.sub: update from prep.
86831
86832 2003-07-18  Paul Eggert  <eggert@twinsun.com>
86833
86834         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
86835         Remove.
86836         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
86837         to test that it can stand by itself.  Include "exitfail.h".
86838         Clients should set exit_failure instead.
86839         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
86840
86841 2003-07-18  Bruno Haible  <bruno@clisp.org>
86842
86843         * modules/getndelim2: New file.
86844         * modules/getline: Share files with module getndelim2.
86845         * modules/getnline: Depend on getndelim2 instead of sharing files with
86846         it. Add getnline.c to lib_SOURCES.
86847         * MODULES.html.sh (func_all_modules): Add getndelim2.
86848
86849 2003-07-18  Bruno Haible  <bruno@clisp.org>
86850
86851         * m4/getndelim2.m4: New file.
86852         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
86853         invoke gl_PREREQ_GETNDELIM2.
86854         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
86855         gl_PREREQ_GETNDELIM2.
86856         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
86857         gl_GETNDELIM2.
86858
86859 2003-07-18  Bruno Haible  <bruno@clisp.org>
86860
86861         * lib/getndelim2.h: New file.
86862         * lib/getndelim2.c: Make into a module of its own. Include config.h,
86863         getndelim2.h.
86864         (getndelim2): Make non-static. Change return type to ssize_t.
86865         * lib/getline.h: Change argument names.
86866         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
86867         * lib/getnline.c: Include getndelim2.h.
86868
86869 2003-07-18  Andreas Schwab  <schwab@suse.de>
86870
86871         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
86872
86873 2003-07-17  Karl Berry  <karl@gnu.org>
86874
86875         * config/config.sub: update from prep.
86876
86877 2003-07-17  Bruno Haible  <bruno@clisp.org>
86878
86879         * modules/getnline: New file.
86880         * modules/getline: Add lib/getndelim2.c to source file list.
86881         * MODULES.html.sh (func_all_modules): Add getnline.
86882
86883 2003-07-17  Bruno Haible  <bruno@clisp.org>
86884
86885         * m4/getnline.m4: New file.
86886
86887 2003-07-17  Bruno Haible  <bruno@clisp.org>
86888
86889         * m4/Makefile.am.in: Remove file.
86890         * m4/Makefile.am: Remove file.
86891         * m4/Makefile.in: Remove file.
86892
86893 2003-07-17  Bruno Haible  <bruno@clisp.org>
86894
86895         * lib/getnline.h: New file.
86896         * lib/getnline.c: New file.
86897         * lib/getndelim2.c: New file, extracted from getline.c.
86898         (getndelim2): Renamed from getdelim2, with added nmax argument.
86899         * lib/getline.c: Include getndelim2.c.
86900         (getdelim2): Moved out to getndelim2.c.
86901         (getline, getdelim): Update.
86902
86903 2003-07-17  Bruno Haible  <bruno@clisp.org>
86904
86905         * lib/Makefile.am: Remove file.
86906         * lib/Makefile.in: Remove file.
86907
86908 2003-07-17  Bruno Haible  <bruno@clisp.org>
86909
86910         * configure.in: Remove file.
86911         * Makefile.in: Remove file.
86912
86913 2003-07-17  Bruno Haible  <bruno@clisp.org>
86914
86915         * MODULES.html.sh: Put the </BODY> right before </HTML>.
86916
86917 2003-07-16  Karl Berry  <karl@gnu.org>
86918
86919         * config/srclist-update: was running fixlicense twice, which caused
86920                 texinfo.tex to be nullified for some reason.  Simplify,
86921                 $gplsrc is no longer needed as far as I can see?
86922
86923 2003-07-16  Jim Meyering  <jim@meyering.net>
86924
86925         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
86926
86927 2003-07-15  Paul Eggert  <eggert@twinsun.com>
86928
86929         * config/srclist.txt: Get the following files from gettext-runtime/intl
86930         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
86931         ref-del.sin.  From Bruno Haible.
86932         * config/srclist-update (fixfile): Change grep pattern again, since the
86933         previous fix didn't work (there was another trailing $).  Use
86934         '[$]' to escape the $s.
86935
86936 2003-07-15  Karl Berry  <karl@gnu.org>
86937
86938         * lib/vasnprintf.c: update from gettext.
86939
86940 2003-07-15  Karl Berry  <karl@gnu.org>
86941
86942         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
86943         gets expanded when surrounded by '$'.
86944
86945 2003-07-15  Jim Meyering  <jim@meyering.net>
86946
86947         * modules/save-cwd: Don't depend on error.  From Derek Price.
86948
86949 2003-07-15  Jim Meyering  <jim@meyering.net>
86950
86951         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
86952
86953 2003-07-14  Simon Josefsson  <jas@extundo.com>
86954
86955         * modules/mempcpy: New file.
86956         * MODULES.html.sh (func_all_modules): Add mempcpy.
86957
86958 2003-07-14  Simon Josefsson  <jas@extundo.com>
86959
86960         * m4/mempcpy.m4: New file.
86961
86962 2003-07-14  Simon Josefsson  <jas@extundo.com>
86963
86964         * lib/mempcpy.h: New file.
86965         * lib/mempcpy.c: New file.
86966
86967 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86968
86969         * modules/getdate, modules/posixtm: Depend on mktime.
86970
86971 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86972
86973         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
86974         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
86975         unicodeio.c, unicodeio.h, unlocked-io.h:
86976         Switch from LGPL to GPL.
86977
86978 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86979
86980         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
86981         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
86982         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
86983         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
86984         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
86985         updated automatically by ../config/srclist-update.  This changes
86986         their license from LPGL to GPL.
86987
86988 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86989
86990         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
86991         assumed to refer to the root of the most recent stable gettext version.
86992         * config/srclistvars.sh: Add defaults for eggert.
86993         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
86994         Match "This program" as well as "The program".  This is needed
86995         for gettext.
86996
86997 2003-07-14  Jim Meyering  <jim@meyering.net>
86998
86999         Don't emit diagnostics.  Let callers do that.
87000         * lib/save-cwd.c: Don't include "error.h".
87001         (save_cwd): Don't call error.  Ensure that errno is valid
87002         when returning nonzero.
87003
87004         * lib/save-cwd.h (restore_cwd): Update prototype.
87005         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87006         Simplify.  Don't call error upon failure.  Let callers do that.
87007         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87008         when auditing is enabled.  But don't bother updating the #if.
87009
87010 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87011
87012         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87013         it breaks C++ compilation.
87014         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87015
87016 2003-07-10  Simon Josefsson  <jas@extundo.com>
87017
87018         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87019
87020 2003-07-10  Jim Meyering  <jim@meyering.net>
87021
87022         * m4/clock_time.m4: Remove trailing blank.
87023         * m4/intmax_t.m4: Likewise.
87024
87025 2003-07-10  Jim Meyering  <jim@meyering.net>
87026
87027         * lib/vasnprintf.c: Remove trailing blanks.
87028         Make cpp indentation consistent.
87029
87030 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87031
87032         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87033         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87034         Switch from LGPL to GPL.
87035
87036 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87037
87038         * config/srclist.txt: Sort sublists.  Add
87039         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87040         that differ from gnulib for one reason or another; we'd like this list
87041         to be smaller but for now let's document what we have.
87042
87043 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87044
87045         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87046         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87047         and sweeter "eval x=$x".
87048         * config/srclist.txt: Get lib/argp* from glibc.
87049
87050 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87051
87052         * lib/mktime.c: Fix some boundary cases and remove need for floating
87053         point.
87054
87055         Issue a compile-time diagnostic if time_t is floating point, or if
87056         two's complement arithmetic is not in effect, or if arithmetic
87057         right shift does not propagate the sign.  These assumptions were
87058         all in the original code but they weren't checked.
87059
87060         (TIME_T_MIDPOINT, verify): New macros.
87061         (__isleap): Remove; it has integer overflow problems.
87062         (leapyear): New function, without those problems.
87063         (ydhms_tm_diff): Remove; splitting into two parts.
87064         (ydhms_diff): New function, containing the arithmetic part of
87065         the old ydhms_tm_diff function.  Issue a compile-time
87066         diagnostic if we are not using C99 integer division.
87067         Avoid casts when possible.
87068         (guess_time_tm): New function, containing the checking part of
87069         the old ydhms_tm_diff function.  Return the new value, rather than
87070         the difference between it and the old.  Accept a new argument T
87071         so that *T specifies the old value.  Check for overflow in the result.
87072
87073         (__mktime_internal): Use a time_t offset, not a long int offset.
87074         This undoes the 2003-06-04 change, which is no longer needed now
87075         that we have better overflow checking.
87076         (localtime_offset): Likewise.
87077
87078         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87079         and long are 64-bit but int is only 32-bit.
87080         (ydhms_diff): Use long int to store year1 and yday1.
87081         Issue a compile-time diagnostic if long int is not wide enough.
87082
87083         (__mktime_internal): Use long int to store adjusted year and yday.
87084         Use plain C rather than preprocessor commands, if that doesn't
87085         affect efficiency.
87086         Check for overflow (and try to repair) after each probe
87087         rather than checking only at the very end.  This avoids some bugs
87088         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87089         does not equal GMT offset at maximum time).
87090         Use integer to check for overflow rather than floating point; this
87091         is more portable to non-IEEE hosts, and is a tad faster.
87092         When we detect that we are oscillating between two values,
87093         don't check whether tm_isdst has the requested value, since
87094         we already know the answer.  When tm_isdst has the wrong value,
87095         use a different heuristic to find the right one, based on the
87096         extreme values actually observed in practice in tz2003a,
87097         rather than the (overly optimistic) "previous 3 calendar quarters".
87098
87099         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87100         "T const" to accommodate glibc style.
87101         (check_result): Use less-confusing report format.  "long" -> "long int.
87102         (main): Likewise.
87103         Don't loop if the iteration overflows time_t.
87104         Allow a negative step in the iteration.
87105
87106 2003-07-06  Karl Berry  <karl@gnu.org>
87107
87108         * config/depcomp: update from automake.
87109         * config/config.sub: update from prep.
87110
87111 2003-07-03  Karl Berry  <karl@gnu.org>
87112
87113         * config/config.guess: update from prep.
87114
87115 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87116
87117         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87118         xreadlink.c now includes it unconditionally.
87119
87120 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87121
87122         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87123         having it depend on HAVE_SYS_TYPES_H.
87124
87125 2003-07-01  Bruno Haible  <bruno@clisp.org>
87126
87127         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87128         <sys/types.h> should be sufficient.
87129         Reported by Paul Eggert.
87130
87131 2003-06-26  Karl Berry  <karl@gnu.org>
87132
87133         * config/depcomp: update from automake.
87134
87135 2003-06-26  Bruno Haible  <bruno@clisp.org>
87136
87137         * modules/human: Depend on module stdbool.
87138
87139 2003-06-25  Bruno Haible  <bruno@clisp.org>
87140
87141         * modules/readlink: New file.
87142         * modules/xreadlink: Depend on it.
87143         * MODULES.html.sh (func_all_modules): Add readlink.
87144
87145 2003-06-25  Bruno Haible  <bruno@clisp.org>
87146
87147         * m4/readlink.m4: New file.
87148
87149 2003-06-25  Bruno Haible  <bruno@clisp.org>
87150
87151         * lib/readlink.c: New file.
87152
87153 2003-06-22  Karl Berry  <karl@gnu.org>
87154
87155         * config/srclist.txt: update mkinstalldirs from automake.
87156         * config/mkinstalldirs: update.
87157
87158 2003-06-22  Bruno Haible  <bruno@clisp.org>
87159
87160         Portability to mingw32.
87161         * m4/ssize_t.m4: New file, from GNU gettext.
87162         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87163         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87164
87165 2003-06-22  Bruno Haible  <bruno@clisp.org>
87166
87167         * modules/safe-read: Add m4/ssize_t.m4.
87168         * modules/xreadlink: Add m4/ssize_t.m4.
87169
87170 2003-06-20  Bruno Haible  <bruno@clisp.org>
87171
87172         Assume C89, so PARAMS isn't needed.
87173         * lib/unicodeio.h (PARAMS): Remove.
87174         * lib/unicodeio.c: Don't use PARAMS.
87175
87176 2003-06-18  Karl Berry  <karl@gnu.org>
87177
87178         * config/config.{guess,sub}: update from prep.
87179
87180 2003-06-18  Jim Meyering  <jim@meyering.net>
87181
87182         Merge changes from coreutils.
87183         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87184         Remove explicit declarations of xmalloc and realloc.
87185         Include xalloc.h.
87186         (read_utmp): Remove anachronistic cast of xmalloc.
87187
87188 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87189
87190         Assume C89, so PARAMS isn't needed.
87191         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87192         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87193         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87194         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87195         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87196         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87197         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87198         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87199         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87200         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87201         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87202         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87203         no longer needed. Anyway, config.h should always be included before any
87204         other file.
87205
87206 2003-06-11  Simon Josefsson  <jas@extundo.com>
87207
87208         * modules/sysexits: New file.
87209         * MODULES.html.sh (func_all_modules): Add sysexits.
87210
87211 2003-06-11  Simon Josefsson  <jas@extundo.com>
87212
87213         * lib/sysexit_.h: New file.
87214
87215 2003-06-11  Derek Price  <derek@ximbiot.com>
87216
87217         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87218         necessary.
87219
87220 2003-06-11  Bruno Haible  <bruno@clisp.org>
87221
87222         * m4/sysexits.m4: New file.
87223
87224 2003-06-10  Simon Josefsson  <jas@extundo.com>
87225
87226         * lib/argp.h: New file, from glibc.
87227         * lib/argp-ba.c: New file, from glibc.
87228         * lib/argp-eexst.c: New file, from glibc.
87229         * lib/argp-fmtstream.c: New file, from glibc.
87230         * lib/argp-fmtstream.h: New file, from glibc.
87231         * lib/argp-fs-xinl.c: New file, from glibc.
87232         * lib/argp-help.c: New file, from glibc.
87233         * lib/argp-namefrob.h: New file, from glibc.
87234         * lib/argp-parse.c: New file, from glibc.
87235         * lib/argp-pv.c: New file, from glibc.
87236         * lib/argp-pvh.c: New file, from glibc.
87237         * lib/argp-xinl.c: New file, from glibc.
87238
87239 2003-06-10  Simon Josefsson  <jas@extundo.com>
87240
87241         * modules/strchrnul: New file.
87242
87243 2003-06-10  Simon Josefsson  <jas@extundo.com>
87244
87245         * modules/argp: New file.
87246
87247 2003-06-10  Simon Josefsson  <jas@extundo.com>
87248
87249         * m4/strchrnul.m4: New file.
87250
87251 2003-06-10  Simon Josefsson  <jas@extundo.com>
87252
87253         * lib/strchrnul.h: New file.
87254         * lib/strchrnul.c: New file.
87255
87256 2003-06-10  Bruno Haible  <bruno@clisp.org>
87257
87258         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87259
87260 2003-06-07  Karl Berry  <karl@gnu.org>
87261
87262         * config/config.{guess,sub}: update from prep.
87263
87264 2003-06-07  Jim Meyering  <jim@meyering.net>
87265
87266         * modules/strtod: Use $(...) notation, not @...@ for
87267         AC_REPLACE'd variables.
87268         * modules/localcharset: Likewise.
87269
87270 2003-06-07  Jim Meyering  <jim@meyering.net>
87271
87272         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87273         in place of my name in the copyright comment.
87274         Remove definition and uses of __P.
87275
87276         From coreutils.
87277         * lib/stat.c: Don't declare xmalloc explicitly.
87278         Instead, include "xalloc.h".
87279         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87280         xrealloc, and xcalloc return values.
87281         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87282         Improve comment.
87283         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87284
87285 2003-06-07  Bruno Haible  <bruno@clisp.org>
87286
87287         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87288         avoid AC_CONFIG_LINKS.
87289         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87290         fnmatch.h, to avoid AC_CONFIG_LINKS.
87291         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87292
87293 2003-06-07  Bruno Haible  <bruno@clisp.org>
87294
87295         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87296         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87297         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87298         directory.
87299         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87300         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87301         directory.
87302
87303 2003-06-06  Jim Meyering  <jim@meyering.net>
87304
87305         Merge from coreutils.
87306         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87307         Consolidate declarations and initializations of *_base* locals.
87308
87309         Merge from coreutils.
87310         This avoids a core dump on systems without GNU putenv,
87311         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87312         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87313         (unsetenv): New static function, from GNU libc.
87314         (rpl_putenv): Use it.
87315
87316         * lib/modechange.c: Remove trailing blanks.
87317
87318         Merge from coreutils.
87319         * lib/fsusage.c: Remove declaration of statfs.
87320         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
87321
87322         * lib/posixtm.c: Include <stdbool.h> unconditionally.
87323
87324 2003-06-06  Jim Meyering  <jim@meyering.net>
87325
87326         * lib/stdbool_.h: Renamed from stdbool.h.in.
87327
87328 2003-06-06  Jim Meyering  <jim@meyering.net>
87329             Bruno Haible  <bruno@clisp.org>
87330
87331         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
87332         Adjust Makefile.am snippet not to redirect directly to target.
87333         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
87334
87335 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87336
87337         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87338         mismatch, look in future quarters as well as past.  This fixes a
87339         bug when processing fall-backwards gaps immediately after a long
87340         period of daylight-saving time.
87341
87342         * lib/mktime.c: Assume freestanding C89 or better.
87343         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87344         (__P): Remove; not used.
87345         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87346         (mktime, not_equal_tm, print_tm, check_result,
87347         main): Use prototypes.  Use const * where appropriate.
87348         (main): Fix typo in testing code that uncovered by above changes.
87349         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87350
87351 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87352
87353         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
87354         locale.h, localeconv.  This merges changes from coreutils.
87355
87356         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
87357         It can be removed after the next Autoconf is released.
87358         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
87359         needed.
87360
87361 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87362
87363         * lib/mktime.c: Fix Debian bug 177940
87364         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
87365         (localtime_offset): Now long int, not time_t, because we want it
87366         to be guaranteed to be signed.  All uses changed.
87367         (__mktime_internal): If overflow would occur when adding offset,
87368         don't add it.
87369
87370         Merge 'human' changes from coreutils.  Rewrite to support
87371         locale-specific notations like thousands separators.
87372         * lib/human.c: Simplify authorship notice.
87373         Include human.h immediately after config.h.
87374         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
87375         <limits.h>: Do not include, since human.h does.
87376         (SIZE_MAX, UINTMAX_MAX): New macros.
87377         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
87378         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
87379         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
87380         (power_letter): Renamed from suffixes.
87381         (generate_suffix_backwards): Remove.
87382         (adjust_value): Now takes int style (because of human.h changes)
87383         and long double value (for greater precision on some platforms).
87384         (group_number): New function.
87385         (human_readable): Use it.  Use integer options, not enum.
87386         Put the options before the sizes in the arg list.
87387         Support all the new options.
87388         The old human_readable function has been removed;
87389         use inttostr.h instead.
87390         (human_readable, default_block_size, humblock):
87391         Use uintmax_t, not int, for block sizes.
87392         (human_readable_inexact, block_size_types): Remove.
87393         (block_size_opts): New constant.
87394         (human_options): Renamed from human_block_size, with new signature
87395         that allows block sizes up to UINTMAX_MAX.  All callers changed.
87396         * lib/human.h: Add copyright and authorship notice.
87397         Include <limits.h> and <stdbool.h> unconditionally.
87398         (PARAMS): Remove.  All uses removed.
87399         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
87400         (enum human_inexact_style): Remove tag; now a nameless enum.
87401         (human_floor, human_ceiling, human_round_to_even): Now have
87402         values 2, 0, 1 rather than -1, 1, 0.
87403         (human_group_digits, human_suppress_point_zero, human_autoscale,
87404         human_base_1024, human_SI, human_B): New constants.
87405         (human_readable_inexact, human_block_size): Remove.
87406         (human_readable): Size args are now uintmax_t, not int.
87407         (human_options): New decl.
87408
87409         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
87410         unnecessary now that we assume C89 or better.  This change
87411         imported from coreutils.
87412
87413         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87414         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
87415         in the 2003-05-30 sync from glibc.
87416
87417         .h files should stand alone, but we shouldn't include <sys/types.h>
87418         if we can get away with just <stddef.h>.
87419
87420         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
87421         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
87422         rather than <sys/types.h>, as we merely need size_t.
87423         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
87424         to get size_t.
87425         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
87426         Include <stdio.h>, to get FILE.
87427         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
87428         memcasecmp.h has included <stddef.h> and all we need is size_t.
87429         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
87430         our interface, instead of including <sys/types.h>
87431
87432 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87433
87434         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
87435         now, as glibc mktime is buggy on non-glibc systems.
87436
87437 2003-06-03  Karl Berry  <karl@gnu.org>
87438
87439         * config/config.sub: update from prep.
87440
87441 2003-06-02  Paul Eggert  <eggert@twinsun.com>
87442
87443         [from coreutils]
87444         Fix some minor time-related bugs with POSIX time arguments.
87445         Some valid time stamps were being rejected (notably -1, and
87446         time stamps before 1900 on 64-bit hosts).  And some invalid
87447         time stamps were being accepted, e.g. September 31.
87448
87449         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
87450         that we can return (time_t) -1 successfully.
87451         * lib/posixtm.c: Likewise.
87452         [HAVE_STDBOOL_H]: Include <stdbool.h>.
87453         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
87454         (t): Remove static var.
87455         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
87456         of static var.  All uses changed.
87457         (year): Do not reject years before 1900; they can occur with
87458         64-bit time_t.
87459         (posix_time_parse): Do not check for out-of-range components;
87460         that is now the caller's responsibility, since our checks were
87461         only approximations.
87462         (posixtime): Use mktime to check for out-of-range components,
87463         since it knows them exactly.
87464         If mktime returns (time_t) -1, check whether an error actually occurred
87465         by invoking localtime on -1.
87466         (main) [TEST_POSIXTIME]: Check for input data errors, and report
87467         posixtime failures better.
87468         Improve the test data (in comments only).
87469
87470 2003-06-02  Karl Berry  <karl@gnu.org>
87471
87472         * config/mkinstalldirs (version): new variable.
87473         (--version): new option.
87474         (usage): improve message.
87475
87476 2003-05-30  Karl Berry  <karl@gnu.org>
87477
87478         * lib/mktime.c: update from libc.
87479
87480 2003-05-30  Bruno Haible  <bruno@clisp.org>
87481
87482         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
87483         * config/config.rpath: Upgrade to gettext-0.12.1.
87484
87485 2003-05-30  Bruno Haible  <bruno@clisp.org>
87486
87487         * m4/gettext.m4: Upgrade to gettext-0.12.1.
87488         * m4/nls.m4: New file, from gettext-0.12.1.
87489         * m4/po.m4: New file, from gettext-0.12.1.
87490         * m4/progtest.m4: Upgrade to gettext-0.12.1.
87491
87492 2003-05-30  Bruno Haible  <bruno@clisp.org>
87493
87494         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
87495         * lib/localcharset.h: Likewise.
87496         * lib/localcharset.c: Likewise.
87497
87498 2003-05-29  Karl Berry  <karl@gnu.org>
87499
87500         * config/config.rpath: update from gettext.
87501
87502 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87503
87504         Assume the headers required for C89 freestanding compilers.
87505         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
87506         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
87507         * m4/human.m4 (gl_HUMAN): Likewise.
87508         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
87509         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
87510         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87511         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
87512         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87513         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
87514
87515 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87516
87517         Assume the headers required for C89 freestanding compilers.
87518         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
87519         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
87520         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
87521         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
87522         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
87523         define, since <limits.h> is guaranteed to do that.
87524         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
87525         * lib/exclude.c: Include <stdbool.h> unconditionally.
87526         * lib/tempname.c: Include <stddef.h> unconditionally.
87527         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
87528         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
87529         <stddef.h> does that.
87530         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
87531         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
87532         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
87533         needed.
87534         * lib/xstrtol.c: Likewise.
87535         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
87536         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
87537
87538         * lib/addext.c (addext): Use assignment rather than cast, to avoid
87539         warnings on some platforms.
87540
87541         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87542         arbitrarily.
87543
87544 2003-05-26  Jim Meyering  <jim@meyering.net>
87545
87546         Merge in a change from coreutils:
87547         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
87548         that is guaranteed to be `no'.  Use `no_such_member' to indicate
87549         that condition, rather than `-1' which is slightly misleading.
87550         Change the name of the cache variable to have the gl_ prefix.
87551         Prompted by a patch from Richard Dawe for DJGPP.
87552
87553 2003-05-24  Karl Berry  <karl@gnu.org>
87554
87555         * config/config.guess: update from prep.
87556
87557 2003-05-22  Karl Berry  <karl@gnu.org>
87558
87559         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
87560
87561 2003-05-20  Karl Berry  <karl@gnu.org>
87562
87563         * config/config.guess: update from prep.
87564
87565 2003-05-18  Karl Berry  <karl@gnu.org>
87566
87567         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
87568         might actually be set by the user.
87569
87570         * config/depcomp, install-sh, mdate-sh: update from automake.
87571
87572 2003-05-17  Bruno Haible  <bruno@clisp.org>
87573
87574         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
87575         invalid expansion for AC_EGREP_CPP.
87576         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
87577         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
87578         Suggested by Akim Demaille <akim@epita.fr> in
87579         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
87580
87581 2003-05-12  Jim Meyering  <jim@meyering.net>
87582
87583         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
87584         the space-padded-by-default conversion specifiers, %e, %k, %l.
87585
87586 2003-05-12  Bruno Haible  <bruno@clisp.org>
87587
87588         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
87589         the string is longer than 4 KB.
87590
87591 2003-05-11  Karl Berry  <karl@gnu.org>
87592
87593         * config/config.{guess,sub}: update from prep.
87594
87595 2003-05-09  Bruno Haible  <bruno@clisp.org>
87596
87597         * modules/error: Add m4/strerror_r.m4 to file list.
87598
87599 2003-05-03  Bruno Haible  <bruno@clisp.org>
87600
87601         Upgrade to Unicode-4.0.
87602         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
87603         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
87604         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
87605         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
87606         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
87607         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
87608         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
87609         Change width of U+E0100..U+E01EF from 1 to 0.
87610
87611 2003-04-25  Jim Meyering  <jim@meyering.net>
87612
87613         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
87614         of type size_t, not int.
87615
87616 2003-04-25  Bruno Haible  <bruno@clisp.org>
87617
87618         * lib/copy-file.c: Include <stddef.h>, for size_t.
87619
87620 2003-04-21  Paul Eggert  <eggert@twinsun.com>
87621
87622         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
87623         code which expansion is under static control.  Patch imported from
87624         Akim Demaille's patch to Bison; see
87625         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
87626
87627 2003-04-14  Bruno Haible  <bruno@clisp.org>
87628
87629         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
87630
87631 2003-04-11  Jim Meyering  <jim@meyering.net>
87632
87633         Merge changes from Coreutils.
87634
87635         2003-03-22  Jim Meyering  <jim@meyering.net>
87636
87637         * lib/strftime.c (widen): Cast alloca return value to proper type.
87638
87639         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
87640
87641         From GNU libc.
87642         * lib/strftime.c (my_strftime): Handle very large width
87643         specifications for numeric values correctly.  Improve checks for
87644         overflow.
87645
87646         2003-01-19  Jim Meyering  <jim@meyering.net>
87647
87648         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
87649         definitions.
87650         (nl_get_alt_digit) [! defined my_strftime]: Define.
87651         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
87652         _nl_get_alt_digit and _nl_get_walt_digit.
87653
87654         * lib/strftime.c (my_strftime): Merge in locale-related changes from
87655         libc. These changes have no effect outside of _LIBC.
87656
87657 2003-04-10  Bruno Haible  <bruno@clisp.org>
87658
87659         * modules/findprog: New file.
87660         * MODULES.html.sh (func_all_modules): Add it.
87661
87662 2003-04-10  Bruno Haible  <bruno@clisp.org>
87663
87664         * m4/findprog.m4: New file.
87665         * m4/eaccess.m4: New file.
87666
87667 2003-04-10  Bruno Haible  <bruno@clisp.org>
87668
87669         * lib/findprog.h: New file, from GNU gettext.
87670         * lib/findprog.c: New file, from GNU gettext.
87671
87672 2003-04-05  Jim Meyering  <jim@meyering.net>
87673
87674         Merge changes from Coreutils.
87675
87676         * lib/exclude.h (PARAMS): Remove definition and uses.
87677         * lib/exclude.c: Remove uses of `PARAMS'.
87678
87679         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
87680         Add test-cases for DOS filenames. Declare program_name.
87681         (main): Set up program_name.  Patch by Rich Dawe.
87682
87683         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87684         error from mntctl.
87685         Use mntctl's return value to drive the entry-processing loop, since
87686         we can't rely on the value of the vmt_length member in the last
87687         entry.  On some systems doing so could result in exhausting
87688         virtual memory.  Based in part on a patch from Mike Jetzer.
87689
87690 2003-04-04  Bruno Haible  <bruno@clisp.org>
87691
87692         * modules/linebreak: New file.
87693         * MODULES.html.sh (func_all_modules): Add it.
87694
87695 2003-04-04  Bruno Haible  <bruno@clisp.org>
87696
87697         * m4/linebreak.m4: New file.
87698
87699 2003-04-04  Bruno Haible  <bruno@clisp.org>
87700
87701         * lib/linebreak.h: New file, from GNU gettext.
87702         * lib/linebreak.c: New file, from GNU gettext with slight
87703         modifications.
87704         * lib/lbrkprop.h: New file, from GNU gettext.
87705
87706 2003-04-03  Bruno Haible  <bruno@clisp.org>
87707
87708         * modules/utf8-ucs4: New file.
87709         * modules/utf16-ucs4: New file.
87710         * modules/ucs4-utf8: New file.
87711         * modules/ucs4-utf16: New file.
87712         * MODULES.html.sh (func_all_modules): Add them.
87713
87714 2003-04-03  Bruno Haible  <bruno@clisp.org>
87715
87716         * m4/utf-ucs4.m4: New file.
87717         * m4/ucs4-utf.m4: New file.
87718
87719 2003-04-03  Bruno Haible  <bruno@clisp.org>
87720
87721         * lib/utf8-ucs4.h: New file, from GNU gettext.
87722         * lib/utf16-ucs4.h: New file, from GNU gettext.
87723         * lib/ucs4-utf8.h: New file, from GNU gettext.
87724         * lib/ucs4-utf16.h: New file, from GNU gettext.
87725
87726 2003-04-02  Bruno Haible  <bruno@clisp.org>
87727
87728         * modules/binary-io: New file.
87729         * MODULES.html.sh (func_all_modules): Add it.
87730
87731 2003-04-02  Bruno Haible  <bruno@clisp.org>
87732
87733         * lib/binary-io.h: New file, from GNU gettext.
87734
87735 2003-04-01  Bruno Haible  <bruno@clisp.org>
87736
87737         * modules/pathname: New file.
87738         * MODULES.html.sh (func_all_modules): Add it.
87739
87740 2003-04-01  Bruno Haible  <bruno@clisp.org>
87741
87742         * lib/pathname.h: New file, from GNU gettext.
87743         * lib/concatpath.c: New file, from GNU gettext.
87744
87745 2003-03-30  Bruno Haible  <bruno@clisp.org>
87746
87747         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
87748
87749 2003-03-30  Bruno Haible  <bruno@clisp.org>
87750
87751         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
87752         function chown() doesn't exist.
87753
87754 2003-03-28  Bruno Haible  <bruno@clisp.org>
87755
87756         * modules/copy-file: New file.
87757         * MODULES.html.sh (func_all_modules): Add it.
87758
87759 2003-03-28  Bruno Haible  <bruno@clisp.org>
87760
87761         * m4/copy-file.m4: New file.
87762
87763 2003-03-28  Bruno Haible  <bruno@clisp.org>
87764
87765         * lib/copy-file.h: New file, from GNU gettext.
87766         * lib/copy-file.c: New file, from GNU gettext.
87767
87768 2003-03-18  Jim Meyering  <jim@meyering.net>
87769
87770         * lib/quote.c (quote_n): Fix typo in comment.
87771
87772 2003-03-18  Bruno Haible  <bruno@clisp.org>
87773
87774         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
87775         checking.
87776         * m4/onceonly_2_57.m4: Likewise.
87777
87778 2003-03-17  Bruno Haible  <bruno@clisp.org>
87779
87780         * m4/onceonly.m4: Require autoconf 2.54 or newer.
87781         (m4_quote): Remove macro.
87782         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
87783
87784 2003-03-14  Jim Meyering  <jim@meyering.net>
87785
87786         Merge changes from Coreutils.
87787         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
87788         to be const, in order to avoid warnings.
87789         (obstack_room): Likewise.
87790         (obstack_empty_p): Likewise.
87791
87792 2003-03-14  Bruno Haible  <bruno@clisp.org>
87793
87794         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
87795         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
87796
87797 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87798
87799         Merge changes from Bison.
87800         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
87801         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
87802         when compiling Bison 1.875's `bitset bset = obstack_alloc
87803         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
87804         * lib/hash.c: Include <stdbool.h> unconditionally.
87805
87806 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87807
87808         * m4/onceonly.m4 (m4_quote): New macro.
87809         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
87810         Quote AC_FOREACH variable-expansions properly.
87811
87812 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87813
87814         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
87815
87816 2003-03-09  Paul Eggert  <eggert@twinsun.com>
87817
87818         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
87819         Reported by Bruce Becker; see:
87820         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
87821
87822 2003-03-03  Paul Eggert  <eggert@twinsun.com>
87823             Bruno Haible  <bruno@clisp.org>
87824
87825         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
87826         Reported by John Hughes, see
87827         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
87828
87829 2003-02-20  Bruno Haible  <bruno@clisp.org>
87830
87831         * MODULES.html.sh (func_all_modules): Add poll.
87832
87833 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87834
87835         * modules/poll: New file.
87836
87837 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87838
87839         * lib/poll_.h: New file.
87840         * lib/poll.c: New file.
87841
87842 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87843
87844         * m4/poll.m4: New file.
87845
87846 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87847
87848         * modules/mathl: New file.
87849
87850 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87851
87852         * lib/mathl.h: New file.
87853         * lib/acosl.c: New file.
87854         * lib/asinl.c: New file.
87855         * lib/atanl.c: New file.
87856         * lib/ceill.c: New file.
87857         * lib/cosl.c: New file.
87858         * lib/expl.c: New file.
87859         * lib/floorl.c: New file.
87860         * lib/frexpl.c: New file.
87861         * lib/ldexpl.c: New file.
87862         * lib/logl.c: New file.
87863         * lib/sincosl.c: New file.
87864         * lib/sinl.c: New file.
87865         * lib/sqrtl.c: New file.
87866         * lib/tanl.c: New file.
87867         * lib/trigl.c: New file.
87868         * lib/trigl.h: New file.
87869
87870 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87871
87872         * m4/mathl.m4: New file.
87873
87874 2003-02-18  Bruno Haible  <bruno@clisp.org>
87875
87876         * MODULES.html.sh (func_all_modules): Add mathl.
87877
87878 2003-02-17  Bruno Haible  <bruno@clisp.org>
87879
87880         * modules/mkdtemp: New module.
87881         * MODULES.html.sh (func_all_modules): Add it.
87882
87883 2003-02-17  Bruno Haible  <bruno@clisp.org>
87884
87885         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
87886
87887 2003-02-17  Bruno Haible  <bruno@clisp.org>
87888
87889         * lib/mkdtemp.h: New file, from GNU gettext.
87890         * lib/mkdtemp.c: New file, from GNU gettext.
87891
87892 2003-02-02  Jim Meyering  <jim@meyering.net>
87893
87894         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
87895         e.g. glibc-2.2.93.
87896
87897 2003-01-31  Bruno Haible  <bruno@clisp.org>
87898
87899         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
87900         'rpl_rename'.
87901         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
87902         'rpl_strnlen'.
87903         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
87904         'rpl_strtod'.
87905         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
87906         'rpl_utime'.
87907
87908 2003-01-31  Bruno Haible  <bruno@clisp.org>
87909
87910         * lib/rename.c: #undef rename before defining rpl_rename.
87911         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
87912
87913 2003-01-30  Bruno Haible  <bruno@clisp.org>
87914
87915         * modules/vasnprintf, modules/vasprintf: New modules.
87916         * MODULES.html.sh (func_all_modules): Add them.
87917
87918 2003-01-30  Bruno Haible  <bruno@clisp.org>
87919
87920         * m4/signed.m4: New file, from GNU gettext.
87921         * m4/longdouble.m4: New file, from GNU gettext.
87922         * m4/wchar_t.m4: New file, from GNU gettext.
87923         * m4/wint_t.m4: New file, from GNU gettext.
87924         * m4/vasnprintf.m4: New file.
87925         * m4/vasprintf.m4: New file.
87926
87927 2003-01-30  Bruno Haible  <bruno@clisp.org>
87928
87929         * lib/printf-args.h: New file, from GNU gettext.
87930         * lib/printf-args.c: New file, from GNU gettext.
87931         * lib/printf-parse.h: New file, from GNU gettext.
87932         * lib/printf-parse.c: New file, from GNU gettext.
87933         * lib/vasnprintf.h: New file, from GNU gettext.
87934         * lib/vasnprintf.c: New file, from GNU gettext.
87935         * lib/asnprintf.c: New file, from GNU gettext.
87936         * lib/vasprintf.h: New file, from GNU gettext with modifications.
87937         * lib/vasprintf.c: New file, from GNU gettext.
87938         * lib/asprintf.c: New file, from GNU gettext.
87939
87940 2003-01-29  Bruno Haible  <bruno@clisp.org>
87941
87942         * modules/stpncpy: New module.
87943         * MODULES.html.sh (func_all_modules): Add it.
87944
87945 2003-01-29  Bruno Haible  <bruno@clisp.org>
87946
87947         * m4/stpncpy.m4: New file.
87948
87949 2003-01-29  Bruno Haible  <bruno@clisp.org>
87950
87951         * lib/stpncpy.h: New file, from GNU gettext with modifications.
87952         * lib/stpncpy.c: New file, from GNU gettext with modifications.
87953
87954 2003-01-28  Bruno Haible  <bruno@clisp.org>
87955
87956         * modules/c-ctype: New module.
87957         * MODULES.html.sh (func_all_modules): Add it.
87958
87959 2003-01-28  Bruno Haible  <bruno@clisp.org>
87960
87961         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
87962         Paul Eggert.
87963         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
87964         Paul Eggert.
87965
87966 2003-01-27  Bruno Haible  <bruno@clisp.org>
87967
87968         * modules/xsetenv: New module.
87969         * MODULES.html.sh (func_all_modules): Add it.
87970
87971 2003-01-27  Bruno Haible  <bruno@clisp.org>
87972
87973         * lib/xsetenv.h: New file, from GNU gettext.
87974         * lib/xsetenv.c: New file, from GNU gettext.
87975
87976 2003-01-23  Jim Meyering  <jim@meyering.net>
87977
87978         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
87979         from working on systems without dirfd (at least Irix and OSF1/Tru64).
87980
87981 2003-01-23  Bruno Haible  <bruno@clisp.org>
87982
87983         * modules/minmax: New module.
87984         * MODULES.html.sh (func_all_modules): Add it.
87985
87986 2003-01-23  Bruno Haible  <bruno@clisp.org>
87987
87988         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
87989         Eggert.
87990
87991 2003-01-22  Bruno Haible  <bruno@clisp.org>
87992
87993         * modules/exit: New module.
87994         * MODULES.html.sh (func_all_modules): Add it.
87995
87996 2003-01-22  Bruno Haible  <bruno@clisp.org>
87997
87998         * lib/exit.h: New file, from GNU gettext.
87999
88000 2003-01-19  Bruno Haible  <bruno@clisp.org>
88001
88002         * gnulib-tool: Recognize option --extract-maintainer.
88003         (func_get_maintainer): New function.
88004         * modules/*: Add Maintainer entry.
88005
88006 2003-01-16  Jim Meyering  <jim@meyering.net>
88007
88008         * m4/regex.m4: The `regex' struct is both input and output.
88009         Initialize it before each use.  Patch by Tim Waugh.
88010
88011 2003-01-16  Bruno Haible  <bruno@clisp.org>
88012
88013         * MODULES.html.sh: Add a table of contents. Add the module name as
88014         leftmost column. Add hyperlinks.
88015
88016 2003-01-15  Bruno Haible  <bruno@clisp.org>
88017
88018         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88019
88020 2003-01-15  Bruno Haible  <bruno@clisp.org>
88021
88022         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88023         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88024         suffix.
88025
88026 2003-01-15  Bruno Haible  <bruno@clisp.org>
88027
88028         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88029
88030 2003-01-15  Bruno Haible  <bruno@clisp.org>
88031
88032         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88033         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88034
88035 2003-01-14  Jim Meyering  <jim@meyering.net>
88036
88037         * lib/same.c (same_name): Tweak a comment.
88038
88039 2003-01-14  Bruno Haible  <bruno@clisp.org>
88040
88041         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88042         when a string comparison is sufficient.
88043
88044 2003-01-14  Bruno Haible  <bruno@clisp.org>
88045
88046         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88047         'unsigned int'.
88048
88049 2003-01-14  Bruno Haible  <bruno@clisp.org>
88050
88051         * lib/hash-pjw.c: Add comment about low quality of this function.
88052
88053 2003-01-13  Bruno Haible  <bruno@clisp.org>
88054
88055         * modules/stpcpy: Distribute lib/stpcpy.h.
88056         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88057
88058 2003-01-13  Bruno Haible  <bruno@clisp.org>
88059
88060         * modules/*: Add a description.
88061         * modules/strpbrk: Fix Makefile.am snippet.
88062         * modules/strtoimax: Fix dependencies.
88063         * modules/strtoumax: Likewise.
88064
88065 2003-01-13  Bruno Haible  <bruno@clisp.org>
88066
88067         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88068         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88069         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88070
88071 2003-01-13  Bruno Haible  <bruno@clisp.org>
88072
88073         * gnulib-tool (func_create_testdir): Store config/* files in the main
88074         directory.
88075         * config.rpath: Move to ...
88076         * config/config.rpath: ... here.
88077         * modules/gettext: Contains config/config.rpath, not config.rpath.
88078         * modules/iconv: Likewise.
88079
88080 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88081
88082         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88083         to avoid collisions with libcurses and libreadline.
88084
88085         * m4/getstr.m4: Remove.
88086         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88087
88088 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88089
88090         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88091         to avoid collisions with libcurses and libreadline.
88092
88093         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88094         * lib/getstr.h, getstr.c: Remove.
88095         * lib/getline.c: Include "getline.h", to check interface.
88096         Move body of old getstr.c here: this defines MIN_CHUNK and
88097         declares getdelim2, which is renamed from getstr.
88098         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88099
88100         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88101         All uses changed.
88102         * lib/linebuffer.h: Likewise.
88103         (readline): Remove backward-compatibility macro.
88104
88105 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88106
88107         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88108         to avoid collisions with libcurses and libreadline.
88109         * getstr: Remove.
88110         * MODULES.html.sh: Remove getstr.
88111         * modules/getline: Depend on unlocked-io, not getstr.
88112
88113 2003-01-12  Jim Meyering  <jim@meyering.net>
88114
88115         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88116
88117 2003-01-10  Bruno Haible  <bruno@clisp.org>
88118
88119         * modules/alloca: Change Makefile.am requirements. Simplify Include
88120         requirements. Add lib/alloca_.h to file list.
88121
88122 2003-01-10  Bruno Haible  <bruno@clisp.org>
88123
88124         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88125
88126 2003-01-10  Bruno Haible  <bruno@clisp.org>
88127
88128         * lib/alloca_.h: New file.
88129         * lib/getdate.y: Unconditionally include alloca.h.
88130         * lib/makepath.c: Likewise.
88131         * lib/setenv.c: Likewise.
88132         * lib/userspec.c: Likewise.
88133
88134 2003-01-09  Karl Berry  <karl@gnu.org>
88135
88136         * MODULES.html.sh: include `dirname $0` in PATH, to find
88137         gnulib-tool.
88138
88139 2003-01-09  Bruno Haible  <bruno@clisp.org>
88140
88141         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88142         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88143
88144 2003-01-09  Bruno Haible  <bruno@clisp.org>
88145
88146         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88147
88148 2003-01-09  Bruno Haible  <bruno@clisp.org>
88149
88150         * lib/stdbool.h.in: New file.
88151
88152 2003-01-09  Bruno Haible  <bruno@clisp.org>
88153
88154         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88155         * MODULES.html.sh: Likewise.
88156
88157 2003-01-08  Jim Meyering  <jim@meyering.net>
88158
88159         * lib/full-write.c: Undefine and define-away `const' after inclusion
88160         of errno.h, not before.  Suggestion from Bruno Haible.
88161
88162 2003-01-08  Bruno Haible  <bruno@clisp.org>
88163
88164         * modules/full-read: Depend on full-write.
88165
88166 2003-01-08  Bruno Haible  <bruno@clisp.org>
88167
88168         * lib/safe-read.c: Include specification header first, to ensure its
88169         selfcontainedness.
88170         * lib/full-write.c: Likewise.
88171
88172 2003-01-07  Jim Meyering  <jim@meyering.net>
88173
88174         * lib/full-write.c: Rework so that it may serve to define full_read,
88175         too.
88176         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88177
88178 2003-01-07  Bruno Haible  <bruno@clisp.org>
88179
88180         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88181         <inttypes.h>.
88182         * lib/xstrtol.h: Likewise.
88183         * lib/xstrtoimax.c: Likewise.
88184         * lib/xstrtoumax.c: Likewise.
88185         * lib/human.h: Likewise.
88186
88187         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88188         on systems that have <inttypes.h> but not <stdint.h>.
88189
88190 2003-01-07  Bruno Haible  <bruno@clisp.org>
88191
88192         * MODULES.html.sh: Add copyright notice.
88193         (missed_files): Omit CVS directory entries.
88194         (func_module): Make it work with sed-3.02.
88195         * MODULES.txt: Remove file.
88196
88197 2003-01-06  Jim Meyering  <jim@meyering.net>
88198
88199         * lib/version-etc.c: Update year in translatable copyright string.
88200
88201 2003-01-03  Karl Berry  <karl@gnu.org>
88202
88203         * config/config.{guess,sub}: update from prep.
88204
88205 2003-01-02  Karl Berry  <karl@gnu.org>
88206
88207         * doc/COPYING.DOC: belatedly updated to 1.2.
88208
88209 2003-01-01  Karl Berry  <karl@gnu.org>
88210
88211         * gnulib-tool (func_verify_module): report module name $module in
88212         error message, not $1.
88213         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88214         be created, only if it doesn't exist.
88215         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88216
88217 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88218
88219         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88220
88221 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88222
88223         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88224         memcmp if strcoll doesn't work.
88225
88226 2002-12-31  Bruno Haible  <bruno@clisp.org>
88227
88228         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88229         nonempty.
88230
88231 2002-12-31  Bruno Haible  <bruno@clisp.org>
88232
88233         * lib/memcoll.c (STRCOLL): New macro.
88234         (memcoll): Use it.
88235
88236 2002-12-31  Bruno Haible  <bruno@clisp.org>
88237
88238         * lib/localcharset.h: New file.
88239         * lib/localcharset.c: Include it.
88240         * lib/unicodeio.c: Likewise.
88241
88242 2002-12-31  Bruno Haible  <bruno@clisp.org>
88243
88244         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88245         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88246
88247 2002-12-31  Bruno Haible  <bruno@clisp.org>
88248
88249         * lib/getline.h: Include <stddef.h>, for size_t.
88250
88251         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88252         * lib/unicodeio.c: Don't include <stddef.h>.
88253
88254 2002-12-31  Bruno Haible  <bruno@clisp.org>
88255
88256         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88257         HAVE_TM_ZONE.
88258
88259 2002-12-24  Karl Berry  <karl@gnu.org>
88260
88261         * config/config.guess: update from prep.
88262
88263 2002-12-24  Bruno Haible  <bruno@clisp.org>
88264
88265         General infrasructure.
88266         * m4/README: Rewritten.
88267         * m4/onceonly.m4: New file.
88268         * m4/onceonly_2_57.m4: New file.
88269
88270         Module atexit.
88271         * m4/atexit.m4: New file.
88272
88273         Module strtod.
88274         * m4/strtod.m4: New file.
88275
88276         Module strtol.
88277         * m4/strtol.m4: New file.
88278
88279         Module strtoul.
88280         * m4/strtoul.m4: New file.
88281
88282         Module memchr.
88283         * m4/memchr.m4: New file.
88284
88285         Module memcmp.
88286         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88287         (jm_FUNC_MEMCMP): Invoke it.
88288
88289         Module memcpy.
88290         * m4/memcpy.m4: New file.
88291
88292         Module memmove.
88293         * m4/memmove.m4: New file.
88294
88295         Module memset.
88296         * m4/memset.m4: New file.
88297
88298         Module strcspn.
88299         * m4/strcspn.m4: New file.
88300
88301         Module strpbrk.
88302         * m4/strpbrk.m4: New file.
88303
88304         Module strstr.
88305         * m4/strstr.m4: New file.
88306
88307         Module strerror.
88308         * m4/strerror.m4: New file.
88309
88310         Module mktime.
88311         * m4/mktime.m4: Renamed from jm-mktime.m4.
88312         (gl_PREREQ_MKTIME): New macro.
88313         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88314
88315         Module malloc.
88316         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88317         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88318         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88319
88320         Module realloc.
88321         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
88322         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
88323         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
88324
88325         Module strftime.
88326         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
88327         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
88328         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
88329         gl_TM_GMTOFF.
88330         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
88331
88332         Module xalloc.
88333         * m4/xalloc.m4: New file.
88334
88335         Module alloca.
88336         * m4/alloca.m4: New file.
88337
88338         Module putenv.
88339         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88340         (jm_FUNC_PUTENV): Invoke it.
88341
88342         Module setenv.
88343         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88344         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88345         when invoked twice.
88346         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88347         gt_FUNC_SETENV.
88348
88349         Module memrchr.
88350         * m4/memrchr.m4: New file.
88351
88352         Module stpcpy.
88353         * m4/stpcpy.m4: New file.
88354
88355         Module strcase.
88356         * m4/strcase.m4: New file.
88357
88358         Module strdup.
88359         * m4/strdup.m4: New file.
88360
88361         Module strnlen.
88362         * m4/strnlen.m4: New file.
88363
88364         Module strndup.
88365         * m4/strndup.m4: New file.
88366
88367         Module xstrtod.
88368         * m4/xstrtod.m4: New file.
88369
88370         Module xstrtol.
88371         * m4/xstrtol.m4: New file.
88372
88373         Module getdate.
88374         * m4/getdate.m4: New file.
88375
88376         Module unlocked-io.
88377         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
88378         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
88379         * m4/jm-glibc-io.m4n: Remove file.
88380
88381         Module long-options.
88382         * m4/long-options.m4: New file.
88383
88384         Module md5.
88385         * m4/md5.m4: New file.
88386
88387         Module sha.
88388         * m4/sha.m4: New file.
88389
88390         Module getstr.
88391         * m4/getstr.m4: New file.
88392
88393         Module getline.
88394         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
88395         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
88396         <sys/types.h>, for size_t. Use the function name gnu_getline, not
88397         simply getline. Infoke gl_PREREQ_GETLINE.
88398
88399         Module obstack.
88400         * m4/obstack.m4: New file.
88401
88402         Module hash.
88403         * m4/hash.m4: New file.
88404
88405         Module readtokens.
88406         * m4/readtokens.m4: New file.
88407
88408         Module strverscmp.
88409         * m4/strverscmp.m4: New file.
88410
88411         Module stdbool.
88412         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
88413         OSF/1.
88414
88415         Module strtoll.
88416         * m4/strtoll.m4: New file.
88417
88418         Module strtoull.
88419         * m4/strtoull.m4: New file.
88420
88421         Module strtoimax.
88422         * m4/strtoimax.m4: New file.
88423
88424         Module strtoumax.
88425         * m4/strtoumax.m4: New file.
88426
88427         Module xstrtoimax.
88428         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
88429         jm_AC_PREREQ_XSTRTOIMAX.
88430         Moved the strtol prerequisites to strtol.m4.
88431         Moved the strtoll prerequisites to strtoll.m4.
88432         Moved the strtoimax prerequisites to strtoimax.m4.
88433
88434         Module xstrtoumax.
88435         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
88436         jm_AC_PREREQ_XSTRTOUMAX.
88437         Moved the strtoul prerequisites to strtoul.m4.
88438         Moved the strtoull prerequisites to strtoull.m4.
88439         Moved the strtoumax prerequisites to strtoumax.m4.
88440
88441         Module chown.
88442         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
88443         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
88444
88445         Module dup2.
88446         * m4/dup2.m4: New file.
88447
88448         Module ftruncate.
88449         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
88450         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
88451
88452         Module getgroups.
88453         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
88454         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
88455
88456         Module gettimeofday.
88457         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
88458         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
88459         gl_PREREQ_GETTIMEOFDAY.
88460
88461         Module mkdir.
88462         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
88463         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
88464
88465         Module mkstemp.
88466         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
88467         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
88468         jm_AC_TYPE_UINTMAX_T.
88469         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
88470
88471         Module stat.
88472         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
88473         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
88474
88475         Module lstat.
88476         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
88477         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
88478
88479         Module timespec.
88480         * m4/timespec.m4 (gl_TIMESPEC): New macro.
88481         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
88482         * m4/st_mtim.m4: Indentation.
88483
88484         Module nanosleep.
88485         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
88486         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
88487         gl_PREREQ_NANOSLEEP.
88488
88489         Module regex.
88490         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
88491         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
88492         (gl_REGEX): New macro.
88493
88494         Module rename.
88495         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
88496         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
88497
88498         Module rmdir.
88499         * m4/rmdir.m4: New file.
88500
88501         Module utime.
88502         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
88503         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
88504         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
88505
88506         Module dirname.
88507         * m4/dirname.m4: New file.
88508
88509         Module getopt.
88510         * m4/getopt.m4: New file.
88511
88512         Module unistd-safer.
88513         * m4/unistd-safer.m4: New file.
88514
88515         Module fnmatch.
88516         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
88517         declaration.
88518         (gl_PREREQ_FNMATCH_EXTRA): New macro.
88519         (gl_FUNC_FNMATCH_POSIX): New macro.
88520         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
88521         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
88522         simply fnmatch.
88523
88524         Module exclude.
88525         * m4/exclude.m4: New file.
88526
88527         Module human.
88528         * m4/human.m4: New file.
88529
88530         Module acl.
88531         * m4/acl.m4: Nop.
88532
88533         Module backupfile.
88534         * m4/backupfile.m4: New file.
88535         * m4/d-ino.m4: Indentation.
88536
88537         Module fsusage.
88538         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
88539         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
88540         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
88541
88542         Module dirfd.
88543         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
88544         requirements.
88545
88546         Module euidaccess.
88547         * m4/euidaccess.m4: New file.
88548
88549         Module file-type.
88550         * m4/file-type.m4: New file.
88551
88552         Module fileblocks.
88553         * m4/fileblocks.m4: New file.
88554
88555         Module filemode.
88556         * m4/filemode.m4: New file.
88557
88558         Module isdir.
88559         * m4/isdir.m4: New file.
88560
88561         Module lchown.
88562         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
88563         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
88564
88565         Module makepath.
88566         * m4/makepath.m4: New file.
88567
88568         Module modechange.
88569         * m4/modechange.m4: New file.
88570
88571         Module mountlist.
88572         * m4/mountlist.m4: New file.
88573         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
88574         Indentation.
88575
88576         Module path-concat.
88577         * m4/path-concat.m4: New file.
88578
88579         Module pathmax.
88580         * m4/pathmax.m4: New file.
88581
88582         Module same.
88583         * m4/same.m4: New file.
88584
88585         Module save-cwd.
88586         * m4/save-cwd.m4: New file.
88587
88588         Module savedir.
88589         * m4/savedir.m4: New file.
88590
88591         Module xgetcwd.
88592         * m4/xgetcwd.m4: New file.
88593         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
88594
88595         Module xreadlink.
88596         * m4/xreadlink.m4: New file.
88597
88598         Module safe-read.
88599         * m4/safe-read.m4: New file.
88600
88601         Module safe-write.
88602         * m4/safe-write.m4: New file.
88603
88604         Module closeout.
88605         * m4/closeout.m4: New file.
88606
88607         Module stdio-safer.
88608         * m4/stdio-safer.m4: New file.
88609
88610         Module getpass.
88611         * m4/getpass.m4: New file.
88612
88613         Module getugroups.
88614         * m4/getugroups.m4: New file.
88615
88616         Module group-member.
88617         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
88618         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
88619
88620         Module idcache.
88621         * m4/idcache.m4: New file.
88622
88623         Module userspec.
88624         * m4/userspec.m4: New file.
88625
88626         Module gettime.
88627         * m4/clock_time.m4: New file.
88628         * m4/gettime.m4: New file.
88629
88630         Module settime.
88631         * m4/settime.m4: New file.
88632
88633         Module posixtm.
88634         * m4/posixtm.m4: New file.
88635
88636         Module gethostname.
88637         * m4/gethostname.m4: New file.
88638
88639         Module canon-host.
88640         * m4/canon-host.m4: New file.
88641
88642         Module gettext.
88643         * m4/codeset.m4: New file, from gettext-0.11.5.
88644         * m4/gettext.m4: New file, from gettext-0.11.5.
88645         * m4/glibc21.m4: New file, from gettext-0.11.5.
88646         * m4/iconv.m4: New file, from gettext-0.11.5.
88647         * m4/intdiv0.m4: New file, from gettext-0.11.5.
88648         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
88649         * m4/inttypes.m4: New file, from gettext-0.11.5.
88650         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
88651         * m4/isc-posix.m4: New file, from gettext-0.11.5.
88652         * m4/lcmessage.m4: New file, from gettext-0.11.5.
88653         * m4/lib-ld.m4: New file, from gettext-0.11.5.
88654         * m4/lib-link.m4: New file, from gettext-0.11.5.
88655         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
88656         * m4/progtest.m4: New file, from gettext-0.11.5.
88657         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
88658         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
88659         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
88660
88661         Module localcharset.
88662         * m4/localcharset.m4: New file.
88663
88664         Module hard-locale.
88665         * m4/hard-locale.m4: New file.
88666
88667         Module mbswidth.
88668         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
88669         onceonly macros.
88670         * m4/mbrtowc.m4: Add comment.
88671
88672         Module memcasecmp.
88673         * m4/memcasecmp.m4: New file.
88674
88675         Module memcoll.
88676         * m4/memcoll.m4: New file.
88677
88678         Module unicodeio.
88679         * m4/unicodeio.m4: New file.
88680
88681         Module rpmatch.
88682         * m4/rpmatch.m4: New file.
88683
88684         Module yesno.
88685         * m4/yesno.m4: New file.
88686
88687         Module exitfail.
88688         * m4/exitfail.m4: New file.
88689
88690         Module c-stack.
88691         * m4/c-stack.m4 (gl_C_STACK): New macro.
88692         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
88693
88694         Module error.
88695         * m4/error.m4 (gl_ERROR): New macro.
88696         (jm_PREREQ_ERROR): Use onceonly macros.
88697
88698         Module fatal.
88699         * m4/fatal.m4: New file.
88700
88701         Module getloadavg.
88702         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
88703         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
88704
88705         Module getpagesize.
88706         * m4/getpagesize.m4: New file.
88707
88708         Module getusershell.
88709         * m4/getusershell.m4: New file.
88710
88711         Module physmem.
88712         * m4/physmem.m4: New file.
88713
88714         Module posixver.
88715         * m4/posixver.m4: New file.
88716
88717         Module quotearg.
88718         * m4/quotearg.m4: New file.
88719
88720         Module quote.
88721         * m4/quote.m4: New file.
88722
88723         Module readutmp.
88724         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
88725
88726         Module sig2str.
88727         * m4/sig2str.m4: New file.
88728
88729         Other.
88730         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
88731         ulonglong.m4.
88732         * m4/intmax_t.m4: New file.
88733         * m4/d-type.m4: Indentation.
88734         * m4/jm-macros.m4: Update.
88735         * m4/prereq.m4 (jm_PREREQ): Update.
88736         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
88737         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
88738         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
88739         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
88740         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
88741         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
88742         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
88743         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
88744         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
88745         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
88746         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
88747         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
88748         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
88749         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
88750         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
88751         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
88752         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
88753         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
88754         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
88755
88756 2002-12-24  Bruno Haible  <bruno@clisp.org>
88757
88758         * MODULES.txt: Update according to m4/ changes.
88759
88760         Module gettext.
88761         * config.rpath: New file, from gettext-0.11.5.
88762
88763         * modules/*: New module descriptions.
88764         * gnulib-tool: New file.
88765         * MODULES.html.sh: New file.
88766
88767 2002-12-21  Karl Berry  <karl@gnu.org>
88768
88769         * doc/fdl.texi: update to version 1.2.
88770
88771 2002-12-19  Karl Berry  <karl@gnu.org>
88772
88773         * config/config.guess: update from prep.
88774
88775 2002-12-18  Bruno Haible  <bruno@clisp.org>
88776
88777         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
88778         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
88779
88780 2002-12-17  Bruno Haible  <bruno@clisp.org>
88781
88782         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
88783         stdlib.h, string.h.
88784
88785 2002-12-17  Bruno Haible  <bruno@clisp.org>
88786
88787         * lib/canon-host.c (strdup): Remove unused declaration.
88788
88789         * lib/fsusage.c: Include full_read.h.
88790         (get_fs_usage): Use full_read instead of safe_read.
88791
88792         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
88793
88794 2002-12-12  Karl Berry  <karl@gnu.org>
88795
88796         * config/config.guess: update from prep.
88797
88798 2002-12-11  Bruno Haible  <bruno@clisp.org>
88799
88800         * m4/setenv.m4: New file, from gettext-0.11.5.
88801
88802 2002-12-11  Bruno Haible  <bruno@clisp.org>
88803
88804         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
88805         not unsetenv().
88806         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
88807         modifications:
88808
88809         2002-12-11  Bruno Haible  <bruno@clisp.org>
88810
88811                 * setenv.c (alloca): Fall back to malloc.
88812                 (freea): New macro.
88813                 (setenv): Use freea() to free memory allocated with alloca().
88814
88815         2002-11-13  Bruno Haible  <bruno@clisp.org>
88816
88817                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
88818                 function declarations.
88819                 * unsetenv.c (unsetenv): Likewise.
88820
88821         2002-03-04  Bruno Haible  <bruno@clisp.org>
88822
88823                 Portability to AIX 4.3.3.
88824                 * unsetenv.c: New file, extracted from setenv.c.
88825                 * setenv.c: Move the unsetenv() function to unsetenv.c.
88826
88827         2001-12-20  Bruno Haible  <bruno@clisp.org>
88828
88829                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
88830                 use malloc instead. For SunOS 4.
88831
88832         2001-12-11  Bruno Haible  <bruno@clisp.org>
88833
88834                 * setenv.c: Declare alloca.
88835                 (compar_fn_t): New typedef.
88836                 (KNOWN_VALUE, STORE_VALUE): Use it.
88837
88838         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
88839         setenv.h.
88840
88841 2002-12-10  Paul Eggert  <eggert@twinsun.com>
88842
88843         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
88844         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
88845         Choose values that are less likely to collide with system fnmatch
88846         options.
88847         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
88848         defined (e.g., a pure POSIX system).
88849         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
88850         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
88851
88852 2002-12-06  Paul Eggert  <eggert@twinsun.com>
88853
88854         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
88855         a pain in practice to deal with generated m4 files.  This change
88856         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
88857
88858         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
88859         and jm-glibc-io.m4, as they are no longer a special case.
88860         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
88861         kludge and the auto-generation stuff.  Check only whether the
88862         functions are declared, not whether they exist, since older hosts
88863         that don't declare the functions can't use the optimization anyway.
88864
88865 2002-12-06  Jim Meyering  <jim@meyering.net>
88866
88867         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
88868
88869         Merge in changes from libc's misc/error.c, in preparation
88870         for the merge of gnulib's changes back into libc.
88871
88872         * lib/error.c (_): Define only if not already defined.
88873         Move definition to follow all #include directives.
88874         Include unlocked-io.h only if !_LIBC.
88875         [_LIBC]: Include <libio/libioP.h>.
88876         [USE_IN_LIBIO]: Include <libio/iolibio.h>
88877         (fflush): Tweak definition to use INTUSE.
88878         (putc): Define.
88879
88880 2002-12-05  Paul Eggert  <eggert@twinsun.com>
88881
88882         * lib/alloca.c [defined emacs]: Include "lisp.h".
88883         (xalloc_die) [defined emacs]: New macro.
88884         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
88885         [! defined emacs]: Include <xalloc.h>.
88886         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
88887         (pointer): Typedef to POINTER_TYPE *.
88888         (malloc): Remove decl; we now always use xmalloc.
88889         (alloca): Use old-style definition, since Emacs needs this.
88890         Check for arithmetic overflow when computing combined size.
88891
88892 2002-12-04  Paul Eggert  <eggert@twinsun.com>
88893
88894         Do not generate unlocked-io.h automatically, since it's easier to
88895         maintain it by hand.
88896
88897         * lib/unlocked-io.h: New file, from GNU diffutils,
88898         but with proper copyright notice and attribution.
88899         * lib/gen-uio: Remove.
88900         * lib/Makefile.am: Add copyright notice.
88901         (libfetish_a_SOURCES): Add unlocked-io.h.
88902         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
88903         (DISTCLEANFILES, io_functions): Remove macros.
88904         (EXTRA_DIST): Remove gen_uio.
88905         (unlocked-io.h): Remove rule.
88906
88907 2002-12-04  Jim Meyering  <jim@meyering.net>
88908
88909         Reflect the fact that stat.c and lstat.c are no longer generated.
88910         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
88911         (DISTCLEANFILES): Likewise.
88912         (EXTRA_DIST): Likewise.
88913         (all_local): Don't depend on stat.c or lstat.c.
88914         (stat.c, lstat.c): Remove rules.
88915         (EXTRA_DIST): Remove xstat.in.
88916
88917         * lib/xstat.in: Remove file.  Contents moved into stat.c.
88918         * lib/stat.c: New file.  Contents mostly from xstat.in.
88919         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
88920         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
88921
88922         * lib/safe-read.c: Rework so that it may serve to define safe_write,
88923         too.
88924         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
88925
88926 2002-12-03  Jim Meyering  <jim@meyering.net>
88927
88928         * lib/safe-read.c, safe-write.c: Change variable names and comments,
88929         but not semantics, to minimize the differences between these two files.
88930         (safe_read): Change comment to mention SAFE_READ_ERROR.
88931
88932         * lib/safe-read.c (IS_EINTR): Define.
88933         (safe_read): Use IS_EINTR in place of in-function cpp directives.
88934
88935 2002-12-02  Jim Meyering  <jim@meyering.net>
88936
88937         * lib/safe-read.c (EINTR): Define.
88938         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
88939         (INT_MAX): Provide fallback.
88940         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
88941
88942         * lib/safe-read.h (SAFE_READ_ERROR): Define.
88943
88944 2002-12-02  Bruno Haible  <bruno@clisp.org>
88945
88946         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
88947         Define, taken from safe-read.c.
88948         (INT_MAX): Provide fallback.
88949         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
88950         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
88951
88952         * lib/safe-read.c (EINTR): Remove definition.
88953         (safe_read): Don't use EINTR if it is absent.
88954
88955 2002-12-01  Jim Meyering  <jim@meyering.net>
88956
88957         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
88958         zero.
88959         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
88960
88961 2002-11-27  Paul Eggert  <eggert@twinsun.com>
88962
88963         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
88964         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
88965         with `if (! (value < limit)) abort ();', for readability.
88966
88967 2002-11-26  Karl Berry  <karl@gnu.org>
88968
88969         * lib/strdup.c: copy from libc again, with jim's ok.
88970         * lib/.cppi-disable: re-add strdup.c
88971
88972 2002-11-25  Karl Berry  <karl@gnu.org>
88973
88974         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
88975         instead of "strtol.c".
88976
88977 2002-11-25  Karl Berry  <karl@gnu.org>
88978
88979         * config/install-sh: update from automake for variable quoting, $0 in
88980         error msgs, etc.
88981
88982         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
88983         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
88984         entry.
88985
88986 2002-11-25  Jim Meyering  <jim@meyering.net>
88987
88988         * lib/mktime.c: Sync from libc, now that it has the latest fix.
88989
88990 2002-11-24  Karl Berry  <karl@gnu.org>
88991
88992         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
88993         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
88994
88995 2002-11-24  Jim Meyering  <jim@meyering.net>
88996
88997         Update from coreutils:
88998
88999         * lib/mktime.c: Merge in changes from libc.
89000
89001         Avoid a link-time failure on some Linux systems.
89002         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89003         (otherwise).
89004         (__mon_yday): Declare with the STATIC attribute.
89005         (__mktime_internal): Likewise.
89006         Based on a report from Greg Schafer.
89007
89008 2002-11-23  Jim Meyering  <jim@meyering.net>
89009
89010         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89011         Use `unsigned', not `int', as type of index.
89012
89013         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89014
89015         * lib/fsusage.c: Remove unneeded parentheses around operands of
89016         `defined'.
89017
89018 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89019
89020         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89021         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89022         so that we can be included first.
89023         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89024         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89025         No need to include stddef.h or sys/types.h any more.
89026         Surround local include files with "", not "<>".
89027         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89028         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89029         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89030         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89031         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89032         (ISPRINT): Remove; no longer needed now that we assume C89.
89033
89034         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89035         Preserve errno.
89036
89037         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89038         quotearg_char): Use SIZE_MAX rather than
89039         (size_t) -1 when we are talking about "infinity".
89040
89041         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89042
89043 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89044
89045         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89046         hint that one should use `if (! x) abort ();' rather than `assert
89047         (x);', and anyway it's one less thing to worry about configuring.
89048         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89049         hash_rehash, hash_insert): Use abort rather than assert.
89050
89051 2002-11-22  Bruno Haible  <bruno@clisp.org>
89052
89053         * lib/safe-read.h: Assume C89. Add comments.
89054         (safe_read): Change return type to size_t.
89055         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89056         byte counts > SSIZE_MAX correctly.
89057         * lib/safe-write.h: New file.
89058         * lib/safe-write.c: New file.
89059         * lib/full-read.h: New file.
89060         * lib/full-read.c: New file.
89061         * lib/full-write.h: Assume C89. Add comments.
89062         * lib/full-write.c: Include safe-write.h.
89063         (full_write): Rewritten to use safe_write.
89064         Suggested by Jim Meyering and Paul Eggert.
89065
89066 2002-11-21  Jim Meyering  <jim@meyering.net>
89067
89068         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89069
89070         Merge in changes from the coreutils.
89071
89072         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89073         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89074         <stdint.h>.
89075         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89076         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89077         int.  Work more efficiently if X is the same width as uintmax_t.
89078         Do not compare X to -1, to avoid bogus compiler warning.
89079         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89080         Don't assume that f_frsize and f_bsize are the same type.
89081
89082         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89083         warning on FreeBSD.
89084
89085         * lib/makepath.c (make_path): Restore umask *before* creating the final
89086         component.
89087         (make_path): Minor reformatting.
89088
89089         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89090         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89091         HAVE_MALLOC/HAVE_REALLOC.
89092
89093         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89094         dummy ones.  At least on GNU/Linux systems, `auto' means something
89095         else.
89096         From Michael Stone.
89097
89098 2002-11-21  Bruno Haible  <bruno@clisp.org>
89099
89100         Remove case insensitive option matching.
89101         * lib/argmatch.h (argcasematch): Remove declaration.
89102         (ARGCASEMATCH): Remove macro.
89103         (__xargmatch_internal): Remove case_sensitive argument.
89104         (XARGMATCH): Update.
89105         (XARGCASEMATCH): Remove macro.
89106         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89107         case_sensitive argument.
89108         (argcasematch): Remove function.
89109         (__xargmatch_internal): Remove case_sensitive argument.
89110         (main): Use XARGMATCH instead of XARGCASEMATCH.
89111
89112         * lib/xmalloc.c: Change compile-time error message. Add comment about
89113         required autoconf version.
89114
89115 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89116
89117         Merge argmatch cleanups from Bison.  Assume C89.
89118
89119         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89120         Include stdlib.h, for EXIT_FAILURE.
89121         Always include <string.h>, since we assume C89.
89122         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89123         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89124         Include <stddef.h> instead, since it's all we need for size_t.
89125         (PARAMS): Remove.  All uses removed.
89126         (ARRAY_CARDINALITY): Do not bother to #undef.
89127         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89128         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89129         Remove unnecessary parentheses.
89130         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89131         Insert necessary parentheses.
89132         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89133         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89134
89135 2002-11-19  Bruno Haible  <bruno@clisp.org>
89136
89137         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89138         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89139
89140         * lib/mbswidth.h (PARAMS): Remove macro.
89141         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89142         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89143
89144         * lib/gcd.h (PARAMS): Remove macro.
89145         (gcd): Use ANSI C function declarations.
89146         * lib/gcd.c (gcd): Likewise.
89147
89148 2002-11-15  Bruno Haible  <bruno@clisp.org>
89149
89150         * lib/strcspn.c: Include <stddef.h>.
89151         (strcspn): Use ANSI C function declaration. Change return type to
89152         size_t. Use NULL.
89153         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89154         (strpbrk): Use NULL.
89155         * lib/strpbrk.h (PARAMS): Remove macro.
89156         (strpbrk): Use ANSI C function declaration.
89157         * lib/strstr.c: Don't include <sys/types.h>.
89158         * lib/strstr.h (PARAMS): Remove macro.
89159         (strstr): Use ANSI C function declarations.
89160
89161 2002-11-14  Karl Berry  <karl@gnu.org>
89162
89163         * config/mkinstalldirs: `do' on separate line, instead of
89164         `for var; do'.
89165
89166 2002-11-06  Bruno Haible  <bruno@clisp.org>
89167
89168         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89169         * lib/gcd.c (gcd): Likewise.
89170
89171 2002-11-05  Bruno Haible  <bruno@clisp.org>
89172
89173         * lib/gcd.h: New file, from gettext-0.11.5.
89174         * lib/gcd.c: New file, from gettext-0.11.5.
89175
89176 2002-11-05  Bruno Haible  <bruno@clisp.org>
89177
89178         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89179         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89180         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89181         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89182
89183         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89184         <libintl.h>.
89185         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89186         <libintl.h>.
89187
89188         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89189         * lib/human.c: Include gettext.h instead of <libintl.h>.
89190         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89191         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89192         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89193         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89194         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89195         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89196         (textdomain): Remove definition.
89197         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89198
89199         * lib/long-options.c: Remove include of <libintl.h> and definition of
89200         _.
89201         * lib/same.c: Remove include of <libintl.h> and definition of _.
89202
89203 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89204
89205         * lib/config.charset: A few additions for Solaris.
89206
89207 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89208
89209         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89210         * lib/localcharset.c (locale_charset): Declare as extern "C".
89211
89212 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89213
89214         * lib/config.charset: msdos in uk_UA uses CP1125.
89215
89216 2002-11-04  Bruno Haible  <bruno@clisp.org>
89217
89218         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89219         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89220         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89221         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89222         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89223
89224 2002-11-04  Bruno Haible  <bruno@clisp.org>
89225
89226         * lib/localcharset.c (locale_charset): Don't return an empty string.
89227
89228 2002-11-04  Bruno Haible  <bruno@clisp.org>
89229
89230         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89231         aliases.
89232
89233 2002-11-04  Bruno Haible  <bruno@clisp.org>
89234
89235         * lib/config.charset: Update for newest glibc. Add canonical names
89236         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89237
89238 2002-11-04  Bruno Haible  <bruno@clisp.org>
89239
89240         * lib/config.charset: Add support for NetBSD.
89241
89242 2002-11-04  Bruno Haible  <bruno@clisp.org>
89243
89244         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89245
89246 2002-11-01  Bruno Haible  <bruno@clisp.org>
89247
89248         * configure.in: Add AC_CONFIG_AUX_DIR call.
89249         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89250         test/Makefile.
89251         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89252
89253 2002-09-28  Karl Berry  <karl@gnu.org>
89254
89255         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89256         installed automake until the next release, since changes have been
89257         made.
89258
89259 2002-09-25  Karl Berry  <karl@gnu.org>
89260
89261         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89262         * lib/getopt*: copy from libc/posix.
89263         * lib/gettext.h: copy from gettext.
89264         * lib/.cppi-disable: add strdup.c, gettext.h.
89265
89266 2002-09-25  Karl Berry  <karl@gnu.org>
89267
89268         * config/srclist.txt: enable gettext.h check.
89269         * config/config.{guess,sub}: update from prep.
89270         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89271                 from automake 1.6.3.
89272         See srclist*.
89273
89274 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89275
89276         * regex.c (PATFETCH): Remove the translating fetch.
89277         (PATFETCH_RAW): Rename to PATFETCH.
89278         (set_image_of_range): New fun.
89279         (SET_RANGE_TABLE_WORK_AREA): Use it.
89280         (regex_compile): Don't translate the pattern chars so eagerly.
89281         Only do it when inserting an `exactn' bytecode or when handling
89282         a char-range.
89283         (mutually_exclusive_p): Avoid empty statement.
89284
89285 2002-07-06  Jim Meyering  <meyering@lucent.com>
89286
89287         * m4/README: Don't mention Makefile.am.in.
89288         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89289
89290 2002-07-01  Jim Meyering  <meyering@lucent.com>
89291
89292         * lib/c-stack.c: Include sys/time.h.
89293         From Volker Borchert.
89294
89295 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89296
89297         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89298
89299 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89300
89301         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89302         New macro.  Use it uniformly instead of
89303         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89304         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89305         reported by Vin Shelton.
89306
89307 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89308
89309         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89310         Do not assume SA_SIGINFO behavior.
89311         Bug reported by Jim Meyering on NetBSD 1.5.2.
89312
89313 2002-06-22  Jim Meyering  <meyering@lucent.com>
89314
89315         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89316         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89317
89318         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89319         now that configure.ac uses AC_GNU_SOURCE.
89320         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
89321         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
89322
89323         Update to latest tools.  Suggestions from Paul Eggert.
89324         * m4/stdbool.m4: New file, from diffutils-2.8.2.
89325         * m4/gnu-source.m4: Update from diffutils-2.8.2.
89326         * m4/fnmatch.m4: Likewise.
89327         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
89328         to AC_HEADER_STDBOOL
89329
89330 2002-06-22  Jim Meyering  <meyering@lucent.com>
89331
89332         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
89333         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
89334
89335 2002-06-22  Jim Meyering  <meyering@lucent.com>
89336
89337         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89338
89339         * lib/exitfail.c, exitfail.h: Likewise.
89340         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89341
89342         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89343         of fnmatch.h.
89344         (EXTRA_DIST): Add fnmatch_loop.c.
89345         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89346
89347         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89348         * lib/fnmatch.c: Update from diffutils-2.8.2.
89349         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89350         * lib/fnmatch.h: Remove file.
89351
89352 2002-06-21  Jim Meyering  <meyering@lucent.com>
89353
89354         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
89355         * m4/mbrtowc.m4: Likewise.
89356
89357         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
89358         * m4/mbswidth.m4: Reflect name change:
89359         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
89360         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89361
89362         * m4/lib-link.m4: Update from gettext-0.11.2.
89363         * m4/gettext.m4: Likewise.
89364
89365         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
89366         From Alfred M. Szmidt.
89367
89368 2002-06-18  Paul Eggert  <eggert@twinsun.com>
89369
89370         * lib/file-type.h: Report an error if neither S_ISREG nor
89371         S_IFREG is defined, instead of using a test specific to glibc
89372         2.2.  This should be safe, since POSIX requires S_ISREG and
89373         Unix Version 7 had S_IFREG.  We don't need to check for
89374         <sys/types.h> since we don't use any symbols that it defines.
89375
89376 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
89377
89378         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
89379         $@-t, so that each temporary file name is unique and valid in the first
89380         8 characters, for operation under DOS.
89381
89382 2002-06-15  Paul Eggert  <eggert@twinsun.com>
89383
89384         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
89385
89386 2002-06-15  Jim Meyering  <meyering@lucent.com>
89387
89388         Work even with DJGPP 2.03, which lacks support for symlinks.
89389         From Richard Dawe.
89390         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
89391         is defined.
89392         * lib/lchown.c (S_ISLNK): Likewise.
89393
89394 2002-06-15  Jim Meyering  <meyering@lucent.com>
89395
89396         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
89397         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
89398         have been included before this file.
89399
89400 2002-06-14  Jim Meyering  <meyering@lucent.com>
89401
89402         * lib/file-type.h: Use the version from diffutils-2.8.2.
89403         * lib/file-type.c: Likewise.
89404
89405 2002-06-07  Jim Meyering  <meyering@lucent.com>
89406
89407         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
89408         They're needed at least for NetBSD 1.5.2.
89409         ($statxfs_includes): Include those same headers.
89410         ($statxfs_includes): Include sys/vfs.h if available.
89411         ($statxfs_includes): Likewise for sys/statvfs.h.
89412         Check for the following members in both structs statfs and statvfs:
89413         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
89414
89415 2002-06-01  Jim Meyering  <meyering@lucent.com>
89416
89417         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
89418         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
89419
89420 2002-05-28  Jim Meyering  <meyering@lucent.com>
89421
89422         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
89423         Reported by Volker Borchert.
89424
89425 2002-05-27  Jim Meyering  <meyering@lucent.com>
89426
89427         Fix a problem seen only on nonconforming systems whereby ls.c's
89428         use of localtime, and then of gettimeofday would cause trouble:
89429         the localtime call used to initialize rpl_gettimeofday's save
89430         mechanism would clobber ls's current local time information so
89431         that in any long listing the first file would always be listed
89432         with date 1970-01-01.  Analysis by Volker Borchert.
89433
89434         * lib/gettimeofday.c (localtime): Undefine.
89435         (rpl_localtime): New function.
89436
89437 2002-05-27  Jim Meyering  <meyering@lucent.com>
89438
89439         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
89440         localtime.
89441
89442         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
89443         use the replacement function; it wouldn't resolve at link time.
89444         Reported by Volker Borchert.
89445
89446 2002-05-22  Jim Meyering  <meyering@lucent.com>
89447
89448         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
89449         file-type.h.
89450         * lib/file-type.h: New file.
89451         * lib/file-type.c (file_type): New file/function.  Extracted from
89452         diffutils.
89453
89454 2002-04-30  Jim Meyering  <meyering@lucent.com>
89455
89456         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
89457
89458 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89459
89460         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
89461
89462 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89463
89464         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
89465         Do not check for alloca.h (no longer used) or stdbool.h (was never
89466         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
89467
89468 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89469
89470         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
89471
89472 2002-04-29  Jim Meyering  <meyering@lucent.com>
89473
89474         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
89475         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
89476         Use AC_FUNC_STRNLEN here instead.
89477
89478         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
89479         With autoconf-2.53a, it's part of AC_PROG_CC.
89480
89481 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89482
89483         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
89484         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
89485
89486 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89487
89488         * lib/sig2str.h, lib/sig2str.c: New files.
89489         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
89490
89491 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89492
89493         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
89494         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
89495         of 127, since 64 is the largest conceivable number for ancient
89496         nonstandard hosts.
89497         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
89498
89499 2002-04-28  Jim Meyering  <meyering@lucent.com>
89500
89501         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
89502
89503 2002-04-24  Jim Meyering  <meyering@lucent.com>
89504
89505         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
89506         (jm_PREREQ): Use it.
89507
89508         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
89509         mach/mach.h fcntl.h.
89510         Check for this function: setlocale.
89511
89512 2002-04-24  Jim Meyering  <meyering@lucent.com>
89513
89514         * lib/gettext.h: New file, from Gettext.
89515         * lib/Makefile.am (INCLUDES): Remove -I../intl.
89516         (libfetish_a_SOURCES): Add gettext.h.
89517
89518 2002-04-16  Jim Meyering  <meyering@lucent.com>
89519
89520         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
89521         ut_pid, ut_id, ut_exit.
89522
89523 2002-04-16  Jim Meyering  <meyering@lucent.com>
89524
89525         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
89526         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
89527         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
89528
89529 2002-04-12  Jim Meyering  <meyering@lucent.com>
89530
89531         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
89532         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
89533         existence of the getmntinfo function.  Needed for Darwin 5.3.
89534
89535         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
89536         This is necessary at least on Darwin 5.3.
89537
89538         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
89539         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
89540         strnlen.o in the library, and that makes some versions of ranlib
89541         object.
89542
89543 2002-04-12  Jim Meyering  <meyering@lucent.com>
89544
89545         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
89546
89547 2002-04-09  Jim Meyering  <meyering@lucent.com>
89548
89549         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
89550         to be more precise.  Rather than saying we're checking whether the
89551         function `works', say what we're testing.
89552         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
89553         Reported by Bruno Haible.
89554
89555 2002-03-10  Jim Meyering  <meyering@lucent.com>
89556
89557         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
89558         Suggestion from Santiago Vila.
89559
89560 2002-03-08  Jim Meyering  <meyering@lucent.com>
89561
89562         * lib/rename.c: Mention that this wrapper is needed also on
89563         mips-dec-ultrix4.4 systems.
89564
89565 2002-03-02  Jim Meyering  <meyering@lucent.com>
89566
89567         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
89568         not HAVE_CLOCK_SETTIME.
89569
89570 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89571
89572         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
89573         Check for clock_settime.
89574
89575 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89576
89577         * lib/nanosleep.h: Rename to....
89578         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
89579
89580         * lib/gettime.c: New file.
89581         * lib/settime.c: New file.
89582         * lib/stime.c: Remove.
89583
89584         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
89585         timespec.h.  Remove nanosleep.h.
89586
89587 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89588
89589         * m4/acl.m4: New file.
89590         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
89591         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
89592
89593 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89594
89595         * lib/acl.c, lib/acl.h: New files.
89596         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
89597
89598 2002-02-24  Jim Meyering  <meyering@lucent.com>
89599
89600         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
89601         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
89602         cause trouble.  Reported by Nelson Beebe.
89603
89604 2002-02-23  Paul Eggert  <eggert@twinsun.com>
89605
89606         * lib/path-concat.c (xpath_concat): Reorder code to pacify
89607         compilers that don't know that xalloc_die never returns.
89608
89609 2002-02-20  Jim Meyering  <meyering@lucent.com>
89610
89611         * lib/getdate.c: Regenerate using bison-1.33.
89612
89613 2002-02-17  Jim Meyering  <meyering@lucent.com>
89614
89615         * config/config.guess (main): Don't use `head -1'; it's no longer
89616         portable. Use `sed 1q' instead.
89617
89618 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
89619
89620         * m4/codeset.m4: Upgrade to gettext-0.11.
89621         * m4/gettext.m4: Upgrade to gettext-0.11.
89622         * m4/glibc21.m4: Upgrade to gettext-0.11.
89623         * m4/iconv.m4: Upgrade to gettext-0.11.
89624         * m4/isc-posix.m4: Upgrade to gettext-0.11.
89625         * m4/lcmessage.m4: Upgrade to gettext-0.11.
89626         * m4/lib-ld.m4: New file, from gettext-0.11.
89627         * m4/lib-link.m4: New file, from gettext-0.11.
89628         * m4/lib-prefix.m4: New file, from gettext-0.11.
89629         * m4/progtest.m4: Upgrade to gettext-0.11.
89630
89631 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89632
89633         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
89634         (jm_PREREQ): Use it.
89635
89636 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89637
89638         * lib/posixver.c, lib/posixver.h: New files.
89639         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89640
89641 2002-02-02  Paul Eggert  <eggert@twinsun.com>
89642             Bruno Haible  <bruno@clisp.org>
89643
89644         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
89645         (fwrite_success_callback): New declaration.
89646         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
89647         print_unicode_char. Call failure callback instead of error.
89648         (fwrite_success_callback): New function.
89649         (exit_failure_callback): New function.
89650         (fallback_failure_callback): New function.
89651         (print_unicode_char): Call unicode_to_mb.
89652
89653 2002-01-26  Jim Meyering  <meyering@lucent.com>
89654
89655         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
89656         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
89657
89658 2002-01-26  Jim Meyering  <meyering@lucent.com>
89659
89660         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
89661
89662 2002-01-22  Paul Eggert  <eggert@twinsun.com>
89663
89664         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
89665
89666 2002-01-22  Jim Meyering  <meyering@lucent.com>
89667
89668         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
89669         Otherwise, some versions of automake would omit the rule that makes
89670         Makefile from Makefile.in.
89671
89672 2002-01-21  Paul Eggert  <eggert@twinsun.com>
89673
89674         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
89675         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89676         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
89677         (memcoll): Set errno to zero if there is no error.
89678
89679         * lib/quotearg.c (quotearg_buffer_restyled):
89680         Fix bug with quoting buffers containing NUL when backslashing escapes.
89681         This bug was exposed by the other changes in this patch.
89682         (quotearg_n_options): New arg ARGSIZE.
89683         All callers changed.
89684         (quoting_options_from_style): New function.
89685         (quotearg_n_style): Use it.
89686         (quotearg_n_style_mem): New function.
89687
89688         * lib/quotearg.h (quotearg_n_style_mem): New function.
89689
89690 2002-01-19  Jim Meyering  <meyering@lucent.com>
89691
89692         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
89693         Remove useless quotes: DF_PROG="df".
89694         * m4/strnlen.m4: New file.
89695
89696 2002-01-16  Paul Eggert  <eggert@twinsun.com>
89697
89698         * lib/backupfile.c (ISDIGIT): Comment fix.
89699         * lib/getdate.y (ISDIGIT): Likewise.
89700         * lib/posixtm.c (ISDIGIT, year): Likewise.
89701         * lib/strverscmp.c (ISDIGIT): Likewise.
89702         * lib/userspec.c (ISDIGIT): Likewise.
89703
89704 2002-01-16  Jim Meyering  <meyering@lucent.com>
89705
89706         * lib/getdate.y: Add three semicolons, each just before a closing
89707         brace. Bison (as of version 1.31) no longer papers over that mistake.
89708
89709 2002-01-05  Jim Meyering  <meyering@lucent.com>
89710
89711         * lib/version-etc.c (version_etc_copyright): Update copyright year.
89712
89713 2001-12-19  Paul Eggert  <eggert@twinsun.com>
89714
89715         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
89716         not silently exit merely because the output buffer happens to
89717         have nothing pending.
89718
89719 2001-12-18  Paul Eggert  <eggert@twinsun.com>
89720
89721         See the big note in ../ChangeLog.
89722         * lib/human.c (suffixes): Prefer K to k for 1024.
89723         (generate_suffix_backwards): New function.
89724         (human_readable_inexact): Use it.
89725         * lib/xstrtol.c (__xstrtol): If there is no number but there
89726         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
89727         Accept 'K' as well as 'k'.
89728
89729 2001-12-15  Jim Meyering  <meyering@lucent.com>
89730
89731         * lib/regex.h (__restrict_arr): Update from libc.
89732
89733         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
89734         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
89735         (STREQ): Define.
89736
89737 2001-12-14  Jim Meyering  <meyering@lucent.com>
89738
89739         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
89740         Suggestion from Bruno Haible.
89741
89742 2001-12-10  Jim Meyering  <meyering@lucent.com>
89743
89744         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
89745         xrealloc, Instead, include "xalloc.h".
89746         (initbuffer): Don't cast xmalloc return value to char*.
89747         (readline): Reword comment.
89748         Don't cast xrealloc return value to char*
89749         Return NULL, not 0.
89750
89751 2001-12-09  Jim Meyering  <meyering@lucent.com>
89752
89753         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
89754         about `signed and unsigned type in conditional expression'.
89755         * lib/posixtm.c (posix_time_parse): Likewise.
89756
89757         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
89758
89759         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
89760         to avoid a pedantic warning.
89761
89762         * lib/getstr.c: Don't include assert.h.
89763         (getstr): Remove warning-evoking assertions.
89764         Return -1 if offset parameter is out of bounds.
89765         Change the type of a local from int to size_t.
89766
89767         * lib/strftime.c (my_strftime_localtime_r): Include this function
89768         definition in the `#if ! HAVE_TM_GMTOFF' block.
89769
89770         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
89771         Include xalloc.h instead.
89772
89773 2001-12-02  Jim Meyering  <meyering@lucent.com>
89774
89775         * lib/tempname.c: Don't declare getenv, thus reverting the change of
89776         2001-11-18.  It's no longer necessary, now that stdlib.h is always
89777         included.
89778
89779         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
89780         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
89781
89782 2001-11-30  Akim Demaille  <akim@epita.fr>
89783
89784         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
89785         before being defined.
89786
89787 2001-11-27  Paul Eggert  <eggert@twinsun.com>
89788
89789         * lib/quotearg.h (quotearg_n, quotearg_n_style):
89790         First arg is int, not unsigned.
89791         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
89792         (SIZE_MAX, UINT_MAX): New macros.
89793         (quotearg_n_options): Abort if N is negative.
89794         Avoid overflow check on hosts where size_t is 64 bits and int
89795         is 32 bits, as overflow is impossible there.
89796         Fix off-by-one typo that caused unnecessary reallocation.
89797
89798 2001-11-27  Jim Meyering  <meyering@lucent.com>
89799
89800         * lib/tempname.c: Merge with version from libc.
89801         * lib/regex.c: Likewise.
89802
89803         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
89804         systems for which STDC_HEADERS is 0, it was not included, resulting in
89805         a warning about an integer-to-pointer conversion problem with getenv.
89806         Reported by Volker Borchert.
89807
89808 2001-11-26  Jim Meyering  <meyering@lucent.com>
89809
89810         * lib/gtod.h: Remove file.
89811         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
89812         * lib/gettimeofday.c: Don't include gtod.h.
89813         (GTOD_init): Remove function.
89814         (rpl_gettimeofday): Do its job here instead, rather than aborting.
89815         Suggestion from Volker Borchert.
89816
89817 2001-11-23  Jim Meyering  <meyering@lucent.com>
89818
89819         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
89820         it.
89821         * lib/hash.c (struct hash_table): Define it here instead.
89822
89823 2001-11-22  Jim Meyering  <meyering@lucent.com>
89824
89825         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
89826
89827 2001-11-20  Jim Meyering  <meyering@lucent.com>
89828
89829         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
89830         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
89831
89832 2001-11-19  Jim Meyering  <meyering@lucent.com>
89833
89834         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
89835         directory.  Use "conftestXXXXXX" as the template.
89836         Suggestion from Paul Eggert.
89837
89838         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
89839         immediately, so the test doesn't mistakenly hit the max-open-files
89840         limit.
89841
89842 2001-11-18  Paul Eggert  <eggert@twinsun.com>
89843
89844         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
89845         (TEMPORARIES): New macro.
89846         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
89847         removes an artificial limitation (e.g. HP-UX 10.20, where
89848         TMP_MAX is 17576).
89849
89850 2001-11-18  Jim Meyering  <meyering@lucent.com>
89851
89852         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
89853
89854 2001-11-18  Jim Meyering  <meyering@lucent.com>
89855
89856         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
89857         on SunOS 4.
89858
89859         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
89860         files will be created before anything else.
89861
89862 2001-11-17  Paul Eggert  <eggert@twinsun.com>
89863
89864         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
89865         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
89866
89867 2001-11-17  Jim Meyering  <meyering@lucent.com>
89868
89869         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
89870         Prompted by a report from Bob Proulx.
89871
89872         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
89873         Instead, require UTILS_FUNC_MKSTEMP.
89874
89875 2001-11-17  Jim Meyering  <meyering@lucent.com>
89876
89877         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
89878         Now, that's done as part of AC_FUNC_STRTOD.
89879
89880 2001-11-17  Jim Meyering  <meyering@lucent.com>
89881
89882         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
89883         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
89884         rather than group writable.  Patch by Juan F. Codagnone.
89885
89886         * lib/readtokens.c: Remove explicit declarations of xmalloc and
89887         xrealloc, Instead, include "xalloc.h".
89888
89889         * lib/mountlist.c: Include unlocked-io.h after all system headers.
89890         Remove explicit declarations of xmalloc, xrealloc,
89891         and xstrdup.  Instead, include "xalloc.h".
89892
89893         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
89894         unlocked-io.h.
89895         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
89896         Likewise.
89897         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
89898
89899         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
89900         Reported by Padraig Brady.
89901
89902         * lib/mkstemp.c: #undef mkstemp.
89903         Include config.h.
89904         (rpl_mkstemp): Rename from mkstemp.
89905         Protoize.
89906
89907 2001-11-16  Jim Meyering  <meyering@lucent.com>
89908
89909         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
89910         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
89911         determine the amount of total physical memory, use pstat_getstatic.
89912         HPUX-11 doesn't define _SC_PHYS_PAGES.
89913         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
89914         If sysconf couldn't be used to determine the amount of available
89915         physical memory, use both pstat_getstatic and pstat_getdynamic.
89916         Based on a patch from Bob Proulx.
89917
89918 2001-11-10  Jim Meyering  <meyering@lucent.com>
89919
89920         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
89921         (jm_PREREQ): Use it.
89922
89923 2001-11-09  Jim Meyering  <meyering@lucent.com>
89924
89925         * m4/jm-macros.m4: Require autoconf-2.52f.
89926         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
89927         Use these AC_-prefixed names, not the AM_-prefixed ones.
89928
89929         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
89930
89931 2001-11-05  Jim Meyering  <meyering@lucent.com>
89932
89933         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
89934
89935 2001-11-04  Jim Meyering  <meyering@lucent.com>
89936
89937         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
89938         $DEFS.
89939
89940 2001-11-03  Jim Meyering  <meyering@lucent.com>
89941
89942         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
89943         of AC_DEFUN.
89944
89945         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
89946         know the name of the variable in the macro definition.
89947
89948 2001-11-03  Jim Meyering  <meyering@lucent.com>
89949
89950         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
89951         in argmatch_to_argument call.
89952
89953         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
89954         argument.
89955
89956         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
89957         e.g., a fault due to an attempt to free a NULL pointer.
89958
89959 2001-11-01  Jim Meyering  <meyering@lucent.com>
89960
89961         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
89962         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
89963
89964 2001-11-01  Jim Meyering  <meyering@lucent.com>
89965
89966         * lib/dirfd.c, lib/dirfd.h: New files.
89967         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
89968
89969         * lib/hash.c (hash_print) [TESTING]: Clean up.
89970
89971 2001-10-22  Paul Eggert  <eggert@twinsun.com>
89972
89973         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
89974         to avoid a warning if -Wall.
89975
89976 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
89977
89978         * README: New file
89979         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
89980         (per RMS's instructions, this is now the canonical source)
89981         * lgpl/, gpl/: New directories.
89982
89983 2001-10-21  Paul Eggert  <eggert@twinsun.com>
89984
89985         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
89986
89987 2001-10-21  Jim Meyering  <meyering@lucent.com>
89988
89989         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
89990         this code would end up calling gettext even in packages built
89991         with --disable-nls.
89992         * lib/getopt.c (_): Likewise.
89993         * lib/regex.c (_): Likewise.
89994
89995 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89996
89997         * m4/error.m4 (jm_PREREQ_ERROR):
89998         Do not invoke AC_CHECK_FUNCS with strerror_r, as
89999         AC_FUNC_STRERROR_R does that.
90000         Check for strerror declaration.
90001
90002         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90003         are supposed to have them these days.
90004         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90005         Merge changes from latest Autoconf CVS.
90006         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90007         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90008         POSIX decided to standardize on the int flavor of strerror_r.
90009
90010 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90011
90012         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90013         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90014         Use strerror_r that is only a macro, even if it is not a function.
90015         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90016         (private_strerror): Use prototypes, not old-style function definition.
90017         (print_errno_message): New function.
90018         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90019         char*-flavored one.
90020         (error_tail, error, error_at_line): Use it.
90021
90022 2001-10-11  Jim Meyering  <meyering@lucent.com>
90023
90024         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90025         and quote_n (1, ... to avoid clobbering a buffer.
90026
90027 2001-10-05  Jim Meyering  <meyering@lucent.com>
90028
90029         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90030         hash-pjw.h.
90031         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90032         * lib/hash-pjw.h: New file.
90033
90034 2001-09-30  Jim Meyering  <meyering@lucent.com>
90035
90036         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90037         `struct fsstat' has the `f_fstypename' member.
90038         Use that to define FS_TYPE, which is now used to make
90039         the getfsstat link test tighter.
90040
90041 2001-09-30  Jim Meyering  <meyering@lucent.com>
90042
90043         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90044         Include <sys/ucred.h>, for Apple Darwin.
90045         Include sys/mount.h and sys/fs_types.h only if available.
90046         (FS_TYPE): Define.
90047         (read_filesystem_list): Use FS_TYPE.
90048
90049 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90050
90051         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90052         a boolean context.
90053
90054 2001-09-29  Jim Meyering  <meyering@lucent.com>
90055
90056         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90057         [one-argument getmntent function]): Include stdio.h before mntent.h.
90058         SunOS 4.1.x needs it for the declaration of `FILE'.
90059         Patch by Volker Borchert.
90060
90061         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90062         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90063         sys/fs_types.h, and make the link-test for getfsstat guard #include
90064         directives with appropriate #if HAVE_*_H tests so that we can
90065         detect getfsstat on Apple Darwin1.3.7 systems.
90066         Reported by Nelson Beebe.
90067         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90068
90069 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90070
90071         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90072         #defines strtoimax.  Also treat the other strto* functions
90073         like strtoimax.
90074
90075         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90076         Check for strtoul and strtoumax,
90077         as those declarations are made even in the signed case.
90078         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90079         Likewise, for strtol and strtoimax.
90080
90081 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90082
90083         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90084         #defines strtoimax.  Also treat the other strto* functions
90085         like strtoimax.
90086
90087         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90088         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90089         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90090
90091 2001-09-26  Jim Meyering  <meyering@lucent.com>
90092
90093         Most macros in unlocked-io.h had the wrong number of arguments.
90094         * lib/gen-uio: New script.
90095         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90096         * lib/unlocked-io.hin: Remove file.
90097         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90098         rather than trying to embed it here.
90099         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90100         Reported by Padraig Brady.
90101
90102 2001-09-25  Volker Borchert  <bt@teknon.de>
90103
90104         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90105         `result'.
90106
90107 2001-09-24  Jim Meyering  <meyering@lucent.com>
90108
90109         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90110
90111 2001-09-23  Jim Meyering  <meyering@lucent.com>
90112
90113         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90114         instead of the mere test for existence of mntent.h.  The latter
90115         would get a false-positive on AIX 3.4 systems.
90116         In the outer getmntent if-block, don't die if neither of the getmntent
90117         tests succeeds.  Instead, just fall through and continue with the
90118         remaining tests.
90119
90120 2001-09-23  Jim Meyering  <meyering@lucent.com>
90121
90122         * lib/mountlist.c: Remove useless parentheses in #if directives.
90123         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90124         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90125
90126 2001-09-22  Jim Meyering  <meyering@lucent.com>
90127
90128         * m4/gettext.m4: New file.  From gettext.
90129         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90130         * m4/progtest.m4: Likewise
90131         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90132         * m4/glibc21.m4: Likewise.
90133
90134         * m4/libintl.m4: Remove.  No longer used.
90135
90136 2001-09-22  Jim Meyering  <meyering@lucent.com>
90137
90138         * lib/localcharset.c: Update from latest gettext.
90139         * lib/config.charset: Likewise.
90140
90141 2001-09-20  Jim Meyering  <meyering@lucent.com>
90142
90143         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90144         strtoimax.
90145         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90146         strtoumax.
90147
90148 2001-09-20  Jim Meyering  <meyering@lucent.com>
90149
90150         * lib/xstrtol.c (strtoimax): Guard declaration with
90151         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90152         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90153         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90154         (strtoumax): Likewise, for completeness (it wasn't necessary).
90155
90156 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90157
90158         * lib/strtoimax.c (HAVE_LONG_LONG):
90159         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90160         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90161         to work around bug in IBM C compiler.
90162
90163 2001-09-17  Jim Meyering  <meyering@lucent.com>
90164
90165         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90166         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90167         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90168         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90169         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90170         whenever the right hand side need not be expanded by the shell.
90171
90172 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90173
90174         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90175         library.  It's not correct, as some older glibcs are buggy.
90176         fnmatch wasn't fixed until glibc 2.2.
90177
90178         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90179         special shell magic here.
90180
90181 2001-09-16  Jim Meyering  <meyering@lucent.com>
90182
90183         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90184         * m4/jm-macros.m4: Require it.
90185
90186 2001-09-16  Jim Meyering  <meyering@lucent.com>
90187
90188         * lib/mkdir.c: New file.
90189
90190 2001-09-15  Jim Meyering  <meyering@lucent.com>
90191
90192         * m4/jm-macros.m4: Check for help2man.
90193
90194 2001-09-11  Jim Meyering  <meyering@lucent.com>
90195
90196         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90197         The body, by Paul Eggert, was moved here from configure.in.
90198         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90199
90200 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90201
90202         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90203         (jm_PREREQ): Use it.
90204
90205 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90206
90207         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90208         Use ssize_t, not int, to store result of readlink.
90209         Check for ssize_t overflow as well as size_t overflow,
90210         as POSIX says the result of readlink is implementation-defined
90211         when ssize_t overflows.
90212         Remove unnecessary cast to char*.
90213         Use free+malloc instead of realloc, as the storage doesn't need
90214         to be preserved and it's clearer and can be more efficient that way.
90215         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90216         * lib/xreadlink.h (xreadlink): Update prototype.
90217
90218 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90219
90220         * lib/xgetcwd.c: Revert some of the previous change; intead,
90221         fix the HAVE_GETCWD_NULL code to behave more like the
90222         !HAVE_GETCWD_NULL code used to.
90223
90224         Include "xalloc.h".
90225         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90226         invoke xalloc_die.
90227
90228 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90229
90230         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90231         sys/param.h, as pathmax.h includes them.
90232
90233 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90234
90235         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90236         (jm_PREREQ_XGETCWD): New macro.
90237
90238         * m4/getcwd.m4: New file.
90239
90240 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90241
90242         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90243         like the HAVE_GETCWD_NULL code.
90244         Include pathmax.h if not HAVE_GETCWD.
90245         Do not include xalloc.h.
90246         (INITIAL_BUFFER_SIZE): New symbol.
90247         Do not use xmalloc / xrealloc, since the caller is responsible for
90248         handling errors.  Preserve errno around `free' during failure.
90249         Do not overrun buffer when using getwd.
90250
90251 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90252
90253         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90254         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90255         getcwd (NULL, 0).
90256
90257 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90258
90259         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90260         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90261         spotted by Jim Meyering.
90262
90263 2001-09-03  Jim Meyering  <meyering@lucent.com>
90264
90265         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90266         failure.
90267
90268 2001-09-02  Jim Meyering  <meyering@lucent.com>
90269
90270         * lib/error.c: Update from GNU libc.
90271
90272 2001-09-01  Jim Meyering  <meyering@lucent.com>
90273
90274         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90275         Used by df.
90276
90277 2001-09-01  Jim Meyering  <meyering@lucent.com>
90278
90279         * lib/xreadlink.c: New file.
90280         * lib/xreadlink.h: New file.
90281         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90282         xreadlink.h.
90283
90284         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90285         doesn't conflict with sparc Solaris 7's definition in
90286         /usr/include/sys/int_types.h.
90287
90288         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90289         files.
90290         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90291         and strncasecmp as r-values.  Unixware didn't have declarations.
90292
90293 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90294
90295         * lib/xstrtol.h: Add copyright notice.
90296         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90297         LONGINT_INVALID_SUFFIX_CHAR.
90298
90299 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90300
90301         * lib/xstrtol.c (strtoimax): New decl.
90302
90303 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90304
90305         * lib/xgetcwd.c: Don't include pathmax.h.
90306         Include stdlib.h and unistd.h if available.
90307         Include xalloc.h.
90308         (xmalloc, xstrdup, free): Remove decls.
90309         (xgetcwd): Don't assume sizes fit in unsigned.
90310         Check for overflow when computing sizes.
90311         Simplify reallocation code.
90312
90313 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90314
90315         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90316         a directory's st_size can have an arbitrary value, so the old
90317         usage could waste an arbitrary amount of memory.  All uses
90318         changed.
90319         * lib/savedir.h: Update prototype.
90320
90321 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90322
90323         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
90324
90325         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
90326         old strtoimax.c.
90327
90328         Also, make the following further changes to make this file's
90329         configuration more similar to that of strtol.c:
90330         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
90331         (strtoumax, uintmax_t, strtoull, strtol): Remove.
90332         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
90333         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
90334         changed to signed values.
90335
90336         And make the following changes as well:
90337         Fix copyright notice, as 1999 was missing.
90338         (verify): New macro.
90339         (strtoimax): Check sizes at compile-time, not run-time.
90340         Prefer strtol to strtoll if both work.
90341         (main): Remove; it was not that useful and was a pain to maintain.
90342
90343         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90344
90345 2001-08-31  Jim Meyering  <meyering@lucent.com>
90346
90347         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90348         Use an initial, malloc'd, buffer of length 128 rather than
90349         a statically allocated one of length 1024.
90350
90351 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90352
90353         Simplify code, partly by assuming autoconf 2.52 semantics.
90354
90355         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
90356
90357         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
90358         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
90359         All uses removed.
90360         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
90361         Move AC_REQUIRE to next-to-top level, to avoid confusion.
90362         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
90363         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
90364         jm_AC_HEADER_INTTYPES_H.
90365         * m4/jm-macros.m4 (jm_MACROS): Likewise.
90366
90367         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
90368
90369         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90370         Quote first arg of AC_DEFUN.
90371         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
90372         since they are needed to parse the include file even if we need
90373         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
90374         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
90375         but with opposite signedness.
90376
90377 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90378
90379         Merge 'exclude' changes from tar 1.13.22.
90380         This fixes one or two unlikely storage allocation overflow bugs,
90381         but doesn't change user-visible behavior otherwise.
90382
90383 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90384
90385         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
90386         (jm_PREREQ_EXCLUDE): New macro.
90387
90388 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90389
90390         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
90391         tm to be declared.
90392
90393 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90394
90395         * lib/hash.c: Remove '2001' from copyright notice.
90396
90397 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90398
90399         * lib/full-write.h: New file.
90400         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
90401         * lib/full-write.c: Correct credits, as cccp.c no longer
90402         exists and anyway it was so heavily changed from the old cccp
90403         code as to be unrecognizable.  Include full-write.h.
90404         (full_write): Return size_t, with short writes meaning failure.
90405         All callers changed.  This fixes a bug with large buffers
90406         on 64-bit hosts.
90407         * lib/utime.c: Include full-write.h.
90408
90409 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90410
90411         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
90412         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
90413         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
90414         Include if available.
90415         (<xalloc.h>): Include
90416         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
90417         (verify): New macro.  Use it to verify that EXCLUDE macros do not
90418         collide with FNM macros.
90419         (struct patopts): New struct.
90420         (struct exclude): Use it, as exclude patterns now come with options.
90421         (new_exclude): Support above changes.
90422         (new_exclude, add_exclude_file):
90423         Initial size must now be a power of two to simplify overflow checking.
90424         (free_exclude, fnmatch_no_wildcards): New function.
90425         (excluded_filename): No longer requires options arg, as the options
90426         are determined by add_exclude.  Now returns bool, not int.
90427         (excluded_filename, add_exclude):
90428         Add support for the fancy new exclusion options.
90429         (add_exclude, add_exclude_file): Now takes int options arg.
90430         Check for arithmetic overflow when computing sizes.
90431         (add_exclude_file): xrealloc might modify errno, so don't
90432         realloc until after errno might be used.
90433
90434         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
90435         New macros.
90436         (free_exclude): New decl.
90437         (add_exclude, add_exclude_file): Now takes int options arg.
90438         (excluded_filename): No longer requires options arg, as the options
90439         are determined by add_exclude.  Now returns bool, not int.
90440
90441 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90442
90443         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
90444
90445 2001-08-27  Jim Meyering  <meyering@lucent.com>
90446
90447         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
90448
90449         * lib/version-etc.c (N_): Remove definition.
90450         Revert most of last change.
90451         Instead, simply don't mark the `Copyright...' string for translation.
90452         Based on advice from Paul Eggert.
90453
90454         * lib/strtoxmax.c: Tweak comment.
90455
90456 2001-08-26  Jim Meyering  <meyering@lucent.com>
90457
90458         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
90459
90460         * m4/xstrtoimax.m4: New file.
90461         * m4/xstrtoumax.m4: Add comments explaining why we
90462         AC_REPLACE_FUNCS(strtol).
90463
90464 2001-08-26  Jim Meyering  <meyering@lucent.com>
90465
90466         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
90467         of copyright with `%s' so translators don't get an untranslated
90468         message in 2002.
90469         (COPYRIGHT_YEAR): Define.
90470         (version_etc): Use fprintf rather than fputs.
90471         Suggestion from Ulrich Drepper.
90472
90473         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
90474
90475         * lib/strtoll.c: New file, from GNU libc.
90476         * lib/xstrtoimax.c: New file.
90477
90478         * lib/xstrtol.h: Add xstrtoimax.
90479         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
90480         * lib/strtoimax.c: New file.  Likewise, but first define
90481         STRTOUXMAX_SIGNED.
90482
90483         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
90484         ...
90485         * lib/strtoxmax.c: ... then renamed to this.
90486
90487 2001-08-18  Paul Eggert  <eggert@twinsun.com>
90488
90489         * m4/inttypes.m4: Add AC_PREREQ(2.13).
90490         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
90491         (jm_AC_TYPE_INTMAX_T): New macro.
90492         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
90493
90494         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
90495
90496         * m4/longlong.m4: Renamed from ulonglong.m4.
90497         * m4/inttypes.m4: Renamed from inttypes_h.m4.
90498         * m4/uintmax_t.m4: Removed.
90499
90500 2001-08-13  Paul Eggert  <eggert@twinsun.com>
90501
90502         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
90503         Port to Solaris 8, where 'sed' requires a space after the 'r'
90504         command, and where sh dislikes "$/".  Clean up the spacing a bit.
90505         Redirect output to $tmp just once.
90506
90507 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
90508
90509         * lib/addext.c (<errno.h>): Include.
90510         (errno): Declare if not defined.
90511         (addext): Work correctly when pathconf returns -1 and leaves
90512         errno alone because there is no limit.  Also, work even if
90513         pathconf returns a value greater than SIZE_MAX.
90514
90515 2001-08-12  Jim Meyering  <meyering@lucent.com>
90516
90517         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
90518         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
90519         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
90520         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
90521         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
90522         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
90523         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
90524         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
90525         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
90526         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
90527         utime.m4, utimes.m4, xstrtoumax.m4:
90528         Quote the first argument in each use of AC_DEFUN.
90529
90530 2001-08-12  Jim Meyering  <meyering@lucent.com>
90531
90532         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
90533         Simply `return getcwd (NULL, 0);'.
90534         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
90535         Use 1300 as initial value for length, not PATH_MAX.
90536
90537         * lib/pathmax.h: Clean up cpp syntax.
90538
90539 2001-08-12  Jim Meyering  <meyering@lucent.com>
90540
90541         * lib/gettimeofday.c: New file.
90542         * lib/gtod.h: New file.
90543         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
90544
90545 2001-08-05  Jim Meyering  <meyering@lucent.com>
90546
90547         * m4/jm-macros.m4: Require autoconf-2.52.
90548
90549 2001-08-04  Jim Meyering  <meyering@lucent.com>
90550
90551         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
90552         stmt, to get in sync with glibc.
90553
90554 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90555
90556         The following changes are from gettext 0.10.39 as maintained by
90557         Bruno Haible.
90558
90559         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
90560         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
90561         with inverted sense.  All uses changed.
90562
90563         * lib/mbswidth.c: Don't include <limits.h>.
90564         Include <stdlib.h> and <string.h> unconditionally.
90565         (iswcntrl, mbsinit, ISCNTRL): New macros.
90566         (mbsnwidth): Use K&R style function declarations.
90567         Don't bother checking for MB_LEN_MAX == 1, since the compiler
90568         can optimize it when MB_CUR_MAX == 1.
90569         The width of control characters is zero, not 1.
90570
90571 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90572
90573         The following changes are from gettext 0.10.39 as maintained by
90574         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
90575
90576         * m4/codeset.m4: Upgrade to serial AM1.
90577         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
90578         all uses changed.  Quote first arg of AC_DEFUN.
90579         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
90580
90581         * m4/iconv.m4: Upgrade to serial AM2.
90582         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
90583         Add --with-libconv-prefix.
90584         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
90585         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
90586         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
90587         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
90588         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
90589
90590         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
90591         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
90592         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
90593         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
90594         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
90595         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
90596         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
90597         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
90598         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
90599
90600         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
90601         string.h any more.
90602
90603         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
90604         not the default value.
90605
90606         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
90607         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
90608         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
90609         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
90610         Also check for iswcntrl, used for wcwidth fallback.
90611         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
90612         to Autoconf 2.13.
90613
90614 2001-08-03  Jim Meyering  <meyering@lucent.com>
90615
90616         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
90617         as it was in the original.  Reported by Paul Eggert.
90618
90619 2001-07-16  Jim Meyering  <meyering@lucent.com>
90620
90621         * m4/gettimeofday.m4: New file.
90622         Prompted by a report from Bernhard Baehr.
90623
90624 2001-07-15  Jim Meyering  <meyering@lucent.com>
90625
90626         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
90627         stuff. Now it's in ../Makefile.cfg.
90628
90629 2001-07-15  Jim Meyering  <meyering@lucent.com>
90630
90631         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
90632         (BUILT_SOURCES): Add unlocked-io.h.
90633         (io_functions): Define.
90634         (unlocked-io.h): New rule.
90635         (DISTCLEANFILES): Add unlocked-io.h.
90636         (all-local): Depend on unlocked-io.h, to ensure it is created.
90637
90638         * lib/unlocked-io.hin: New file
90639
90640         * lib/regex.c: Update from glibc.
90641
90642 2001-07-05  Jim Meyering  <meyering@lucent.com>
90643
90644         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
90645         recommendation.
90646         (libfetish_a_SOURCES): Put all .h files here instead.
90647         Remove a thus-exposed (better checks in automake) duplicate and
90648         two unnecessary .h files.
90649
90650 2001-07-04  Jim Meyering  <meyering@lucent.com>
90651
90652         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
90653         that generates jm-glibc-io.m4 so that it doesn't trigger any make
90654         distcheck failure.
90655
90656 2001-07-02  Jim Meyering  <meyering@lucent.com>
90657
90658         The following changes were prompted by suggestions from Bruno Haible.
90659
90660         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
90661         is now generated.
90662         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
90663         definition of EXTRA_DIST.
90664         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
90665         ensure that the generated file is created/updated whenever the list
90666         of $(unlocked_functions) is changed.
90667         (jm-glibc-io.m4): New rule.
90668         (unlocked-io.h): New rule -- currently unused.
90669
90670 2001-06-24  Jim Meyering  <meyering@lucent.com>
90671
90672         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
90673         unmatched right bracket, rather than kludging it with an extra,
90674         falsely-matching quote in a comment.  Patch by Akim Demaille.
90675
90676 2001-06-11  Jim Meyering  <meyering@lucent.com>
90677
90678         * lib/regex.c: Update from GNU libc.
90679
90680 2001-05-27  Jim Meyering  <meyering@lucent.com>
90681
90682         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
90683         Check for ut_type in struct utmp.
90684
90685 2001-05-27  Jim Meyering  <meyering@lucent.com>
90686
90687         * lib/readutmp.h (UT_TYPE): Define.
90688
90689 2001-05-24  Jim Meyering  <meyering@lucent.com>
90690
90691         * lib/argmatch.c: Include "quote.h".
90692         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
90693         quote function.  Reported by Göran Uddeborg.
90694
90695 2001-05-22  Jim Meyering  <meyering@lucent.com>
90696
90697         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
90698         now that we use the package-supplied version unconditionally.
90699         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
90700
90701 2001-05-21  Jim Meyering  <meyering@lucent.com>
90702
90703         * m4/regex.m4: Change a couple backticks to single quotes to avoid
90704         shell syntax errors.
90705
90706 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90707
90708         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
90709
90710 2001-05-20  Paul Eggert  <eggert@twinsun.com>
90711
90712         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
90713         Don't bother to check library strftime, since
90714         we'll be using our own my_strftime function anyway.
90715         Define my_strftime instead of strftime.
90716
90717 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
90718
90719         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
90720         which is not yet declared.
90721
90722 2001-05-15  Jim Meyering  <meyering@lucent.com>
90723
90724         * m4/regex.m4: Use proper quoting so brackets appear in the test
90725         program.
90726         Reported by, and with help from, Bruno Haible.
90727
90728 2001-05-13  Jim Meyering  <meyering@lucent.com>
90729
90730         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
90731         undefined.
90732
90733 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90734
90735         dirname code cleanup.  base_name now behaves more compatibly
90736         with POSIX basename when given file names that have trailing
90737         slashes, and similarly for dir_name.  Add new primitives
90738         base_len and dir_len.  Put the directory-name-related decls
90739         into dirname.h.
90740
90741         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
90742         * lib/backupfile.c (base_name): Likewise.
90743         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
90744         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
90745         * lib/makepath.c (strip_trailing_slashes): Likewise.
90746         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
90747         ISSLASH): Likewise.
90748         * lib/rename.c (strip_trailing_slashes): Likewise.
90749         * lib/same.c (base_name): Likewise.
90750         * lib/stripslash.c (ISSLASH): Likewise.
90751
90752         * lib/addext.c: Include <dirname.h> after size_t is defined.
90753         * lib/backupfile.c: Likewise.
90754
90755         * lib/addext.c (addext): Use base_len to trim redundant
90756         trailing slashes instead of doing it ourselves.
90757         But do not trim the last slash if it is not redundant.
90758
90759         * lib/backupfile.c (find_backup_file_name,
90760         max_backup_version): Use base_len instead of rolling it ourselves.
90761         Handle the case of "" and (on DOS) "C:" correctly.
90762
90763         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
90764         needed. Include <string.h>, <dirname.h>.
90765         (base_name): Allow file names ending in slashes, other than names
90766         that are all slashes.  In this case, return the basename followed
90767         by the slashes.  This is more general, and can be used in places
90768         where the original base_name purposely had an assertion failure.
90769         (base_len): New function.
90770
90771         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
90772         Do not include <assert.h>; no longer needed.
90773         Include xalloc.h.
90774         (memrchr): Remove decl.
90775         (dir_name_r): Remove.
90776         (dir_len): Renamed from dirlen.  All callers changed.
90777         Rewrite in terms of base_name, for simplicity and consistency.
90778         (dir_name): Never return NULL.  All callers changed.
90779         Do not include <stdlib.h> in test program; no longer needed.
90780         return 0; is fine for test program.
90781
90782         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
90783         New macros.
90784         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
90785
90786         * lib/path-concat.c (path_concat): Use base_len to compute
90787         base length, not strlen; this means we cannot rely on memcpy
90788         to null-terminate.
90789
90790         * lib/same.c (STREQ): Remove.
90791         (same_name): Handle the case where the basename ends in trailing '/'.
90792
90793         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
90794         a slash was stripped.  Do not strip the last slash after a
90795         file system prefix.
90796
90797 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90798
90799         * lib/Makefile.am (libfetish_a_SOURCES):
90800         Add strftime.c, since we now compile it on all hosts.
90801
90802         * lib/strftime.c (my_strftime):
90803         Define to nstrftime if emacs, but only if my_strftime is not defined.
90804         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
90805         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
90806         Add one more extra argument: a nanoseconds value.
90807         All uses changed.
90808         (ns): New macro.
90809         (my_strftime function): Add %N format.
90810         (emacs_strftimeu): Renamed from emacs_strftime,
90811         with extra ut argument.
90812
90813 2001-05-09  Paul Eggert  <eggert@twinsun.com>
90814
90815         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
90816
90817 2001-04-21  Jim Meyering  <meyering@lucent.com>
90818
90819         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
90820         doesn't interfere.
90821
90822 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90823
90824         * m4/ftruncate.m4: Check for chsize.
90825         Link with ftruncate.o unconditionally if ftruncate is missing.
90826         This was required when cross-compiling to i586-mingw32msvc.
90827
90828 2001-04-08  Jim Meyering  <meyering@lucent.com>
90829
90830         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
90831         recomputed; that's necessary when the offset spans a DST transition.
90832         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
90833
90834 2001-04-02  Jim Meyering  <meyering@lucent.com>
90835
90836         * lib/regex.h, regex.c: Update from GNU libc.
90837
90838 2001-03-24  Jim Meyering  <meyering@lucent.com>
90839
90840         * m4/jm-macros.m4: Require autoconf-2.49d.
90841
90842 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
90843
90844         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
90845
90846 2001-03-19  Paul Eggert  <eggert@twinsun.com>
90847
90848         * lib/version-etc.c (version_etc_copyright): Update to 2001.
90849
90850 2001-03-17  Jim Meyering  <meyering@lucent.com>
90851
90852         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
90853         now that the version in autoconf is equivalent.
90854         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
90855
90856         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
90857         Suggestion from Akim Demaille.
90858
90859         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
90860         (jm_PREREQ_TEMPNAME): New function.
90861
90862 2001-03-16  Paul Eggert  <eggert@twinsun.com>
90863
90864         * lib/tempname.c (uint64_t): Define to uintmax_t if
90865         not defined, and if UINT64_MAX is not defined.
90866         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
90867         Reported by John David Anglin.
90868
90869 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
90870
90871         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
90872         resolve alias if codeset is empty.
90873         * lib/config.charset (BeOS): Use wildcard syntax.
90874
90875 2001-03-13  Jim Meyering  <meyering@lucent.com>
90876
90877         * lib/path-concat.c (path_concat)
90878         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
90879         concatenating e.g., `C:' and `foo'.
90880         From Bruno Haible.
90881
90882 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90883
90884         * lib/localcharset.c (locale_charset): Don't use
90885         setlocale(LC_CTYPE,NULL). Don't return NULL.
90886         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
90887
90888 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90889
90890         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
90891         support for DOS/DJGPP.
90892
90893 2001-03-01  Paul Eggert  <eggert@twinsun.com>
90894
90895         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
90896         lacks mkstemp.  Compile our own tempname.c if we compile our own
90897         mkstemp.c, as mkstemp relies on tempname.
90898
90899 2001-03-01  Jim Meyering  <meyering@lucent.com>
90900
90901         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
90902         AH_VERBATIM really does output its argument verbatim.
90903
90904 2001-02-28  Paul Eggert  <eggert@twinsun.com>
90905
90906         * lib/Makefile.am (libfetish_a_SOURCES):
90907         Add dup-safer.c, fopen-safer.c.
90908         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
90909
90910         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
90911         * lib/unistd-safer.h: New files.
90912
90913 2001-02-25  Paul Eggert  <eggert@twinsun.com>
90914
90915         The mkstemp replacement is taken from glibc 2.2.2, with some
90916         portability fixes for use outside glibc, as follows:
90917
90918         * lib/tempname.c (struct_stat64): New macro.
90919         (direxists, __gen_tempname): Use it.
90920         This avoids a portability problem with Solaris 8.
90921
90922         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
90923         (<stddef.h>, <stdint.h>, <string.h>):
90924         Include only if STDC_HEADERS || _LIBC.
90925         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
90926         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
90927         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
90928         (__set_errno): Define this macro if <errno.h> doesn't.
90929         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
90930         Define these macros if <stdio.h> doesn't.
90931         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
90932         Define these macros if <sys/stat.h>
90933         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
90934         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
90935         __xstat64): Define if not _LIBC.
90936         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
90937         (__gen_tempname): Invoke gettimeofday only if
90938         HAVE_GETTIMEOFDAY || _LIBC;
90939         otherwise, fall back on plain "time".
90940         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
90941
90942         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
90943
90944         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
90945
90946 2001-02-18  Paul Eggert  <eggert@twinsun.com>
90947
90948         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
90949
90950 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90951
90952         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
90953         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
90954         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
90955         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90956
90957 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90958
90959         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
90960         Remove workaround macros for hosts that have mbrtowc but not
90961         mbstate_t, as we now insist on proper declarations for both
90962         before using mbrtowc.
90963
90964 2001-02-17  Jim Meyering  <meyering@lucent.com>
90965
90966         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
90967         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
90968         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
90969         UnixWare 7.1.1.
90970
90971         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
90972         rather than AC_CACHE_VAL.
90973
90974 2001-02-17  Jim Meyering  <meyering@lucent.com>
90975
90976         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
90977         around included file name.
90978
90979         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
90980
90981         * lib/strftime.c: Update from GNU libc (the only changes were to
90982         comments).
90983
90984 2001-02-17  Jim Meyering  <meyering@lucent.com>
90985
90986         * lib/regex.c: Update from libc.
90987
90988 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
90989
90990         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
90991         clash.
90992
90993 2001-02-16  Paul Eggert  <eggert@twinsun.com>
90994
90995         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
90996         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
90997         Reported by Mark Hounschell via Paul Eggert.
90998
90999 2001-02-07  Jim Meyering  <meyering@lucent.com>
91000
91001         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91002
91003 2001-02-05  Jim Meyering  <meyering@lucent.com>
91004
91005         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91006         it includes the patch required for `large file' support with at least
91007         HP-UX's 10.20 /bin/cc.
91008
91009 2001-02-03  Jim Meyering  <meyering@lucent.com>
91010
91011         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91012         AS_IF, now that it works once again (mysteriously).
91013         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91014
91015 2001-01-30  Jim Meyering  <meyering@lucent.com>
91016
91017         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91018         * m4/chown.m4: Rename conftestchown to conftest.chown.
91019         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91020         s/conftestdir2/conftest.d2/.
91021         * m4/utimes.m4: s/conftestdata/conftest.data/
91022         Inspired by Pavel Roskin's change in autoconf.
91023
91024 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91025
91026         * lib/config.charset: Update for FreeBSD 4.2.
91027
91028 2001-01-27  Jim Meyering  <meyering@lucent.com>
91029
91030         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91031         a use of AS_IF.
91032         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91033
91034 2001-01-26  Jim Meyering  <meyering@lucent.com>
91035
91036         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91037         quotearg.c includes it.
91038
91039 2001-01-26  Jim Meyering  <meyering@lucent.com>
91040
91041         * lib/quotearg.c: Include stddef.h.
91042         * lib/quote.c: Include stddef.h.
91043         Reported by Axel Kittenberger.
91044
91045         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91046         line in double quotes so that it evokes a better diagnostic.
91047         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91048         Reported by Axel Kittenberger.
91049
91050 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91051
91052         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91053         as if it was a `charset'.
91054
91055 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91056
91057         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91058         has const.
91059
91060 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91061
91062         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91063         to avoid a warning.  Add back 'const' to inptr.
91064
91065 2001-01-20  Jim Meyering  <meyering@lucent.com>
91066
91067         Be sure that headers are checked before used in code compiled
91068         for the type checks.
91069         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91070         In place of that, invoke jm_CHECK_ALL_TYPES.
91071         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91072         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91073         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91074         The check for ssize_t was mistakenly run before the test for unistd.h.
91075
91076         The configure-time check for stdbool.h was missing.
91077         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91078         (jm_PREREQ_HASH): New function.
91079
91080 2001-01-17  Jim Meyering  <meyering@lucent.com>
91081
91082         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91083         for autoconf-2.49c.
91084         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91085
91086 2001-01-16  Jim Meyering  <meyering@lucent.com>
91087
91088         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91089         From Bruno Haible.
91090
91091 2001-01-14  Jim Meyering  <meyering@lucent.com>
91092
91093         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91094         foo and bar.  Create conftestdir/ in the script, not in the C code.
91095         Remove directories in the script, not in the C code.
91096         Remove conftestdir{,2} before trying to create the directory.
91097         Make the entire configure script fail if the mkdir fails.
91098
91099 2001-01-14  Jim Meyering  <meyering@lucent.com>
91100
91101         * lib/rename.c: New file.  From Volker Borchert.
91102         Include stdlib.h, string.h or strings.h, and xalloc.h.
91103         Use strip_trailing_slashes rather than open-coding it.
91104
91105 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91106
91107         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91108
91109 2001-01-03  Jim Meyering  <meyering@lucent.com>
91110
91111         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91112         of local `inptr' to avoid warning with some system declarations of
91113         iconv.
91114
91115 2001-01-02  Volker Borchert  <bt@teknon.de>
91116
91117         * m4/rename.m4: New file.
91118         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91119
91120 2001-01-01  Jim Meyering  <meyering@lucent.com>
91121
91122         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91123         even on systems with utmpx.h.  It's necessary for the declaration of
91124         utmp's ut_user member.  Reported by Andreas Jaeger.
91125
91126         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91127         available. They are required for the declarations of getgrgid and
91128         getpwuid resp.
91129         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91130         Reported by Andreas Jaeger.
91131
91132 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91133
91134         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91135         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91136         so `make install' also works in VPATH builds.
91137
91138 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91139
91140         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91141         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91142         can be used in subdirectories.
91143
91144 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91145
91146         * lib/modechange.c: Do not assume that mode_t uses the
91147         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91148         the other-execute bit of FOO even if S_IXOTH != 1.
91149
91150         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91151         WOTH, XOTH, ALLM): New macros.
91152         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91153          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91154         Use them.
91155         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91156         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91157         (mode_compile):
91158         No need to use uintmax_t; unsigned long is long enough.
91159         Don't bother to get suffix since we don't use it.
91160
91161 2000-12-26  Jim Meyering  <meyering@lucent.com>
91162
91163         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91164         better with autoheader.
91165
91166 2000-12-24  Jim Meyering  <meyering@lucent.com>
91167
91168         * lib/hash.c (is_prime): Return explicit boolean values.
91169         (hash_get_first): Return NULL to appease Irix5.6's 89.
91170         Reported by Nelson Beebe.
91171
91172 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91173
91174         * lib/localcharset.c (locale_charset): Add support for Win32.
91175
91176 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91177
91178         * lib/physmem.h, lib/physmem.c: New files.
91179
91180         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91181         (noinst_HEADERS): Add physmem.h.
91182
91183         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91184         't' for compatibility with Solaris 8 sort.
91185
91186 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91187
91188         * lib/config.charset: Add support for BeOS.
91189
91190 2000-12-17  Jim Meyering  <meyering@lucent.com>
91191
91192         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91193         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91194
91195 2000-12-16  Jim Meyering  <meyering@lucent.com>
91196
91197         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91198         N and M) would have treated it like `chown N:N FILE'.
91199
91200         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91201
91202 2000-12-16  Jim Meyering  <meyering@lucent.com>
91203
91204         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91205         SHELLS_FILE to a file name that's useful on djgpp systems.
91206         Include stdlib.h.
91207         (ADDITIONAL_DEFAULT_SHELLS): Define.
91208         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91209         Based mostly on a patch from Prashant TR.
91210
91211 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91212
91213         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91214         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91215         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91216
91217 2000-12-08  Andreas Schwab  <schwab@suse.de>
91218
91219         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91220         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91221
91222 2000-12-07  Jim Meyering  <meyering@lucent.com>
91223
91224         * lib/stripslash.c (ISSLASH): Define.
91225         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91226         `/'.
91227         From Prashant TR.
91228
91229         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91230         (dir_name_r): Declare this function as static.
91231         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91232         manifest itself on a name containing a mix of slashes and
91233         backslashes.
91234         Make this function work with names starting with a DOS-style
91235         drive letter and colon prefix.
91236         (dir_name): Append `.' if necessary.
91237         Based mostly on patches from Prashant TR and Eli Zaretskii.
91238
91239         * lib/dirname.h (dir_name_r): Remove prototype.
91240
91241 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91242
91243         * m4/off_t-format.m4: Remove this file.
91244         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91245
91246 2000-12-06  Jim Meyering  <meyering@lucent.com>
91247
91248         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91249         replacement strtoull, we may well need the replacement strtoul, too.
91250         Check for declarations of strtoul and strtoull.
91251         Check for strtol.  Mainly as a cue to cause automake to include
91252         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91253         Check for limits.h -- strtol.c needs it.
91254
91255 2000-12-05  Jim Meyering  <meyering@lucent.com>
91256
91257         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91258
91259 2000-12-04  Jim Meyering  <meyering@lucent.com>
91260
91261         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91262         Also include memory.h, stdlib.h, unistd.h if appropriate.
91263         Reported by Andreas Jaeger (conflicting declaration of malloc).
91264
91265 2000-12-02  Jim Meyering  <meyering@lucent.com>
91266
91267         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91268         * m4/jm-macros.m4 (jm_MACROS): require it.
91269
91270 2000-12-02  Jim Meyering  <meyering@lucent.com>
91271
91272         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91273
91274 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91275
91276         * lib/memrchr.c: Include <config.h> before any system include file.
91277
91278 2000-11-30  Jim Meyering  <meyering@lucent.com>
91279
91280         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91281
91282 2000-11-30  Jim Meyering  <meyering@lucent.com>
91283
91284         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91285
91286 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91287
91288         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91289
91290 2000-11-26  Jim Meyering  <meyering@lucent.com>
91291
91292         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91293
91294 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91295
91296         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91297         size of (size_t) -1; it's not portable.
91298
91299 2000-11-17  Jim Meyering  <meyering@lucent.com>
91300
91301         * lib/strstr.c: Update from GNU libc.
91302
91303 2000-11-17  Akim Demaille  <akim@epita.fr>
91304
91305         * lib/obstack.h: Formatting changes.
91306         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91307         prevent type checking.
91308         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91309         cast the value to (void *): assigning a `foo *' to a `void *'
91310         variable is valid.
91311         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91312
91313 2000-11-16  Jim Meyering  <meyering@lucent.com>
91314
91315         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91316
91317 2000-11-11  Jim Meyering  <meyering@lucent.com>
91318
91319         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91320
91321 2000-11-10  Jim Meyering  <meyering@lucent.com>
91322
91323         * lib/obstack.h: Update from GNU libc.
91324         * lib/obstack.c: Likewise.
91325
91326 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
91327
91328         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
91329
91330 2000-11-06  Paul Eggert  <eggert@twinsun.com>
91331
91332         * lib/getusershell.c (setusershell): Use rewind rather than
91333         fseek/fseeko, to avoid configuration hassles with fseeko.
91334         Don't bother opening SHELLS_FILE if shellstream is NULL;
91335         it's not necessary.
91336
91337 2000-11-05  Jim Meyering  <meyering@lucent.com>
91338
91339         * lib/makepath.h (make_dir): Declare.
91340         * lib/makepath.c (make_dir): Remove `static' attribute.
91341         Tweak a comment.
91342
91343 2000-11-04  Jim Meyering  <meyering@lucent.com>
91344
91345         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91346
91347 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91348
91349         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91350         last one in a bucket, advance to the next bucket.
91351
91352 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91353
91354         * lib/fnmatch.c: Do not comment out all the code if we are using
91355         the GNU C library, because in some cases we are replacing buggy
91356         code in the GNU C library itself.
91357
91358 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
91359
91360         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
91361         (regex_compile): Catch bogus \(\1\).
91362
91363 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91364
91365         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
91366         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
91367         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
91368
91369 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91370
91371         * lib/error.h, getline.h, modechange.h:
91372         Remove "2000" from Copyright line, as the file hasn't been
91373         changed this year other than in the copyright notice.
91374
91375         * lib/xalloc.h: Add "2000" to Copyright line, as this file
91376         was changed this year.
91377
91378 2000-10-29  Jim Meyering  <meyering@lucent.com>
91379
91380         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
91381         renaming.
91382         * m4/ls-mntd-fs.m4: Likewise
91383
91384 2000-10-29  Jim Meyering  <meyering@lucent.com>
91385
91386         * lib/xstat.in: Fix grammar in comment.
91387
91388 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
91389
91390         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
91391         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
91392         doesn't define __restrict_arr.
91393
91394 2000-10-28  Jim Meyering  <meyering@lucent.com>
91395
91396         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
91397         (jm_PREREQ_MEMCHR): New function.
91398
91399 2000-10-28  Jim Meyering  <meyering@lucent.com>
91400
91401         * lib/memchr.c: Update from libc.
91402         Adjust for portability:
91403         [HAVE_STDLIB_H]: Include stdlib.h.
91404         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
91405         Undef __memchr, too.
91406         [!weak_alias]: Define __memchr to memchr.
91407
91408         * lib/regex.c: Update from libc.
91409         * lib/regex.h: Likewise.
91410         * lib/getopt1.c: Likewise.
91411         * lib/memcmp.c: Likewise.
91412
91413         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
91414         Avoid using fseek, when possible -- it's broken by design.
91415         Patch by Ulrich Drepper.
91416
91417 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
91418
91419         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
91420         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
91421         Giving in to popular pressure to shut up the compiler with casts.
91422
91423 2000-10-26  Jim Meyering  <meyering@lucent.com>
91424
91425         * lib/strftime.c: Update from libc.
91426
91427 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
91428
91429         * regex.c: More `unsigned char' -> `re_char' changes.
91430         Also change several `int' into `re_wchar_t'.
91431         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
91432         (PUSH_FAILURE_POINTER): Don't cast any more.
91433         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
91434         We want GCC to complain, since this piece of code makes
91435         re_match non-reentrant, which *should* be fixed.
91436         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
91437         (EXTEND_BUFFER): Use RETALLOC.
91438         (SET_LIST_BIT): Don't cast.
91439         (re_wchar_t): New type.
91440         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
91441         that those two functions will always properly return.
91442         (IMMEDIATE_QUIT_CHECK): Cast to void.
91443         (analyse_first): Use recursion rather than an explicit stack.
91444         (re_compile_fastmap): Can't fail anymore.
91445         (re_search_2): Don't check re_compile_fastmap for failure.
91446         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
91447         Now also sets the new value (passed in a new argument).
91448         (re_match_2_internal): Use it.
91449         Also, use a new var `reg' of type size_t when looping through regs
91450         rather than reuse the inappropriate `mcnt'.
91451
91452 2000-10-25  Jim Meyering  <meyering@lucent.com>
91453
91454         * lib/obstack.c: Update from libc.
91455
91456 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
91457
91458         * regex.c (regex_compile): Change the way of handling a range from
91459         a char less than 256 to a char not less than 256.
91460
91461 2000-10-24  Andrew Innes  <andrewi@gnu.org>
91462
91463         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
91464         NT-Emacs only.
91465         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
91466         so that re_search functions only quit when callers expect them to.
91467
91468 2000-10-23  Jim Meyering  <meyering@lucent.com>
91469
91470         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
91471         wrong.  That set_locale call must not have any side effects.
91472         From Paul Eggert.
91473
91474 2000-10-22  Jim Meyering  <meyering@lucent.com>
91475
91476         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
91477         [CYCLIC]: Remove now-unused definition.
91478
91479         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
91480         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
91481         Suggestion from Ulrich Drepper.
91482
91483 2000-10-21  Jim Meyering  <meyering@lucent.com>
91484
91485         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
91486         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
91487         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
91488
91489 2000-10-21  Jim Meyering  <meyering@lucent.com>
91490
91491         * lib/dirname.c (memrchr): Declare if necessary.
91492         (dir_name): Remove the restriction that there be no
91493         trailing slashes.  Now, this code skips past them, effectively
91494         ignoring them.
91495         [TEST_DIRNAME] (main): New unit tests.
91496
91497         * lib/memrchr.c: New file from GNU libc.
91498         Undef __memrchr, too.
91499         [!weak_alias]: Define __memrchr to memrchr.
91500         Guard weak_alias use with `#ifdef weak_alias'.
91501
91502 2000-10-21  Jim Meyering  <meyering@lucent.com>
91503
91504         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
91505         (dir_name): Use dir_name_r.
91506         * lib/dirname.h (dir_name_r): Declare it.
91507
91508 2000-10-17  Jim Meyering  <meyering@lucent.com>
91509
91510         * lib/quote.h (PARAMS): Define and use.
91511         Reported by Akim Demaille.
91512
91513         * lib/getopt.c: Update from libc.
91514
91515 2000-10-16  Jim Meyering  <meyering@lucent.com>
91516
91517         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
91518         setlocale.
91519         From Jan Fedak.
91520
91521 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
91522
91523         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
91524
91525 2000-09-25  Jim Meyering  <meyering@lucent.com>
91526
91527         * lib/md5.h (rol): Define (from GnuPG).
91528
91529         * lib/sha.c: Give credit (GnuPG) where due.
91530         (M): Use rol rather than open-coding it.
91531         Add a FIXME comment.
91532
91533 2000-09-21  Jim Meyering  <meyering@lucent.com>
91534
91535         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
91536         Reported by Michael Stone.
91537
91538 2000-09-20  Jim Meyering  <meyering@lucent.com>
91539
91540         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
91541         (noinst_HEADERS): Add sha.h.
91542         Based on code from Scott G. Miller and from GnuPG.
91543
91544 2000-09-18  Jim Meyering  <meyering@lucent.com>
91545
91546         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
91547         LIBS. Otherwise, everyone ends up linking with -lelf for some
91548         configurations.
91549         Reported by Mike Stone.
91550
91551 2000-09-15  Jim Meyering  <meyering@lucent.com>
91552
91553         * lib/regex.c: Update from libc.
91554
91555 2000-09-10  Jim Meyering  <meyering@lucent.com>
91556
91557         * lib/getopt.c (_getopt_internal): Update from glibc.
91558
91559 2000-09-09  Jim Meyering  <meyering@lucent.com>
91560
91561         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
91562         think it should be used as a general replacement for isascii.
91563         * lib/fnmatch.c: Likewise.
91564         * lib/mbswidth.c: Likewise
91565         * lib/regex.c: Likewise.
91566
91567         Don't use atoi.
91568         * lib/userspec.c: Include sys/param.h and limits.h.
91569         Include xstrtol.h.
91570         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91571         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
91572         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
91573         UID, GID.  Check range.
91574
91575 2000-09-06  Jim Meyering  <meyering@lucent.com>
91576
91577         * lib/getopt.c (_getopt_internal): Update from glibc.
91578
91579 2000-08-30  Jim Meyering  <meyering@lucent.com>
91580
91581         * lib/strftime.c: Merge in changes from GNU libc.
91582
91583 2000-08-26  Jim Meyering  <meyering@lucent.com>
91584
91585         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
91586         * m4/fpending.m4: New file.
91587
91588 2000-08-26  Jim Meyering  <meyering@lucent.com>
91589
91590         * lib/closeout.c: Include "__fpending.h".
91591         (close_stdout_status): Return right away if there's nothing to flush.
91592
91593         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
91594         * lib/__fpending.c: New file.
91595         * lib/__fpending.h: New file.
91596
91597 2000-08-20  Jim Meyering  <meyering@lucent.com>
91598
91599         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
91600         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
91601         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
91602
91603 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
91604
91605         Improve fileutils installation on systems where running
91606         programs (like install) can't be unlinked.
91607         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
91608         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
91609
91610 2000-08-07  Paul Eggert  <eggert@twinsun.com>
91611
91612         Standardize on "memory exhausted" instead of "Memory exhausted"
91613         or "virtual memory exhausted".
91614         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
91615         "virtual memory exhausted".
91616         * lib/same.c (same_name): Invoke xalloc_die instead of printing
91617         our own message.
91618         * lib/userspec.c (parse_user_spec): Likewise.
91619         * lib/bumpalloc.h: comment fix
91620         * lib/same.c, userspec.c: Include xalloc.h.
91621
91622         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
91623         not char *const and pointing to a constant array.
91624         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
91625         (xrealloc): Comment fix.
91626
91627         * lib/userspec.c (parse_user_spec):
91628         Don't translate a message until just before returning,
91629         to avoid unnecessary translation.
91630
91631 2000-08-07  Jim Meyering  <meyering@lucent.com>
91632
91633         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
91634         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
91635         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
91636         getgroups.c, gethostname.c, getopt.h, group-member.c,
91637         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
91638         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
91639         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
91640         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
91641         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
91642         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
91643         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
91644         yesno.c: Back out Copyright date changes for each file with no change
91645         this year.  This eases coordination with other programs using the same
91646         source code modules.  From Paul Eggert.
91647
91648 2000-08-06  Paul Eggert  <eggert@twinsun.com>
91649
91650         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
91651         not char, for compatibility with glibc 2.1.3 strftime.c.
91652
91653 2000-08-03  Greg McGary  <greg@mcgary.org>
91654
91655         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
91656         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
91657         (EXTEND_BUFFER): Use them.
91658
91659 2000-08-01  Jim Meyering  <meyering@lucent.com>
91660
91661         * lib/dirname.c (ISSLASH): Define.
91662         (BACKSLASH_IS_PATH_SEPARATOR): Define.
91663         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
91664         both `\' and `/' may be use as path separators.
91665         Based on a patch from Prashant TR.
91666
91667 2000-07-31  Paul Eggert  <eggert@twinsun.com>
91668
91669         * lib/quotearg.c (quotearg_n_options): Don't make the initial
91670         slot vector a constant, since it might get modified.
91671
91672 2000-07-31  Jim Meyering  <meyering@lucent.com>
91673
91674         * lib/xmalloc.c: Use `virtual memory exhausted', not
91675         `Memory exhausted'.
91676         * lib/obstack.c (print_and_abort): Likewise.
91677
91678 2000-07-30  Paul Eggert  <eggert@twinsun.com>
91679
91680         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
91681         buffer, so that the caller can always quote one small
91682         component of a "memory exhausted" message in slot 0.
91683         From a suggestion by Jim Meyering.
91684
91685 2000-07-30  Jim Meyering  <meyering@lucent.com>
91686
91687         * lib/makepath.c (make_path): Quote the other instance, too.
91688
91689         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
91690         (STATIC_BUF_SIZE): Define.
91691         (quotearg_n_options): Use only statically allocated storage when
91692         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
91693         than STATIC_BUF_SIZE.
91694
91695 2000-07-29  Jim Meyering  <meyering@lucent.com>
91696
91697         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
91698         * lib/dirname.c (dir_name): Likewise.
91699
91700         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
91701         `/'.
91702
91703         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
91704         (dir_name): Assert that there are no trailing slashes.
91705
91706 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
91707
91708         * lib/mbswidth.h (mbswidth): Add a flags argument.
91709         (mbswidth): New declaration.
91710         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
91711         * lib/mbswidth.c (mbswidth): Add a flags argument.
91712         (mbsnwidth): New function.
91713
91714 2000-07-24  Jim Meyering  <meyering@lucent.com>
91715
91716         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
91717
91718 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91719
91720         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
91721
91722 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91723
91724         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
91725         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
91726         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
91727         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
91728         invoke multibyte primitives.
91729
91730 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91731
91732         * lib/quotearg.c:
91733         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
91734         so that mbstate_t is always defined.
91735
91736         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
91737         be 1 in at least one GCC installation, and this configuration
91738         error is likely to be common.  Ignoring MB_LEN_MAX hurts
91739         performance on hosts that have mbrtowc but have only unibyte
91740         locales, but I assume these hosts are rare.
91741
91742 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91743
91744         * lib/mbswidth.c (_XOPEN_SOURCE):
91745         Don't define; this causes problems on Solaris 7.
91746         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
91747
91748 2000-07-23  Jim Meyering  <meyering@lucent.com>
91749
91750         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
91751         too: getgrgid, getpwuid, getuid.
91752
91753 2000-07-23  Jim Meyering  <meyering@lucent.com>
91754
91755         * lib/basename.c (base_name): Add an assertion.
91756
91757 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
91758
91759         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
91760         shadow its mbsinit function.
91761
91762 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
91763
91764         * lib/mbswidth.h: New file.
91765         * lib/mbswidth.c: New file.
91766         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
91767         (noinst_HEADERS): Add mbswidth.h.
91768
91769 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
91770
91771         * lib/config.charset: Add support for FreeBSD. Improve support for
91772         HP-UX and IRIX 6.
91773
91774 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
91775
91776         * m4/mbswidth.m4: New file.
91777         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
91778
91779 2000-07-15  Jim Meyering  <meyering@lucent.com>
91780
91781         * lib/makepath.c: Include quote.h.
91782         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
91783         corresponding argument in a `quote (...)' call.
91784         Give better diagnostics.
91785
91786         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
91787         (noinst_HEADERS): Add quote.h.
91788
91789         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
91790         from tar's src/misc.c.
91791         * lib/quote.h: New file.  Prototypes for same.
91792
91793 2000-07-14  Paul Eggert  <eggert@twinsun.com>
91794
91795         From a suggestion by Bruno Haible.
91796         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
91797         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
91798         to decide whether to define the BeOS workaround macro;
91799         this adjusts to the change to AC_MBSTATE_T.
91800
91801 2000-07-14  Jim Meyering  <meyering@lucent.com>
91802
91803         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
91804         jm_AC_TYPE_UINTMAX_T.
91805
91806 2000-07-13  Paul Eggert  <eggert@twinsun.com>
91807
91808         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
91809
91810         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
91811         quotearg_buffer_restyled): Add support for
91812         clocale_quoting_style.  Undo previous change to
91813         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
91814         and "{RIGHT QUOTATION MARK}" msgids.
91815
91816 2000-07-10  Paul Eggert  <eggert@twinsun.com>
91817
91818         From a suggestion by Bruno Haible.
91819         * m4/mbstate_t.m4 (AC_MBSTATE_T):
91820         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
91821         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
91822         and mbstate_t, to a single-part test that simply defines mbstate_t.
91823         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
91824         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
91825
91826 2000-07-10  Jim Meyering  <meyering@lucent.com>
91827
91828         * m4/strerror_r.m4: Mirror the correction made in autoconf.
91829
91830         * m4/gnu-source.m4: Output to confdefs.h directly.
91831         Suggestion from Akim Demaille.
91832
91833 2000-07-09  Paul Eggert  <eggert@twinsun.com>
91834
91835         The old behavior of quoting `like this' doesn't look good with
91836         newer, ISO-style fonts.  See:
91837         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
91838
91839         Instead, quote "like this" by default.  Let the translator
91840         tailor the locale-specific quoting behavior by providing
91841         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
91842
91843         * lib/quotearg.c (N_): New macro.
91844         (gettext_default): New function.
91845         (quotearg_buffer_restyled): Use
91846         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
91847         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
91848
91849 2000-07-09  Jim Meyering  <meyering@lucent.com>
91850
91851         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
91852         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
91853
91854         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
91855         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
91856
91857 2000-07-09  Jim Meyering  <meyering@lucent.com>
91858
91859         * lib/Most files: Update copyright dates to include 2000.
91860
91861 2000-07-08  Jim Meyering  <meyering@lucent.com>
91862
91863         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
91864         if not defined.
91865         (xgethostname): Remove now-unnecessary #ifdef.
91866         Move declaration of `err' into loop where it's used.
91867
91868 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91869         and Bruno Haible  <haible@clisp.cons.org>
91870
91871         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
91872         only if the test for an object-type mbstate_t fails.  This
91873         prevents us from mistakenly reporting that mbstate_t is a
91874         system object type after we "#define mbstate_t int" to work
91875         around its lack.
91876
91877 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91878         and Bruno Haible  <haible@clisp.cons.org>
91879
91880         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
91881
91882 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91883
91884         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
91885         to strerror_r.
91886         Include <ctype.h> for use of isalpha.
91887
91888 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91889
91890         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
91891         by allocating a larger buffer. Test the gethostname return value for
91892         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
91893         returns an error and ENAMETOOLONG isn't defined.
91894
91895 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91896
91897         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
91898         dimension.
91899
91900 2000-07-04  Jim Meyering  <meyering@lucent.com>
91901
91902         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
91903         of the deprecated AC_CHECKING.
91904
91905 2000-07-04  Jim Meyering  <meyering@lucent.com>
91906
91907         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
91908         Reported by Bruno Haible.
91909
91910 2000-07-04  Jim Meyering  <meyering@lucent.com>
91911
91912         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
91913         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
91914         lacks mbrtowc.
91915
91916 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91917
91918         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
91919         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
91920
91921 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91922         and Bruno Haible  <haible@clisp.cons.org>
91923
91924         * lib/quotearg.c (mbrtowc):
91925         Assign to *pwc, and return 1 only if result is nonzero.
91926         (iswprint): Use ISPRINT when substituting our own mbrtowc.
91927
91928 2000-07-03  Jim Meyering  <meyering@lucent.com>
91929
91930         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
91931
91932 2000-07-03  Jim Meyering  <meyering@lucent.com>
91933
91934         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
91935         This is necessary to get a definition of e.g., UTMP_FILE on
91936         HP-UX 10.20.
91937         From Bob Proulx.
91938
91939 2000-07-02  Jim Meyering  <meyering@lucent.com>
91940
91941         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
91942
91943         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
91944         AC_LIBOBJ(function_name).
91945         * m4/chown.m4: Likewise.
91946         * m4/fnmatch.m4: Likewise.
91947         * m4/ftruncate.m4: Likewise.
91948         * m4/getgroups.m4: Likewise.
91949         * m4/getline.m4: Likewise.
91950         * m4/group-member.m4: Likewise.
91951         * m4/jm-macros.m4: Likewise.
91952         * m4/lstat.m4: Likewise.
91953         * m4/malloc.m4: Likewise.
91954         * m4/memcmp.m4: Likewise.
91955         * m4/nanosleep.m4: Likewise.
91956         * m4/putenv.m4: Likewise.
91957         * m4/realloc.m4: Likewise.
91958         * m4/regex.m4: Likewise.
91959         * m4/stat.m4: Likewise.
91960         * m4/strftime.m4: Likewise.
91961
91962 2000-07-02  Jim Meyering  <meyering@lucent.com>
91963
91964         * lib/quotearg.c (mbstate_t): Don't define here.
91965
91966 2000-07-02  Jim Meyering  <meyering@lucent.com>
91967
91968         * lib/nanosleep.c (SIGCONT): Define if not already defined.
91969
91970 2000-07-01  Jim Meyering  <meyering@lucent.com>
91971
91972         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
91973
91974 2000-07-01  Jim Meyering  <meyering@lucent.com>
91975
91976         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
91977         problem.
91978
91979 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91980
91981         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
91982         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
91983
91984 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91985
91986         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
91987         per change in ../m4/ls-mntd-fs.m4.
91988         (read_filesystem_list): Ignore symbolic links.
91989
91990 2000-06-29  Jim Meyering  <meyering@lucent.com>
91991
91992         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
91993         for declaration of strcmp.
91994
91995         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
91996
91997         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
91998         Avoid warning by casting result to `char *' to remove `const'.
91999
92000 2000-06-28  Jim Meyering  <meyering@lucent.com>
92001
92002         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92003         included by quotearg.c, for which we perform this test.  From
92004         Bruno Haible.
92005
92006 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92007
92008         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92009         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92010         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92011
92012 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92013
92014         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92015
92016 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92017
92018         savedir now sets errno on failure and invokes xmalloc to get memory.
92019         Fix a couple of other minor bugs while we're at it.
92020
92021         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92022         (NAMLEN): Remove macro.
92023         (malloc, realloc): Remove decls.
92024         (stpcpy): Likewise.
92025         ("xalloc.h"): Include.
92026         (NAME_SIZE_DEFAULT): New macro.
92027         (savedir): Use xmalloc / xrealloc to allocate memory.
92028         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92029         Skip "" directory entries.
92030         Use strlen to calculate directory entry length, since the old method
92031         is rarely used these days and isn't worth supporting.
92032         Don't use a pointer after freeing it.
92033         Check for integer overflow when calculating allocation size.
92034         Use memcpy to copy entries, instead of stpcpy.
92035         Set errno properly when returning NULL.
92036         Check for readdir error.
92037
92038 2000-06-26  Jim Meyering  <meyering@lucent.com>
92039
92040         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92041
92042 2000-06-25  Jim Meyering  <meyering@lucent.com>
92043
92044         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92045         Linux header bug when _XOPEN_SOURCE is defined to 500.
92046
92047 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92048
92049         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92050         deficiency.
92051
92052 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92053
92054         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92055         Include xalloc.h.
92056         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92057
92058 2000-06-24  Jim Meyering  <meyering@lucent.com>
92059
92060         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92061         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92062         for which strerror does return char*, but which lacks a conveniently
92063         accessible declaration of the function.  If the compile-test says
92064         strerror_r doesn't work, then resort to a `run'-test that works on
92065         BeOS and segfaults on DEC Unix.
92066
92067 2000-06-24  Jim Meyering  <meyering@lucent.com>
92068
92069         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92070
92071 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92072
92073         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92074         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92075
92076 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92077
92078         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92079         (mbrtowc, mbstate_t): Define substitutes if
92080         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92081         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92082         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92083
92084 2000-06-23  Jim Meyering  <meyering@lucent.com>
92085
92086         * m4/afs.m4: Add missing AC_MSG_RESULT.
92087         Reported by Bruno Haible.
92088
92089         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92090         Suggestion from Bruno Haible.
92091
92092 2000-06-23  Jim Meyering  <meyering@lucent.com>
92093
92094         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92095
92096 2000-06-21  Jim Meyering  <meyering@lucent.com>
92097
92098         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92099
92100 2000-06-21  Jim Meyering  <meyering@lucent.com>
92101
92102         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92103         (noinst_HEADERS): Add getstr.h.
92104
92105         * lib/getline.c (getstr): Move into a separate file.
92106         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92107         the following changes: new parameter, delim2; both delim[12]
92108         parameters have type `int', not `char'.  The latter would lose
92109         with 8-bit delimiters.
92110         * lib/getstr.h: New file.
92111
92112 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92113
92114         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92115         than 1024, return a memory chunk of least possible size, instead
92116         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92117         Use free/xmalloc instead of xrealloc to avoid copying for very long
92118         paths.
92119
92120 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92121
92122         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92123         the empty string.
92124
92125 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92126
92127         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92128         address, not strdup.  Include <stdlib.h> and don't declare free().
92129
92130 2000-06-19  Jim Meyering  <meyering@lucent.com>
92131
92132         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92133
92134 2000-06-18  Jim Meyering  <meyering@lucent.com>
92135
92136         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92137
92138         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92139         `checking whether...' message to be consistent with that of the
92140         lstat test.
92141
92142 2000-06-18  Jim Meyering  <meyering@lucent.com>
92143
92144         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92145         Besides, these days every porting target provides a mkdir function.
92146
92147         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92148         needed. (this snippet comes from src/system.h).
92149
92150 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92151
92152         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92153
92154 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92155
92156         * lib/human.c (adjust_value): New function.
92157         (human_readable_inexact): Apply rounding style even when
92158         printing approximate values.
92159
92160 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92161
92162         * lib/human.c (human_readable_inexact): Allow an input block
92163         size that is not a multiple of the output block size, and vice versa.
92164         Reported by Piergiorgio Sartor.
92165
92166 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92167
92168         * lib/getdate.y (get_date): Apply relative times after time
92169         zone indicator, not before.  Reported by Todd A. Jacobs.
92170
92171 2000-06-13  Jim Meyering  <meyering@lucent.com>
92172
92173         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92174
92175         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92176
92177 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92178
92179         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92180
92181 2000-06-12  Jim Meyering  <meyering@lucent.com>
92182
92183         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92184         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92185         optional argument.
92186         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92187         the optional argument, `lib'.
92188
92189 2000-06-08  Jim Meyering  <meyering@lucent.com>
92190
92191         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92192
92193 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92194
92195         Rewrite largefile configuration so that we don't need to run
92196         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92197         AC_CANONICAL_HOST in configure.in -- jmm]
92198
92199         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92200         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92201         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92202         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92203         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92204         All uses changed.
92205         Instead of inspecting the output of getconf, try to compile the
92206         test program without and with the macro definition.
92207         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92208         for getconf.  Instead, check for the needed flags by compiling
92209         test programs.
92210
92211 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92212
92213         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92214
92215 2000-06-04  Jim Meyering  <meyering@lucent.com>
92216
92217         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92218         SunOS 4.1.4 for which gid_t is an unsigned type.
92219
92220 2000-06-03  Jim Meyering  <meyering@lucent.com>
92221
92222         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92223         now that autoconf requires that.
92224
92225         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92226         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92227         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92228
92229 2000-06-03  Jim Meyering  <meyering@lucent.com>
92230
92231         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92232
92233 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92234
92235         * m4/glibc21.m4: New file.
92236         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92237
92238 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92239
92240         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92241         newer, don't install charset.alias.
92242         * lib/config.charset: Change the Linux/glibc rules so they become empty
92243         on glibc-2.1 or newer.
92244
92245 2000-06-02  Jim Meyering  <meyering@lucent.com>
92246
92247         * lib/mountlist.c: Back out last change.  Instead, do this...
92248         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92249         me_dummy member using the same `ignore'-testing code.
92250         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92251         fs_type strings.
92252         From Mark D. Roth.
92253
92254 2000-05-29  Jim Meyering  <meyering@lucent.com>
92255
92256         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92257         mounts with the `ignore' attribute.  Based on a patch from
92258         Mark D. Roth.
92259
92260 2000-05-28  Jim Meyering  <meyering@lucent.com>
92261
92262         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92263         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92264         * m4/stat.m4: Likewise.
92265         * m4/lstat.m4: Likewise.
92266         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92267
92268         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92269         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92270
92271 2000-05-26  Jim Meyering  <meyering@lucent.com>
92272
92273         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92274
92275 2000-05-24  Jim Meyering  <meyering@lucent.com>
92276
92277         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92278         autoconf requires that.
92279         * m4/lib-check.m4: Likewise.
92280         * m4/jm-macros.m4: Likewise.
92281         * m4/strftime.m4: Likewise.
92282
92283         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92284         AC_CHECK_DECLS, now that autoconf requires that.
92285
92286 2000-05-22  Jim Meyering  <meyering@lucent.com>
92287
92288         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92289         * m4/lstat.m4: Likewise.
92290
92291 2000-05-22  Jim Meyering  <meyering@lucent.com>
92292
92293         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92294
92295 2000-05-20  Jim Meyering  <meyering@lucent.com>
92296
92297         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92298         (jm_PREREQ): Use it.
92299
92300 2000-05-18  Jim Meyering  <meyering@lucent.com>
92301
92302         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92303         back, too, since it may have been modified by allocate_entry.
92304         (hash_delete): Rewrite to use neither the assignment operator
92305         nor the comma operator in an if-expression.
92306
92307 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92308
92309         * lib/closeout.c:
92310         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92311         Remove; no longer needed.
92312         "quotearg.h": Add include.
92313         (file_name): Do not bother to explicitly initialize to NULL; it's less
92314         efficient on some hosts.
92315         (close_stdout_status): Remove test as to whether stdout was already
92316         closed; it breaks for the case "echo x | sort >&-".
92317         Quote file name colons.
92318         Do not assume that _("write error") lacks format strings.
92319
92320 2000-05-15  Jim Meyering  <meyering@lucent.com>
92321
92322         * lib/version-etc.c (version_etc_copyright): Update the copyright
92323         string used in all --version output.
92324
92325 2000-05-14  Jim Meyering  <meyering@lucent.com>
92326
92327         * lib/closeout.c (close_stdout_set_file_name): New function.
92328         (close_stdout_status): Use new file-scoped global.
92329         Return right away if fstat says the stdout file descriptor is invalid.
92330         * lib/closeout.h (close_stdout_set_file_name): Declare.
92331
92332 2000-05-10  Jim Meyering  <meyering@lucent.com>
92333
92334         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92335         (close_stdout_set_status): New function.
92336         * lib/closeout.h (close_stdout_set_status): Declare.
92337
92338 2000-05-09  Jim Meyering  <meyering@lucent.com>
92339
92340         * m4/gettext.m4: Rename this...
92341         * m4/libintl.m4: ...to this.
92342
92343 2000-05-08  Jim Meyering  <meyering@lucent.com>
92344
92345         * lib/long-options.c: Don't include closeout.h.
92346         (parse_long_options): Don't call close_stdout for --version.
92347
92348 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92349
92350         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92351         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92352         2.1.3 bug.  This avoids a clash when files like regex.c define
92353         _GNU_SOURCE.
92354
92355 2000-05-06  Jim Meyering  <meyering@lucent.com>
92356
92357         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
92358         (AC_REPLACE_FUNCS): Add strnlen.
92359
92360         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
92361         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
92362
92363         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
92364         AC_SEARCH_LIBS call for nanosleep.
92365         (LIB_NANOSLEEP): Set and AC_SUBST.
92366
92367 2000-05-06  Jim Meyering  <meyering@lucent.com>
92368
92369         * lib/strnlen.c: Undefine __strnlen and strnlen.
92370         [!weak_alias]: Define __strnlen to strnlen.
92371
92372         * lib/atexit.c: New file, from libiberty.
92373
92374 2000-05-06  Jim Meyering  <meyering@lucent.com>
92375
92376         * lib/closeout.c (close_stdout_status): Also check for errors on the
92377         stderr stream.
92378
92379 2000-05-05  Jim Meyering  <meyering@lucent.com>
92380
92381         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
92382         AC_SEARCH_LIBS call for clock_gettime.
92383         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
92384
92385         * m4/search-libs.m4: Update from autoconf.
92386
92387         su doesn't work on Solaris 2.6.
92388         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
92389         <shadow.h>.  Reported by Dragos Harabor.
92390
92391 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
92392
92393         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
92394         memcpy instead of xmalloc, xrealloc, path_concat.
92395         (locale_charset): Treat empty environment variables as absent.
92396         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
92397
92398 2000-05-04  Jim Meyering  <meyering@lucent.com>
92399
92400         * lib/getopt.c: Update from glibc.
92401         * lib/obstack.c: Likewise.
92402         * lib/obstack.h: Likewise.
92403         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
92404         file
92405
92406         * lib/regex.h: Likewise.
92407         * lib/strndup.c: Likewise.
92408         * lib/strnlen.c: New file, from glibc.
92409
92410 2000-05-03  Jim Meyering  <meyering@lucent.com>
92411
92412         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
92413
92414 2000-05-02  Paul Eggert  <eggert@twinsun.com>
92415
92416         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
92417         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
92418         compile-time test, rather than inspecting host and OS, to
92419         decide whether to define _LARGEFILE_SOURCE.
92420
92421 2000-05-01  Jim Meyering  <meyering@lucent.com>
92422
92423         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
92424
92425         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
92426         Based on a patch from Bruno Haible.
92427
92428 2000-05-01  Jim Meyering  <meyering@lucent.com>
92429
92430         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
92431
92432 2000-04-29  Jim Meyering  <meyering@lucent.com>
92433
92434         * lib/path-concat.c: Declare strdup only if it's not defined.
92435         * lib/canon-host.c: Likewise.
92436
92437 2000-04-28  Jim Meyering  <meyering@lucent.com>
92438
92439         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
92440         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
92441         is included first, then limits.h is included by locale.h by libintl.h.
92442         From John David Anglin.
92443
92444 2000-04-25  Jim Meyering  <meyering@lucent.com>
92445
92446         * lib/makepath.c (S_IRWXUGO): Define.
92447         (make_path): Always perform explicit chmod if MODE specifies any
92448         of the `special' permission bits.  Prompted by a bug report against
92449         install from Mate Wierdl and Joost van Baal.
92450
92451 2000-04-18  Jim Meyering  <meyering@lucent.com>
92452
92453         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
92454         (jm_PREREQ): Use it.
92455
92456 2000-04-18  Jim Meyering  <meyering@lucent.com>
92457
92458         * lib/README: New file.
92459
92460         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
92461         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
92462
92463 2000-04-17  Jim Meyering  <meyering@lucent.com>
92464
92465         Get it right :-)
92466         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
92467         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
92468         Suggestion from Akim Demaille.
92469
92470 2000-04-17  Jim Meyering  <meyering@lucent.com>
92471
92472         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
92473         the definition of it to rpl_strftime also defined-away the system's
92474         declaration.
92475
92476 2000-04-15  Jim Meyering  <meyering@lucent.com>
92477
92478         Use `C' to denote so-called `contiguous' files, the same way
92479         that tar does.
92480         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
92481         (ftypelet): Use S_ISCTG.
92482         From Michael Deutschmann.
92483
92484 2000-04-14  Jim Meyering  <meyering@lucent.com>
92485
92486         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
92487         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
92488         clobbered.
92489
92490 2000-04-14  Jim Meyering  <meyering@lucent.com>
92491
92492         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
92493
92494 2000-04-13  Jim Meyering  <meyering@lucent.com>
92495
92496         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
92497         AH_VERBATIM to insert required #ifndef into config.h.in.
92498         Suggestion from Akim Demaille.
92499
92500 2000-04-12  Jim Meyering  <meyering@lucent.com>
92501
92502         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
92503         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
92504         Christian Krackowizer.
92505
92506         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
92507         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
92508         (AC_SYS_LARGEFILE): Require.
92509         (AM_C_PROTOTYPES): Require.
92510
92511 2000-04-08  Jim Meyering  <meyering@lucent.com>
92512
92513         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
92514         names don't conflict.  Reported by Eli Zaretskii.
92515
92516 2000-04-07  Jim Meyering  <meyering@lucent.com>
92517
92518         * lib/putenv.c: Move inclusion of errno.h so it follows that of
92519         sys/types.h, to work around system header problems on AIX 3.2.5.
92520         From Bruno Haible.
92521
92522 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
92523
92524         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
92525         bug.  Deal with the different error behavior of Irix iconv.
92526
92527 2000-04-05  Paul Eggert  <eggert@twinsun.com>
92528
92529         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
92530         IRIX if the installer said otherwise.
92531
92532 2000-04-05  Jim Meyering  <meyering@lucent.com>
92533
92534         Portability tweaks required for ultrix4.3.
92535         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
92536         (jm_CHECK_DECLS): Add getutent to the list of functions.
92537         (_jm_DECL_HEADERS): Add utmpx.h.
92538         From John David Anglin.
92539
92540         * m4/strftime.m4: Back out the 2000-04-02 change.
92541         Instead of that change, simply undefine putenv in the test program.
92542
92543 2000-04-05  Jim Meyering  <meyering@lucent.com>
92544
92545         Portability tweaks required for ultrix4.3.
92546         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
92547         getutent.
92548         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
92549         * lib/canon-host.c: Declare strdup.
92550         * lib/path-concat.c: Likewise.
92551         From John David Anglin.
92552
92553 2000-04-04  Jim Meyering  <meyering@lucent.com>
92554
92555         Be more DOS 8.3-friendly.
92556         * lib/ref-add.sin: Renamed from ref-add.sed.in.
92557         * lib/ref-del.sin: Renamed from ref-del.sed.in.
92558         * lib/Makefile.am: Reflect renaming.
92559         Reported by Eli Zaretskii.
92560
92561         Use a temporary file name that won't clash with `charset.alias'
92562         in the DOS 8.3 name space.
92563         * lib/Makefile.am (charset_tmp): Define.
92564         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
92565         (uninstall-local): Likewise.
92566         Reported by Eli Zaretskii.
92567
92568 2000-04-03  Jim Meyering  <meyering@lucent.com>
92569
92570         * m4/gettext.m4: Fix typo in comment.
92571
92572         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
92573         textutils/configure.in).  Suggestion from Paul Eggert.
92574         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
92575
92576 2000-04-02  Paul Eggert  <eggert@twinsun.com>
92577
92578         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
92579         variable in the shell rather than using putenv, which isn't
92580         portable.  This avoids the configure-time inter-test dependency
92581         on the potentially-renamed putenv function.
92582
92583 2000-03-30  Paul Eggert  <eggert@twinsun.com>
92584
92585         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
92586         before checking struct stat.st_blksize, so that
92587         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
92588
92589 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92590
92591         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
92592         since strftime.c uses HAVE_STRFTIME to decide whether to use
92593         the underlying strftime.
92594
92595 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92596
92597         * lib/time/strftime.c (my_strftime): Make sure we call the system
92598         strftime, not ourselves, when invoking the underlying strftime.
92599
92600 2000-03-24  Jim Meyering  <meyering@lucent.com>
92601
92602         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
92603         (charset_alias): Define.
92604         (install-exec-local): Factor out common code.
92605         (uninstall-local): Split lines longer than 80.
92606         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
92607         (SUFFIXES): Define.
92608         (.sed.in.sed): New rule.  Don't redirect directly to $@.
92609         (CLEANFILES): Add ref-add.sed and ref-del.sed.
92610
92611 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
92612
92613         * lib/config.charset: Output a line containing "Packages using this
92614         file".
92615         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
92616         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
92617         ref-del.sed): New rules.
92618
92619 2000-03-17  Jim Meyering  <meyering@lucent.com>
92620
92621         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
92622         Otherwise, include <strings.h>
92623
92624 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
92625
92626         * lib/unicodeio.c (utf8_wctomb): New function.
92627         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
92628         format instead of in UCS-4 with platform dependent endianness.
92629
92630 2000-03-10  Jim Meyering  <meyering@lucent.com>
92631
92632         * m4/lib-check.m4: Look for getspnam in -lgen, too.
92633         From Marco Franzen.
92634
92635 2000-03-07  Paul Eggert  <eggert@twinsun.com>
92636
92637         * lib/savedir.c (savedir): Work even if directory size is
92638         negative; this can happen with some screwy NFS configurations.
92639
92640 2000-03-06  Jim Meyering  <meyering@lucent.com>
92641
92642         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
92643         if it's NULL (because we ran out of memory).  From Bruno Haible.
92644
92645 2000-03-05  Jim Meyering  <meyering@lucent.com>
92646
92647         * lib/localcharset.c ("path-concat.h"): Include.
92648         (get_charset_aliases): Use path_concat instead of ANSI string
92649         concatenation.
92650
92651         * lib/unicodeio.h (PARAMS): Define.
92652         Use it to guard prototype.
92653
92654 2000-03-04  Jim Meyering  <meyering@lucent.com>
92655
92656         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
92657         for lib/localcharset.c.
92658
92659 2000-03-04  Jim Meyering  <meyering@lucent.com>
92660
92661         * lib/Makefile.am (install-exec-local): Create $(libdir) before
92662         installing into it.
92663         (uninstall-local): Uncomment this rule so `make distcheck' works
92664         once again.
92665
92666         * lib/unicodeio.c (<errno.h>): Include it.
92667         (errno): Declare if not defined.
92668
92669         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
92670
92671         * lib/config.charset: New version, incorporating remarks from a linux
92672         i18n mailing list.  From Bruno Haible.
92673
92674 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
92675
92676         * m4/codeset.m4: New file.
92677         * m4/iconv.m4: New file.
92678         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
92679
92680 2000-03-03  Jim Meyering  <meyering@lucent.com>
92681
92682         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
92683
92684 2000-03-02  Jim Meyering  <meyering@lucent.com>
92685
92686         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
92687         the messages come out on separate lines.
92688
92689         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
92690         rather than jm_CHECK_DECLARATIONS.
92691         * m4/decl.m4: Remove now-unused file.
92692
92693         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
92694         geteuid.
92695
92696 2000-03-02  Jim Meyering  <meyering@lucent.com>
92697
92698         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
92699
92700 2000-03-01  Jim Meyering  <meyering@lucent.com>
92701
92702         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
92703         * lib/unicodeio.c: Likewise.
92704
92705 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
92706
92707         * lib/config.charset: New file.
92708         * lib/localcharset.c: New file.
92709         * lib/unicodeio.h, lib/unicodeio.c: New files.
92710         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
92711         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
92712         (noinst_HEADERS): Add unicodeio.h.
92713         (all-local, install-exec-local, charset.alias): New targets.
92714
92715 2000-02-28  Paul Eggert  <eggert@twinsun.com>
92716
92717         * lib/quotearg.c (ALERT_CHAR): New macro.
92718         (quotearg_buffer_restyled): Use it.
92719
92720 2000-02-27  Jim Meyering  <meyering@lucent.com>
92721
92722         * m4/check-decl.m4: Add getenv to the list.
92723
92724 2000-02-27  Jim Meyering  <meyering@lucent.com>
92725
92726         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
92727         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
92728
92729         * lib/backupfile.c: Guard inclusion of stdlib.h with
92730         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
92731         Declare malloc if needed.
92732
92733         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
92734         `#ifndef HAVE_DECL..'
92735         now that autoconf always defines the HAVE_DECL_ symbols.
92736         * lib/human.c: Likewise.
92737         * lib/same.c: Likewise.
92738         * lib/strtoumax.c: Likewise.
92739
92740         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
92741         declaration check was not run.
92742         * lib/hash.c: Likewise.
92743         * lib/human.c: Likewise.
92744         * lib/same.c: Likewise.
92745         * lib/strtoumax.c: Likewise.
92746
92747         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
92748         `.', then first look up the entire `.'-containing string as a login
92749         name.
92750
92751 2000-02-23  Jim Meyering  <meyering@lucent.com>
92752
92753         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
92754         in place of my hack.
92755
92756 2000-02-18  Paul Eggert  <eggert@twinsun.com>
92757
92758         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
92759         (textint): New typedef.
92760         (parser_control): Member year changed from int to textint.
92761         All uses changed.
92762         (YYSTYPE): Removed; replaced by %union with int and textint members.
92763         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
92764         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
92765         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
92766         (tSNUMBER, tUNUMBER): Now of type <textintval>.
92767         (date, number, to_year): Use width of number in digits, not its value,
92768         to determine whether it's a 2-digit year, or a 2-digit time.
92769         (yylex): Store number of digits of numeric tokens.
92770         Reported by John Kendall.
92771
92772         (parser_control): Changed from struct parser_control to typedef (for
92773         consistency).  All uses changed.
92774
92775         (tID): Removed; not used.
92776         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
92777
92778 2000-02-14  Paul Eggert  <eggert@twinsun.com>
92779
92780         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
92781         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
92782
92783 2000-02-12  Jim Meyering  <meyering@lucent.com>
92784
92785         * lib/userspec.c (ISDIGIT): Define it.
92786         (isdigit): Remove definition.
92787         (is_number): Use ISDIGIT, not isdigit.
92788         <libintl.h>: Include.
92789         (_ and N_): Define.
92790         (parse_user_spec): Mark translatable strings.
92791
92792 2000-02-10  Jim Meyering  <meyering@lucent.com>
92793
92794         With these changes, nanosleep.[ch] are finally enough like the other
92795         lib/* replacement files to compile on a few more losing systems.
92796
92797         * lib/nanosleep.h: Don't include config.h.
92798         Remove prototype from declaration of nanosleep.
92799         (PARAMS): Remove now-unneeded definition.
92800         * lib/nanosleep.c: #undef nanosleep.
92801         (rpl_nanosleep): Rename from nanosleep.
92802
92803 2000-02-10  Jim Meyering  <meyering@lucent.com>
92804
92805         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
92806         gnu_nanosleep to rpl_nanosleep.
92807
92808 2000-02-09  Jim Meyering  <meyering@lucent.com>
92809
92810         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
92811         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
92812
92813 2000-02-08  Akim Demaille  <akim@epita.fr>
92814
92815         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
92816         `[' and `]' and remove uses of `changequote'.
92817         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
92818         (AC_SYS_LARGEFILE): Likewise.
92819         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
92820         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
92821         of changequote.
92822         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
92823         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
92824         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
92825         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
92826
92827 2000-02-05  Jim Meyering  <meyering@lucent.com>
92828
92829         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
92830         Remove explicit use of AC_HEADER_TIME.  It is required by
92831         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
92832         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
92833         in autoconf whereby the expansion of the latter ended up preceding
92834         the expansion of its prerequisite, AC_HEADER_TIME.
92835         Reported by Volker Borchert.
92836
92837 2000-02-03  Jim Meyering  <meyering@lucent.com>
92838
92839         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
92840
92841 2000-02-03  Jim Meyering  <meyering@lucent.com>
92842
92843         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
92844         rather than with `#if HAVE_UTMPNAME'.
92845
92846 2000-02-02  Jim Meyering  <meyering@lucent.com>
92847
92848         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
92849         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
92850         Reported by Eli Zaretskii.
92851
92852 2000-02-01  Jim Meyering  <meyering@lucent.com>
92853
92854         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
92855
92856 2000-01-31  Jim Meyering  <meyering@lucent.com>
92857
92858         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
92859         functions.  Add the time.h and sys/time.h headers along with the
92860         AC_REQUIRE'ment of AC_HEADER_TIME.
92861
92862 2000-01-31  Jim Meyering  <meyering@lucent.com>
92863
92864         * lib/nanosleep.h (nanosleep): Guard declaration with
92865         `#if ! HAVE_DECL_NANOSLEEP'.
92866         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
92867         the declaration in that vendor's sys/timers.h.
92868         Reported by Christian Krackowizer.
92869
92870         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
92871         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
92872         (ISPRINT): Likewise.
92873         Reported by Tom Tromey.
92874
92875 2000-01-30  Jim Meyering  <meyering@lucent.com>
92876
92877         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
92878
92879         * m4/prereq.m4 (utmp_includes): Define.
92880         Check for ut_user and ut_name members in both struct utmpx
92881         and struct utmp.
92882
92883 2000-01-30  Jim Meyering  <meyering@lucent.com>
92884
92885         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
92886         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
92887         header files where only utmpx.ut_user is declared.
92888
92889         * lib/readutmp.h (UT_USER): Define.
92890
92891 2000-01-29  Jim Meyering  <meyering@lucent.com>
92892
92893         * m4/lib-check.m4: New file containing library-related checks from
92894         fileutils and sh-utils (textutils had none).
92895
92896 2000-01-28  Jim Meyering  <meyering@lucent.com>
92897
92898         * m4/perl.m4: Change format of warning message to look more like that
92899         from the missing script.  Suggestion from François Pinard.
92900
92901 2000-01-25  Jim Meyering  <meyering@lucent.com>
92902
92903         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
92904         well as time.h in the compile check.
92905         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
92906         Fix typo in cross-compiling case: s/yes/no/.
92907
92908 2000-01-23  Jim Meyering  <meyering@lucent.com>
92909
92910         * m4/jm-macros.m4: Move df-related tests here from
92911         fileutils/configure.in
92912
92913         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
92914         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
92915
92916         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
92917         s/space/ac_fsusage_space/.
92918         (jm_FILE_SYSTEM_USAGE): Take two parameters.
92919
92920         * m4/ftruncate.m4: New file (derived from part of
92921         fileutils/configure.in).
92922         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
92923         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
92924
92925         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
92926         AC_SUBST these here, rather than just in sh-util/configure.in, so
92927         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
92928         all the same.
92929         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
92930         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
92931         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
92932         (AC_SUBST(POW_LIBM)): Likewise.
92933         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
92934
92935 2000-01-23  Jim Meyering  <meyering@lucent.com>
92936
92937         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
92938         obstack.c.
92939
92940 2000-01-22  Jim Meyering  <meyering@lucent.com>
92941
92942         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
92943
92944         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
92945
92946         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
92947         configure.in
92948         (AC_CHECK_HEADERS): Likewise for sh-utils.
92949         (AC_CHECK_HEADERS): Likewise for textutils.
92950         Merge the three lists of headers.
92951
92952         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
92953         from fileutils' configure.in.
92954
92955         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
92956         code. Moved tests into their own function (_jm_DECL_HEADERS) in
92957         check-decl.m4.
92958
92959         * m4/check-decl.m4: Use #if rather than #ifdef.
92960         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
92961         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
92962         (_jm_DECL_HEADERS): Define new function.
92963         (jm_CHECK_DECLARATIONS): Require it.
92964
92965 2000-01-22  Jim Meyering  <meyering@lucent.com>
92966
92967         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
92968         [! HAVE_DECL_STRTOULL]: Declare strtoull.
92969         Required for some AIX systems.  Reported by Christian Krackowizer.
92970         [TESTING] (main): New function.
92971
92972         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
92973         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
92974         letters.
92975
92976         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
92977         iswprint.
92978
92979         * lib/strverscmp.c (ISDIGIT): Define.
92980         (strverscmp): Use ISDIGIT, not isdigit.
92981
92982 2000-01-19  Jim Meyering  <meyering@lucent.com>
92983
92984         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
92985         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
92986         defines `struct timespec' in <sys/time.h>
92987
92988         * m4/c-bs-a.m4: Remove uses of changequote altogether.
92989         Thanks to Akim for explaining.
92990
92991 2000-01-17  Paul Eggert  <eggert@twinsun.com>
92992
92993         * lib/nanosleep.c (nanosleep):
92994         Don't use SA_INTERRUPT to decide whether to call sigaction, as
92995         POSIX.1 doesn't require SA_INTERRUPT and some systems
92996         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
92997         it's been part of POSIX.1 since day 1 (in 1988).
92998
92999 2000-01-17  Jim Meyering  <meyering@lucent.com>
93000
93001         * lib/interlock: Remove unused file.  Reported by François Pinard.
93002
93003 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93004
93005         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93006         alert, backslash, formfeed, and vertical tab unnecessarily in
93007         shell quoting style.
93008
93009 2000-01-16  Jim Meyering  <meyering@lucent.com>
93010
93011         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93012         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93013         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93014         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93015
93016 2000-01-16  Jim Meyering  <meyering@lucent.com>
93017
93018         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93019         because the latter didn't work.
93020
93021 2000-01-15  Jim Meyering  <meyering@lucent.com>
93022
93023         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93024         (AC_REPLACE_FUNCS): Add memcpy and memset.
93025         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93026         Add strpbrk.
93027         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93028
93029 2000-01-12  Jim Meyering  <meyering@lucent.com>
93030
93031         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93032         (jm_PREREQ): Use it.
93033         (jm_PREREQ_READUTMP): New macro.
93034         (jm_PREREQ): Use it.
93035
93036 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93037
93038         Quote multibyte characters correctly.
93039         * m4/c-bs-a.m4: New file.
93040         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93041         (jm_PREREQ): Use it.
93042
93043 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93044
93045         * m4/uintmax_t.m4: Port to autoconf 2.13.
93046
93047 2000-01-08  Jim Meyering  <meyering@ascend.com>
93048
93049         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93050         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93051
93052 2000-01-04  Jim Meyering  <meyering@ascend.com>
93053
93054         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93055         jm_STRUCT_DIRENT_D_TYPE.
93056         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93057         jm_STRUCT_DIRENT_D_INO.
93058         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93059         jm_STRUCT_UTIMBUF.
93060         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93061         renamings.
93062         * m4/utime.m4: Likewise.
93063
93064         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93065         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93066
93067 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93068
93069         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93070         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93071
93072 2000-01-02  Jim Meyering  <meyering@ascend.com>
93073
93074         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93075         remember if this is necessary.
93076
93077 1999-12-26  Jim Meyering  <meyering@ascend.com>
93078
93079         * m4/jm-macros.m4: Use it here.
93080         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93081
93082 1999-12-23  Jim Meyering  <meyering@ascend.com>
93083
93084         * m4/jm-macros.m4: Check for clock_gettime (moved from
93085         fileutils/configure.in)
93086         Check for gettimeofday.
93087
93088 1999-12-20  Jim Meyering  <meyering@ascend.com>
93089
93090         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93091         autoconf-2.14a-1999-12-20.
93092
93093 1999-12-19  Jim Meyering  <meyering@ascend.com>
93094
93095         * m4/lstat-slash.m4: New file.
93096         * m4/jm-macros.m4: Use the new macro:
93097         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93098
93099 1999-12-07  Jim Meyering  <meyering@ascend.com>
93100
93101         * m4/perl.m4: Require that File::Compare be available, too.
93102         Too many systems seem to lack it.
93103
93104         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93105         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93106
93107 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93108
93109         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93110         problem with the QNX 4.25 shell, which doesn't propagate exit
93111         status of failed commands inside shell assignments.
93112
93113 1999-11-17  Jim Meyering  <meyering@ascend.com>
93114
93115         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93116
93117 1999-11-07  Jim Meyering  <meyering@ascend.com>
93118
93119         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93120
93121 1999-11-06  Jim Meyering  <meyering@ascend.com>
93122
93123         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93124         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93125
93126 1999-11-05  Jim Meyering  <meyering@ascend.com>
93127
93128         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93129         configure.in of textutils, fileutils, and sh-utils into this one
93130         (shared between those packages) file.
93131         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93132         AC_STRUCT_ST_BLKSIZE.
93133
93134 1999-11-03  Jim Meyering  <meyering@ascend.com>
93135
93136         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93137         of AC_CHECK_TYPE checks includes unistd.h.
93138         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93139         Suggestion from Akim Demaille.
93140
93141 1999-10-30  Jim Meyering  <meyering@ascend.com>
93142
93143         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93144         m4-quoted string.
93145         * m4/ls-mntd-fs.m4: Likewise.
93146         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93147         * m4/jm-winsz1.m4: Likewise.
93148
93149         * m4/const.m4: Remove file, since the fix made it into the experimental
93150         version of autoconf.
93151         * m4/mktime.m4: Likewise.
93152
93153         * m4/check-type.m4: Remove file, now that the latest version of
93154         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93155
93156         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93157         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93158         AC_CHECK_TYPE.
93159
93160 1999-10-04  Jim Meyering  <meyering@ascend.com>
93161
93162         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93163
93164 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93165
93166         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93167         2.95.1 bug with HP-UX 10.20.
93168
93169 1999-09-17  Jim Meyering  <meyering@ascend.com>
93170
93171         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93172         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93173         due to missing strdup (against sh-utils-2.0).
93174
93175 1999-08-29  Jim Meyering  <meyering@ascend.com>
93176
93177         * m4/jm-macros.m4: Require jm_BISON.
93178         * m4/bison.m4: New file.
93179
93180 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93181
93182         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93183         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93184
93185 1999-08-05  Jim Meyering  <meyering@ascend.com>
93186
93187         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93188         to avoid conflicts with `conftest' on 8+3 filesystems.
93189         Suggestion from Eli Zaretskii.
93190
93191 1999-08-04  Jim Meyering  <meyering@ascend.com>
93192
93193         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93194         fileutils and sh-utils (textutils's getline test was inadequate).
93195         (AM_FUNC_GETLINE): Run this test.
93196         (AC_CHECK_FUNCS): Check for getdelim.
93197         Reported by Bob Proulx.
93198
93199 1999-08-02  Jim Meyering  <meyering@ascend.com>
93200
93201         * m4/jm-macros.m4: Add a comment.
93202
93203 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93204
93205         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93206         <inttypes.h> defines strtoumax as a macro (and not as a
93207         function).
93208
93209 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93210
93211         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93212         that we can shift, multiply and divide unsigned long long
93213         values; Ultrix cc can't do it.
93214
93215 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93216
93217         * m4/mktime.m4: New file, which is a preview of what should appear
93218         in the next public autoconf release.
93219
93220 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93221
93222         * m4/lfs.m4: Remove this file.
93223         * m4/largefile.m4: New file.  It contains the old contents of
93224         lfs.m4, except that all names with prefix AC_LFS have been
93225         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93226         compatible with future autoconf versions.  Also, some minor m4
93227         quoting problems have been fixed.
93228
93229 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93230
93231         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93232         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93233         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93234         and simplify the shell code.
93235
93236 1999-08-01  Jim Meyering  <meyering@ascend.com>
93237
93238         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93239         m4.
93240
93241 1999-07-20  Jim Meyering  <meyering@ascend.com>
93242
93243         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93244
93245 1999-07-15  Jim Meyering  <meyering@ascend.com>
93246
93247         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93248
93249 1999-05-22  Jim Meyering  <meyering@ascend.com>
93250
93251         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93252
93253 1999-05-20  Jim Meyering  <meyering@ascend.com>
93254
93255         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93256         Add a colon after each `then' in case $4 is empty.
93257
93258 1999-05-16  Jim Meyering  <meyering@ascend.com>
93259
93260         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93261
93262 1999-05-10  Jim Meyering  <meyering@ascend.com>
93263
93264         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93265
93266         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93267         AC_FUNC_MKTIME.
93268
93269 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93270
93271         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93272
93273 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93274
93275         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93276         not CPPFLAGS, so that linking works correctly in IRIX.
93277
93278 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93279
93280         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93281
93282 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93283
93284         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93285         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93286         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93287         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93288         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93289
93290         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93291
93292 1999-04-20  Jim Meyering  <meyering@ascend.com>
93293
93294         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93295         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93296         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93297
93298 1999-04-18  Jim Meyering  <meyering@ascend.com>
93299
93300         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93301         * m4/jm-macros.m4: Use it.
93302
93303 1999-04-06  Jim Meyering  <meyering@ascend.com>
93304
93305         * m4/strftime.m4: Remove test for %f.
93306
93307 1999-03-29  Jim Meyering  <meyering@ascend.com>
93308
93309         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93310         superset of the AC_TYPE_* checks in the textutils, fileutils,
93311         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93312         AC_TYPE_PID_T.
93313
93314 1999-03-28  Jim Meyering  <meyering@ascend.com>
93315
93316         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93317         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93318         replaced e.g., in the *.sh files of the sh-utils.
93319
93320 1999-03-20  Jim Meyering  <meyering@ascend.com>
93321
93322         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
93323         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
93324         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
93325
93326 1999-03-19  Jim Meyering  <meyering@ascend.com>
93327
93328         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
93329
93330 1999-03-12  Jim Meyering  <meyering@ascend.com>
93331
93332         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
93333
93334 1999-03-07  Jim Meyering  <meyering@ascend.com>
93335
93336         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93337         declared.
93338
93339 1999-02-17  Jim Meyering  <meyering@ascend.com>
93340
93341         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93342         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93343
93344 1999-02-07  Jim Meyering  <meyering@ascend.com>
93345
93346         * m4/group-member.m4: New file -- extracted from sh-utils'
93347         configure.in.
93348
93349         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93350         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93351
93352 1999-02-06  Jim Meyering  <meyering@ascend.com>
93353
93354         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
93355         * m4/fnmatch.m4: Likewise.
93356         * m4/getgroups.m4: Likewise.
93357         * m4/lstat.m4: Likewise.
93358         * m4/malloc.m4: Likewise.
93359         * m4/putenv.m4: Likewise.
93360         * m4/realloc.m4: Likewise.
93361         * m4/regex.m4: Likewise.
93362         * m4/stat.m4: Likewise.
93363         * m4/strftime.m4: Likewise.
93364         Suggestion from Alain Magloire.
93365
93366         * m4/chown.m4: Use `.$ac_objext', not `.o'.
93367         * m4/fnmatch.m4: Likewise.
93368         * m4/getgroups.m4: Likewise.
93369         * m4/getline.m4: Likewise.
93370         * m4/lstat.m4: Likewise.
93371         * m4/malloc.m4: Likewise.
93372         * m4/memcmp.m4: Likewise.
93373         * m4/putenv.m4: Likewise.
93374         * m4/realloc.m4: Likewise.
93375         * m4/regex.m4: Likewise.
93376         * m4/stat.m4: Likewise.
93377         * m4/strftime.m4: Likewise.
93378         Suggestion from Alain Magloire.
93379
93380         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
93381         an argument.
93382
93383         * m4/regex.m4: Add a run-time Test for proper operation of
93384         re_compile_pattern.
93385
93386 1999-01-31  Jim Meyering  <meyering@ascend.com>
93387
93388         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
93389
93390 1999-01-30  Jim Meyering  <meyering@ascend.com>
93391
93392         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
93393
93394         * m4/jm-mktime.m4: Make this a wrapper around the official
93395         AM_FUNC_MKTIME rather than my private copy, now that the official one
93396         is up to date.
93397         * m4/mktime.m4: Remove file.
93398
93399         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
93400         * m4/uptime.m4: Likewise.
93401         * m4/uintmax_t.m4: Likewise.
93402
93403 1999-01-28  Jim Meyering  <meyering@ascend.com>
93404
93405         * m4/jm-macros.m4: Use jm_AFS.
93406         * m4/afs.m4: New file (from fileutils' configure.in).
93407
93408         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
93409         * m4/chown.m4: Likewise.
93410         * m4/d-ino.m4: Likewise.
93411         * m4/d-type.m4: Likewise.
93412         * m4/fnmatch.m4: Likewise.
93413         * m4/getgroups.m4: Likewise.
93414         * m4/gettext.m4: Likewise.
93415         * m4/jm-mktime.m4: Likewise.
93416         * m4/jm-winsz2.m4: Likewise.
93417         * m4/lcmessage.m4: Likewise.
93418         * m4/ls-mntd-fs.m4: Likewise.
93419         * m4/malloc.m4: Likewise.
93420         * m4/memcmp.m4: Likewise.
93421         * m4/putenv.m4: Likewise.
93422         * m4/realloc.m4: Likewise.
93423         * m4/st_mtim.m4: Likewise.
93424         * m4/strftime.m4: Likewise.
93425
93426 1999-01-16  Jim Meyering  <meyering@ascend.com>
93427
93428         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
93429         (ARGMATCH_DIE_DECL): Define.
93430
93431 1999-01-12  Jim Meyering  <meyering@ascend.com>
93432
93433         * m4/Makefile.am.in: Rewrite to avoid using fmt.
93434         Reported by Lars Hecking.
93435
93436 1999-01-10  Jim Meyering  <meyering@ascend.com>
93437
93438         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
93439         gross kludge.
93440         * m4/inttypes_h.m4: Likewise.
93441         * m4/lstat.m4: Likewise.
93442         * m4/malloc.m4: Likewise.
93443         * m4/readdir.m4: Likewise.
93444         * m4/realloc.m4: Likewise.
93445         * m4/st_dm_mode.m4: Likewise.
93446         * m4/stat.m4: Likewise.
93447         * m4/utimbuf.m4: Likewise.
93448         * m4/utimes.m4: Likewise.
93449
93450         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
93451         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
93452         comments in config.h.in are meaningful.
93453
93454         * m4/jm-macros.m4: Require autoconf-2.13 here.
93455
93456         * m4/regex.m4: By default, don't use the included regex.c on systems
93457         with glibc 2.  Suggestion from Uli Drepper.
93458
93459 1999-01-02  Jim Meyering  <meyering@ascend.com>
93460
93461         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
93462
93463 1998-12-18  Jim Meyering  <meyering@ascend.com>
93464
93465         * m4/Makefile.am.in (Makefile.am): Simplify rule.
93466         Based on a suggestion from Lars Hecking.
93467
93468 1998-11-16  Paul Eggert  <eggert@twinsun.com>
93469
93470         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
93471
93472 1998-11-16  Jim Meyering  <meyering@ascend.com>
93473
93474         * m4/lfs.m4: Double-quote the `uname...` expression.
93475
93476 1998-11-14  Jim Meyering  <meyering@ascend.com>
93477
93478         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
93479         * m4/stat.m4: Likewise.
93480
93481 1998-11-03  Jim Meyering  <meyering@ascend.com>
93482
93483         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
93484         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
93485
93486 1998-10-18  Jim Meyering  <meyering@ascend.com>
93487
93488         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
93489
93490 1998-10-17  Jim Meyering  <meyering@ascend.com>
93491
93492         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
93493         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
93494         calls for those previously hard-coded headers.  Instead, take a new
93495         parameter.
93496         (jm_CHECK_DECLARATIONS): Reflect interface change.
93497         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
93498         (jm_CHECK_DECL_LOCALTIME_R): New macro.
93499
93500         * m4/mktime.m4: Test for spring-forward gap before long-running test.
93501
93502 1998-10-14  Jim Meyering  <meyering@ascend.com>
93503
93504         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
93505         instead of "TZ=America/Vancouver".  From Paul Eggert.
93506
93507 1998-10-11  Jim Meyering  <meyering@ascend.com>
93508
93509         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
93510         This adds a test for a recently added compatibility fix for mktime.c.
93511         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
93512
93513 1998-09-27  Jim Meyering  <meyering@ascend.com>
93514
93515         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
93516
93517         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
93518         ../configure.in, including a change from Gordon Matzigkeit to allow
93519         cross-compiling for the Hurd.
93520
93521         * m4/glibc.m4: New file/macro to test for the GNU C Library
93522         versions 1 and 2.  From Gordon Matzigkeit.
93523         Indent.
93524
93525 1998-09-21  Jim Meyering  <meyering@ascend.com>
93526
93527         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
93528
93529 1998-08-18  Paul Eggert  <eggert@twinsun.com>
93530
93531         Port nanosecond-resolution times to UnixWare 2.1.2 and
93532         pedantic Solaris 2.6.
93533
93534         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
93535         AC_STRUCT_ST_MTIM.
93536         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
93537         Generate name of ns member, instead of just 1 or undef.
93538         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
93539
93540 1998-08-15  Jim Meyering  <meyering@ascend.com>
93541
93542         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
93543         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
93544         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
93545         instead of jm_TYPE_SSIZE_T.
93546
93547 1998-08-12  Jim Meyering  <meyering@ascend.com>
93548
93549         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
93550
93551 1998-08-02  Jim Meyering  <meyering@ascend.com>
93552
93553         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
93554         in acconfig.h manually.
93555
93556 1998-07-31  Paul Eggert  <eggert@twinsun.com>
93557
93558         * m4/st_mtim.m4: New file.
93559
93560 1998-07-28  Jim Meyering  <meyering@ascend.com>
93561
93562         * m4/utimes.m4: Undef stat.
93563
93564 1998-07-25  Jim Meyering  <meyering@ascend.com>
93565
93566         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
93567         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
93568
93569 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
93570
93571         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
93572         uid and gid actually remain unchanged.
93573
93574 1998-07-07  Jim Meyering  <meyering@ascend.com>
93575
93576         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
93577
93578 1998-07-04  Jim Meyering  <meyering@ascend.com>
93579
93580         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
93581         to prove that this macro can be used in packages without regex.c.
93582
93583 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
93584
93585         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
93586         is to be used.
93587
93588 1998-07-03  Jim Meyering  <meyering@ascend.com>
93589
93590         * m4/gettext.m4: Add -lintl if it's found to be necessary.
93591
93592         * m4/gettext.m4: New file -- from gettext-0.10.35.
93593         * m4/lcmessage.m4: Likewise.
93594         * m4/progtest.m4: Likewise.
93595
93596         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
93597         * m4/jm-macros.m4: Require the new macro.
93598
93599 1998-06-29  Jim Meyering  <meyering@ascend.com>
93600
93601         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
93602         for the definition of NGROUPS (used in a system header included
93603         by sys/mount.h).
93604
93605 1998-06-28  Jim Meyering  <meyering@ascend.com>
93606
93607         * m4/ls-mntd-fs.m4: New file.
93608         * m4/fstypename.m4: New file.
93609
93610         * m4/jm-macros.m4: Require the new macro.
93611         * m4/jm-glibc-io.m4: New file.
93612
93613 1998-05-19  Jim Meyering  <meyering@ascend.com>
93614
93615         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
93616         * m4/lchown.m4: New file.
93617
93618         * m4/Makefile.am.in: New file.
93619         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
93620
93621 1998-05-14  Jim Meyering  <meyering@ascend.com>
93622
93623         * m4/Makefile.am (EXTRA_DIST): Add them.
93624         * m4/jm-macros.m4: New file.
93625         * m4/utimbuf.m4: New file.
93626
93627 1998-05-12  Jim Meyering  <meyering@ascend.com>
93628
93629         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
93630
93631 1998-05-11  Jim Meyering  <meyering@ascend.com>
93632
93633         * m4/isc-posix.m4: New file.
93634
93635 1998-05-10  Jim Meyering  <meyering@ascend.com>
93636
93637         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
93638
93639 1998-05-09  Jim Meyering  <meyering@ascend.com>
93640
93641         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
93642         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
93643         with automake.
93644
93645         * m4/ssize_t.m4: New file.
93646         * m4/mktime.m4: Remove file -- the new automake has this now.
93647
93648 1998-04-26  Jim Meyering  <meyering@ascend.com>
93649
93650         * m4/assert.m4: New file.
93651         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
93652
93653 1998-04-05  Jim Meyering  <meyering@ascend.com>
93654
93655         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
93656         (jm_PREREQ): Use it here.
93657
93658 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
93659
93660         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
93661         in acconfig.h.
93662
93663 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
93664
93665         * m4/prereq.m4: New file.
93666         * m4/error.m4: New file.
93667         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
93668
93669 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
93670
93671         * m4/getline.m4: Don't set am_cv_func_working_getline before the
93672         cache-check for the same variable -- that defeated the purpose of
93673         the test; the test program was never run.  This was a problem only
93674         on systems with losing getline functions -- HP-UX 10.20 is one.
93675         Reported by Bjorn Helgaas.
93676
93677 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
93678
93679         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
93680
93681 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
93682
93683         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
93684
93685         * m4/const.m4: New file.  Use an initializer in this declaration
93686         typedef int charset[2]; const charset x;
93687         Reported by Bob Glickstein.
93688
93689 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
93690
93691         * m4/chown.m4: Fix reversed types on -1 args to chown.
93692         From Kaveh Ghazi.
93693
93694 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
93695
93696         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
93697         Add lseek and memchr.
93698
93699         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
93700         T.E.Dickey <dickey@clark.net> said that some older preprocessors
93701         have a 20-character limit on names.
93702
93703 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
93704
93705         * m4/inttypes_h.m4: New file.
93706         * m4/uintmax_t.m4: New file.
93707         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
93708
93709
93710         -----
93711
93712         Local Variables:
93713         coding: utf-8
93714         End:
93715
93716         Copyright (C) 1997-2012 Free Software Foundation, Inc.
93717
93718         Copying and distribution of this file, with or without
93719         modification, are permitted provided the copyright notice
93720         and this notice are preserved.